So-netのv6プラスでの運用を始めて半年ほど経ちましたが、その後 Yamaha の RTX830 へ行った追加の設定をいくつかまとめてメモしておきます。過去の経緯については以下の記事をご覧下さい。
■ v6プラスと併用する為にIPv4 PPPoE の設定を追加
So-net では今のところv6プラスと IPv4 PPPoE の併用することが可能です。そこで、pp1 として IPv4 PPPoE 接続用の設定を追加して必要に応じて経路を切り替えすることができるように準備しておく事にしました。パケットフィルタ部分は省略しているので適宜投入してください。
# IPv4 PPPoE設定 pp select 1 description pp "So-net IPv4 PPPoE" pp keepalive use lcp-echo pp keepalive interval 30 retry-interval=30 count=6 pp always-on on pppoe use lan2 pppoe auto connect on pppoe auto disconnect off pp auth accept pap chap pp auth myname *******@***.so-net.ne.jp (回線接続用パスワード) ppp lcp mru on 1454 ppp ipcp ipaddress on ppp ipcp msext on ppp ccp type none ip pp mtu 1454 ip pp secure filter in (必要なものを適宜) ip pp secure filter out (必要なものを適宜) ip pp nat descriptor 2000 ip pp tcp mss limit auto pp enable 1
# NAT設定 nat descriptor type 2000 masquerade nat descriptor address outer 2000 ipcp nat descriptor address inner 2000 192.168.100.1-192.168.100.254 nat descriptor timer 2000 600 nat descriptor timer 2000 tcpfin 30
経路切り替えには「フィルタ型ルーティング」を使用することにしました。今回は PS4 の通信を PPPoE の方に逃がしてみることにします。192.168.100.xxx は PS4 に割り当てたアドレスです。混乱を避ける為にも機器に割り当てるアドレスは「dhcp scope bind」コマンドで予め固定しておくことを強くお勧めします。Playstation Network の特に PlayStation Plus などのアカウント関係の設定はv6プラスでは上手く出来ない(タイムアウトしてしまう?)ことがあるのですよね。ゲームのダウンロードなど通常使用時はv6プラスで通信させた方が快適なので、必要なときだけ下の「ip route default gateway~」のコマンドを打ち込んで切り替える事にしました。
# 通常時 ip route default gateway tunnel 1 # 振り分けたい場合 ip route default gateway pp 1 filter 1 gateway tunnel 1 ip filter 1 pass 192.168.100.xxx * * * *
これで1番のフィルタに合致する機器(今回は PS4)は PPPoE で、その他の機器はv6プラスでの通信に振り分けることが出来ます。尚、フィルタは「filter 1 2 3 4 5 6 」などのように間にスペースを入れて併記することが可能です。この場合はフィルタ 1~6 にマッチする機器は PPPoE で、そうでない機器はv6プラスで通信する事になります。ネット接続の監視カメラやサーバー公開時などに便利です。
都度コマンド打ち込み(コピペ)で切り替えてもいいかなと思っていたのですが、「hide」パラメータを使えば GUI 上で簡単に経路の切り替えが出来そうな気がしたので下記の様に書き換えて試してみました。
ip route default gateway pp 1 filter 1 hide gateway tunnel 1 pp select 1 pppoe auto connect off
このようにしておく事で PPPoE がリンクアップしている時だけ filter 1 の機器は pp 1に、それ以外の機器は tunnel 1 で通信させ、PPPoE がリンクダウンしていれば全ての通信が tunnel 1 に流れるはずです。PPPoE の接続・切断は WebGUI の「簡単設定」→「プロパイダ接続」から簡単に行えます。また、意図的に切り替えを行う為に自動再接続機能は切っておきます。実際に設定して接続・切断時の挙動をそれぞれ PlayStation Video を再生しながら RTX830 のダッシュボードでトラフィックを見てみたところ想定通りに上手く経路が切り替わっていました。
このようなフィルタ型ルーティングは FQDN(Fully Qualified Domain Name)フィルターの設定時にも有効です。例えば「ip filter 10 pass * so-net.ne.jp,*.so-net.ne.jp」というフィルタを適用しておけば So-net 向けの通信を意図した手段で流すことが出来ます。PowerShell の「tracert」コマンドなどを使えば経路が意図通りに切り替わっているかどうか確認することができます。RTX830 には電話に関する機能は無いので実際に試したわけではないのですが、FQDN フィルターは IP電話をv6プラスと PPPoE の併用環境で利用する際などにも使えるのではないかと思います。NVR510/700W をお持ちで興味のある方は以下のリンクも参考に頑張ってみてください。(もしダメだったらごめんなさい。\(__ ))
(参考)フィルタ型ルーティング(Yamaha)
FQDN フィルター機能(Yamaha)
■ DNSサーバーを Public DNS に設定
時々 So-net の DNSサーバーが障害を起こしたり反応が悪くなったりしているようなので Public DNS を設定しておくことにしました。今までは以下の様に設定していたのですが、
dns host lan1 dns service fallback on dns server dhcp lan2 dns server select 500000 dhcp lan2 any . dns private address spoof on
Primary に Cloudflare の DNSサーバーを、Secondary に Google のものを使うようにしてみました。ついでに DNSのキャッシュもデフォルト値の 256から最大値の 1024に増やしておきました。
dns host lan1 dns service fallback on dns server 2606:4700:4700::1111 2001:4860:4860::8888 1.1.1.1 8.8.8.8 dns cache max entry 1024 dns server select 500000 2606:4700:4700::1111 2001:4860:4860::8888 aaaa . dns server select 500001 1.1.1.1 8.8.8.8 any . restrict pp 1 dns private address spoof on
(参考)DNS の設定(Yamaha)
■ 機器IPアドレスバインド指定の見直し
接続する機器が増えてきたのでルーター関係は 1桁番台、PC やタブレットは 11番以降というように区別しやすく整理してみました。その際に新しく繋いだ機器に勝手に空いているアドレスが割り当てられないように「except」パラメーターを使って 1桁番台の空きはルーターやスイッチなどネットワーク基幹部分の機器用に予約しておくことにしました。また、この例では 20番~29番もリザーブしているので今後新しく接続した機器は 30番以降のアドレスが割り当てられる様になります。このように「空白」で区切って複数の範囲を指定してやることも可能です。
dhcp scope 1 192.168.100.2-192.168.100.191/24 except 192.168.100.3-192.168.100.10 192.168.100.20-192.168.100.29
■ RTX830 配下のPCから HGW の管理画面にアクセスする為の設定を追加
HGW の配下に RTX830 を繋いでいる場合、LANのセグメントが異なるのでそのままでは RTX830 配下のPCから HGW(PR-S300NE)の管理画面を開くことはできません。ほとんど使う事はないのでまあ物理的に都度ケーブルを繋ぎ替えてもいいのですが、やはり面倒なので直接アクセスできるようにしておくことにします。
事前準備としてまず一旦 PC と HGW を直結して静的ルーティングの設定を施しておきます。HGW の管理画面に入ったら「詳細設定」→「静的ルーティング設定」でリストの「編集」ボタンを押して「指定方法」に「宛先IPアドレス指定」、宛先IPアドレス「192.168.100.0」、ネットマスク「255.255.255.0」、「インターフェース」を「LAN側」に指定し、「ゲートウェイ」を「192.168.1.254」として「設定」ボタンを押します。一つ前の画面に戻ったら先ほど設定した「エントリ番号」にチェックを入れて「設定」ボタンを押しておく事。以前これを忘れて悩んだ事があります。
RTX830 の方には以下の設定を追加します。
ip lan2 address 192.168.1.254/24
これでブラウザで「192.168.1.1」と打てば物理的に繋ぎ替えなくても HGW の管理画面にアクセスできるようになります。こちらの設定については以下のブログも参考にさせて頂きました。
■ 外側から受信したパケットに該当する変換テーブルが存在しない時の動作を変更
@yamaha_sn さんの twitter で提案されていたので入れてみました。IPマスカレードで外側から受信したパケットに該当する変換テーブルが存在しないときの動作をデフォルトの「reject(破棄して RST を返す)」から「discard(破棄して何も返さない)」に変更するコマンドです。ポートスキャンなどを受けた場合にルーターの存在自体を知られずに済むそうです。
nat descriptor masquerade incoming 1000 discard nat descriptor masquerade incoming 2000 discard
(参考)外側から受信したパケットに該当する変換テーブルが存在しないときの動作の設定
(Yamaha)
今回はとりあえずこの辺で。