sshおよび動的IP

自宅にadslモデムとルーターがあります。 また、sshを介してホームマシンに常時アクセスしたいという願いがありますが、それは不運です-モデムのIPは静的ではなく、まったく逆です-動的で、現在のアドレスを見つけます。 家の外にいることは不可能です。 ただし、これを事前に準備しない場合のみ=)



自分でip-shnikを入手するためのすべての可能性を作成する計画で武装し、各システムブートでipモデムを認識し、それをFTPサーバー上のファイルにアップロードする小さなスクリプトをスケッチしました。最後にモデムに割り当てられたip起動し、転送されたポートを介してホームマシンに接続します=)



便宜上、機能を2つの部分(スクリプト自体と構成)に分割し、すべてを小さなdebパッケージに入れました。



スクリプトコード:



#!/ bin / bash



###開始情報の開始

#提供:get-ip

#必須開始:$ local_fs $ remote_fs

#必須:$ local_fs $ remote_fs

#デフォルト開始:2 3 4 5

#デフォルト停止:0 1 6

#簡単な説明:システムでIPを検出するためのデーモンのセットアップ

###終了情報の終了



。 /etc/get-ip.conf



if [$ {ftp_host} = ""]; それから

echo "プログラムが設定されていません! ホスト:$ ftp_host»

出口1;

fi



wget -qO / tmp / ip_tmp myip.ru && cat / tmp / ip_tmp | grep -e " 。* 「| sed」s / // g "| sed "s / <\ / TD> <\ / TR> // g" | sed "s / // g"> $ upload_file_name && rm / tmp / ip_tmp



#echo $ upload_file_name



ftp -n $ ftp_host << EOF

ユーザー$ ftp_name $ ftp_pass

$ upload_file_nameを削除

$ upload_file_nameを送信

さようなら

Eof



rm $ upload_file_name



エコー「IP変更」



実際、スクリプトはまったく複雑なものではありません。パッケージをインストールすると、システムの起動時に呼び出されるスクリプトにこのスクリプトが追加されますが、ソリューションは合理的ではないかもしれません。 、しかし、このオプションは家庭用マシンで私によく合います。 誰かがそれを気に入らない場合は、ソースを簡単に修正できます。これは、既に構築されているパッケージget-ip.tar.gzとともにこのリンクから入手できるためです。



PS:インストール後、/ etc / get-ip.confファイルを編集してftpを使用する必要があります。 誰かがあなたのIPを取得するためのより効果的で松葉杖のような方法を教えてくれたら、感謝します=)



All Articles