タイトルそのままですが、Nuro光では特に制限なくポートを開放できるので、ラズパイのPPPoEを止めて、ONUの設定でラズパイを外部に公開するようにしました。
概要
流れ的にはこんな感じ。
- PPPoEの設定削除とネットワークの設定を変更
- ONU(SGP200W)でDMZの設定をする
- ラズパイのシャットダウン→ ドコモ光のTAからNURO光のONUに接続を変更
- ラズパイを起動する
対象のラズパイは下記のような用途で使っているものです。
[Raspberry pi4] Docker でメールサーバー(Postfix + Dovecot)を建てる。
(※実は↑の設定では、意図しないポートが開放されているのに、気づかずに運用していました。)
試した環境
Raspberry Pi4 (RAM 8GB)
Ubuntu 20.10 (arm64)
NURO光のONU SGP200W
PPPoEの設定削除とネットワークの設定を変更
50-cloud-init.yaml の設定を変更します。固定IP 192.168.1.40 、gateway4、DNS(nameservers)をONUに向けています。
# vi /etc/netplan/50-cloud-init.yaml
network:
ethernets:
eth0:
dhcp4: no
dhcp6: no
addresses:
- 192.168.1.40/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 192.168.1.1
- 8.8.8.8
match:
driver: bcmgenet smsc95xx lan78xx
optional: true
set-name: eth0
version: 2
/etc/network/interfaces に PPPoEの設定が含まれているのでコメントアウトor削除します。
# vi /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
# auto dsl-provider
# iface dsl-provider inet ppp
# iface inet ppp
# pre-up /bin/ip link set eth0 up # line maintained by pppoeconf
# provider dsl-provider
auto eth0
iface eth0 inet manual
ONU(SGP200W)でDMZの設定をする
NURO光のONUの管理画面にログインします。ONUのデフォルトのIPアドレスは192.168.1.1です。
ブラウザから http://192.168.1.1/ にアクセスし、アカウント admin パスワードはONUに書いてあるWIFIの初期パスワード「Key(WPA)に書いてあるもの」でログインします。
初回ログイン時に、パスワード変更の画面がでますが、適当に対処し、
「転送ルール」 → 「ポートマッピング設定」画面を開きます。
開放したいポートの分だけマッピングを追加していきます。
適用ボタンを押したら、設定は即時反映され、ポートが開放されます。
最初は、ポートマッピングではなくDMZを使ってみたのですが、Dockerコンテナの意図しないポートが空いているのが判明したので、DMZはやめてポートマッピングで設定しました。Docker側での対処法もあるとのことですが、毎回それを意識するのも大変ですし。🍣
参考:公開ホストのセキュリティがガバガバだった話
https://www.ryotosaito.com/blog/?p=492
次に、LAN内からもドメイン名(nosubject.io)でラズパイにアクセスできるように、「スタティックDNS設定」を追加しておきます。
「ネットワークアプリ」→ 「DNS設定」を開きます。
「新規作成」ボタンをクリックします。
グローバルIPアドレスに紐付いているドメイン名とラズパイのIPアドレスを入力し、「適用」ボタンをクリックします。
これをやっておかないと、LAN内からグローバルIPアドレスにはアクセスできない(ドメイン名を使ってラズパイにアクセスできない)ので、とても不便です。この設定だけで、hostsファイルに書いたり、内部のDNSで対処する必要もなくなるので便利です。
参考:NUROのONU機器の説明書
https://www.nuro.jp/device.html
接続の切り替える
ラズパイをシャットダウンし、NURO光のONUのLANポートに接続します。
電源を入れ、ダイナミックDNSの反映がされれば完了です。LANからのnslookupでは、該当するドメインのアドレスは、192.168.1.40に、外部からは グローバルIPになっていればOKです。
このへんを使って、意図したポートだけが開放されているかもチェックしておきましょう。
https://pentest-tools.com/network-vulnerability-scanning/tcp-port-scanner-online-nmap#
ドコモ光のTAには「スタティックDNS設定」がなかった?ので、今回使ってみたら地味に便利。これから公開する場合は、「ポートマッピング設定」だけやれば良いですね。
おまけ
ドコモ光 1G
NURO光 2G
ドコモ光でも通信速度に不満はなかったのだけど、NURO光にしたら、ちゃんと体感できるほど早くなりました。めでたし。
コメント