[RaspberryPi]ドコモ光からNuro光に変えたので、PPPoE接続をやめて普通のポート開放に変更した

Linux

タイトルそのままですが、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光にしたら、ちゃんと体感できるほど早くなりました。めでたし。

コメント