基本的な機能はすべて完了しましたが、現時点ではローカルネットワーク内でのみ使用できます。次に、会社や学校、どこからでも自宅のラズベリーパイにアクセスできるようにする必要があります。
電信は動的に IP を割り当てるため、外部からアクセスするには外部 IP を取得する必要があります。
2 つの方法があります。1 つ目は Peanut Shell ダイナミック DNS を使用する方法ですが、この方法はあまりにも簡単すぎるため、ここでは説明しません。ここでは 2 つ目の方法について説明します。
まず、ルーターでラズベリーパイの静的アドレスを設定します:DHCPサーバー
-静的アドレスの予約
:
192.168.1.104
にバインドし、次にポートマッピングを設定します:転送ルール
-仮想サーバー
:
サーバーポートは任意に設定できますが、内部ポートは次のとおりです:
- 22:SSH ポート。
- 6800:これは Aria2 RPC のデフォルトポートであり、サーバーと内部ポートが一致する必要がある唯一のポートです。
- 5901:これは VNC ポートです。
- 80:これは Aria2 のダウンロード管理ページです。
次に、外部 IP を取得する必要があります。次のコマンドを実行します:
git clone --depth=1 https://github.com/LJason77/Report-IP-hourly.git ~/rootcrons/
~/rootcrons/reportip.py
を編集し、smtpserver
、username
、password
、sender
、receiver
、subject
を変更します(メールボックスで SMTP サービスを有効にする必要があります):
- smtpserver:SMTP サーバー
- username:SMTP にログインするためのユーザー名
- password:パスワード
- sender:送信者(SMTP ログインアカウントと一致する必要があります。通常、メールボックスアカウントです)。
- receiver:受信者リスト
- subject:メールの件名
次の部分を見つけます:
http://1111.ip138.com/ic.asp
これを次のように変更します:
http://members.3322.org/dyndns/getip
次のコマンドを実行します:
sudo crontab /home/pi/rootcrons/rootcron
sudo /etc/init.d/cron restart
起動時に IP を自動的に検出するためのサービスを開始します。/etc/rc.local
を編集し、次の行を追加します:
/usr/bin/python /home/pi/rootcrons/reportip.py
IP の検出頻度を変更するには、/var/spool/cron/crontabs
を編集します:
*/5 * * * * /usr/bin/python /home/pi/rootcrons/reportip.py
5 分ごとに検出します。詳細なパラメータについては、自分で Google で調べてください:crontab。これで IP を変更するだけで、5 分以内に最新の IP をメールで受け取ることができます。
参考文献