このガイドは、No-IPを使用したDynamic DNS(DDNS)とZeroTierを使用したVPNを使用して、OpenWRTルーターへのリモートアクセスをセキュアに設定するための詳細な手順を提供します。提供されたスクリプトはインストールと設定プロセスを自動化し、ユーザーがどこからでもルーターにリモートアクセスできるようにします。
追加のサポートについては、OpenWRTフォーラムをご覧ください。
前提条件
- OpenWRTルーター:ルーターがOpenWRT 19.07を実行していることを確認してください。
- No-IPアカウント:No-IPまたは他のDynamic DNSサービスでアカウントを作成してください。
- ZeroTierアカウント:ZeroTierでアカウントを作成してください。
- SSHアクセス:ルーターへのSSHアクセスが有効になっていることを確認してください。
設定手順
- No-IPホスト名を作成する
No-IPアカウントを作成する:
- No-IPのウェブサイトにアクセスしてアカウントを作成します。
ホスト名を作成する:
- No-IPアカウントにログインします。
- 「Dynamic DNS」セクションに移動します。
- 「ホスト名を追加」をクリックします。
- ホスト名(例:deadtest)を入力し、ドメイン(例:ddns.net)を選択します。
-
「ホスト名を追加」をクリックします。
-
スクリプトを準備する
次のスクリプトをsetup_remote_access.sh
としてローカルマシンに保存し、次の変数を変更してください:
-
スクリプトをダウンロードする: setup_remote_access.sh
# 変数を定義する NETWORK_ID='<networkID string>' # 実際のネットワークIDに置き換えてください DOMAIN='<No-IP hostname>' # No-IPホスト名 USERNAME='<No-Username NOT EMAIL!>' # No-IPのユーザー名に置き換えてください PASSWORD='<Username password>' # No-IPのパスワードに置き換えてください
-
スクリプトを実行する
-
スクリプトをアップロードする:
setup_remote_access.sh
スクリプトをルーターにアップロードします。<router_ip>
をルーターのIPアドレスに置き換えてください。scp setup_remote_access.sh root@<router_ip>:/tmp/
-
ルーターでスクリプトを実行する:
ssh root@<router_ip> sh /tmp/setup_remote_access.sh
-
ZeroTier Centralでデバイスを承認する
-
ZeroTier Centralにログインする:
- ZeroTier Centralダッシュボードにアクセスしてログインします。
-
デバイスを承認する:
- 指定したネットワークの下にあるデバイスを見つけて承認します。
-
設定を確認する
ルーター上で:
-
DDNSステータスを確認する:
/etc/init.d/ddns status
-
DDNSを強制更新する:
/usr/lib/ddns/update_noip.sh
-
ZeroTierステータスを確認する:
zerotier-cli status zerotier-cli listnetworks
ローカルマシン上で:
-
DDNS更新を確認する:
nslookup deadtest.ddns.net
-
SSHアクセスをテストする:
-
DDNSホスト名を使用:
ssh [email protected]
-
ZeroTier IPアドレスを使用:
ssh root@<zerotier_ip_address>
-
トラブルシューティング
-
DDNSの問題:
- No-IPの資格情報が正しいことを確認してください。
- DDNS更新スクリプトが実行可能であることを確認してください。
- DDNS更新ログ(/var/log/ddns/)にエラーがないか確認してください。
-
ZeroTierの問題:
- ZeroTierサービスが実行中であることを確認してください。
- デバイスがZeroTier Centralで承認されていることを確認してください。
- ネットワーク接続の問題がないか確認してください。
-
SSHアクセスの問題:
- SSHサービスが実行中であることを確認してください(/etc/init.d/dropbear status)。
- SSHアクセスを許可するようにファイアウォールルールが正しく構成されていることを確認してください。
結論
このガイドに従うことで、No-IP DDNSとZeroTier VPNを使用してOpenWRTルーターへのセキュアなリモートアクセスを設定できます。この設定により、インターネット接続があればどこからでもルーターを管理でき、利便性とセキュリティの両方を提供します。
追加のセキュリティ:SSHキーの使用
セキュリティを強化し、ブルートフォース攻撃のリスクを最小限に抑えるために、パスワードの代わりにSSHキーを使用することをお勧めします。
SSHキーを生成する
ローカルマシンで、まだSSHキーを持っていない場合はSSHキーを生成します:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
これにより、公開鍵(~/.ssh/id_rsa.pub)と秘密鍵(~/.ssh/id_rsa)が作成されます。
公開鍵をルーターにコピーする
公開鍵をルーターにコピーして貼り付けます(https://192.168.1.1/cgi-bin/luci/admin/system/admin/sshkeys)。
cat ~/.ssh/id_rsa.pub
パスワード認証を無効にする
公開鍵をコピーした後、ブルートフォース攻撃を防ぐためにルーターでパスワード認証を無効にします:
-
Dropbearの設定を編集する:
vi /etc/config/dropbear
-
パスワード認証を無効にするように設定を変更する:次の行を追加するか、既に存在する場合は変更します:
```sh
config dropbear option PasswordAuth 'off' option RootPasswordAuth 'off'
```
-
Dropbearサービスを再起動する:
/etc/init.d/dropbear restart
SSHキー認証をテストする
ルーターにSSHで接続して、キー認証が機能し、パスワード認証が無効になっていることを確認します:
ssh root@<router_ip>
パスワードを求められずに認証が成功した場合、SSHキー認証が正しく設定されています。