TL; DR:ルーターにポート転送ルールがまだ存在するかどうかを確認するLinuxホスト(Raspberry Pi上のFedora)で定期的に実行されるスクリプトまたはcronジョブを探しています。そうでない場合は追加してください。目的は、ホームネットワーク外のインターネット上の任意のマシンから、SSH、VNC、および伝送Webインターフェイスを介してRaspberry Pi Linuxホストに常にアクセスできるようにすることです。セットアップは以下のとおりです。
ルーター:
Beetel 440Tx1 ADSL2ルーター+モデム+ WiFi。
セットアップ:
ルーターはインターネット(ISPブロードバンド)に接続され、動的な外部IPを持っています。 DHCPとしても機能する内部IP 192.168.x.yを使用して、コンピューターにプライベートホームネットワークを提供します。
ホスト:
Raspberry Pi ARM Fedora Linuxを備えたホストで、起動時に常にssh、vnc、transmission-daemonサーバーが起動します。また、no-ip.com dyndnsフリーDUC(動的更新クライアント)は、外部IPを定期的にチェックし、ホスト文字列にバインドしますしたがって、myrouter.no-ip.org。piには192.168.1.zのような静的な内部IPがあります。
ポート転送:
イーサネットケーブルまたはパスワードで保護されたwi-fiのいずれかを介してネットワークに接続されている場合にのみ、工場の認証情報でGUI /ブラウザを使用してルーターにログインする必要があります
http://192.168.1.1/html/index1.html
ログインしてルールを設定し、外部IPのポート22、5900、9091にあるトラフィックを192.168.1.zのpiのそれぞれのリスナープログラム(sshd、vncserver、transmission-daemon)に転送します。
問題:
このルーターは、ルーター(ルーター)が再起動されたとき、または電力にスパイクがあり、UPSが一時的に介入する必要がある場合でも、上記のポート転送ルールを失い、通常、ISPから別の外部IPを動的に取得します。
要件:
私のFedora linux piで実行できるスクリプトまたはcronジョブ。ルーターにログインし、定期的にそのポート転送ルールの存在をポーリングして、存在しない場合は作成します。感謝してください。
MiniUPnP は、ポート転送を有効にできるコマンドラインUPnPクライアントです。ソースが利用できるので、それをPiにコンパイルできるはずです。
これはあなたが必要とする構文だと思いますが、それをテストするマシンがありません。あなたはあなたのためにuPnPポートを設定するスクリプトに以下を入れるだけです:
upnpc -a `ifconfig wlan0 | grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1` 22 22 TCP
upnpc -a `ifconfig wlan0 | grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1` 5900 5900 TCP
upnpc -a `ifconfig wlan0 | grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1` 9091 9091 TCP