Summary
- NEC IX2105を中古で購入し、賃貸無料インターネット(プライベートIPが割り当てられる)に対応した環境構築を実施
- シリアルコンソール接続からDCHP有効化、MTU調整まで、一連のセットアップと躓きポイントを記録
- 以前の一般的な無線LANルーターに比較して、スループットの大幅改善にはならないが、安定性向上に寄与した
やらないこと
- IX2105の詳細なスペックや各機能の説明
- 他機種との性能ベンチマーク
- 高度なルーティング設定やVPN設定
本記事における課題
TailscaleのようなWAN側とも頻繁に通信を行う場合に備えて、NEC IX2105を中古で購入した(2,500円)。数万〜10万単位のNAPTセッション数が決め手。早速活用できるよう、初期セットアップを行う必要があった。
特に中古機器特有の問題として、以前に利用されていた際の設定が残存している可能性があり、クリーンな状態からの構築が求められた。
やったこと
1. 事前準備
必要機材の調達
- USB-RJ45コンソールケーブル: 千石電商のケーブル、約1,700円で購入
- ターミナルソフト: Tabby Terminalを利用
接続環境
- クライアント: Mac mini M1
- OS: macOS
- ターミナルソフト: Tabby Terminal
2. IX2105とシリアル接続
PCとルーターの接続
事前に購入したUSB-RJ45コンソールケーブルを使う。ルーター側は CONSOLE
にRJ45ケーブルを接続する。ルーターの電源は入れておく。
Tabby Terminalの設定
画面右上の新規タブの右側に表示されているアイコンをクリックする。
USB-RJ45コンソールケーブルが接続できていれば、自動的にシリアルポートが認識されているので選択する。
転送速度を尋ねられるので「9600」を選択する。
Enterキーを数回押してプロンプトの表示を確認する。
Router>
3. スーパーリセット(CLI)
中古機器のため、以前の設定をクリアにするスーパーリセットを実施。
コンソールケーブルを接続し、ターミナルを開いたままで、電源を再投入する。その後ブートシーケンスが開始されるので、ロード中に Ctrl+C を押す。
NEC Bootstrap Software
Copyright (c) NEC Corporation 2001-2019. All rights reserved.
%BOOT-INFO: Trying flash load, exec-image [ix2105-ms-10.2.42.ldc].
Loading: #### 👈ここでCtrl+C
NEC Bootstrap Software, Version 19.1
Copyright (c) NEC Corporation 2001-2019. All rights reserved.
boot[0]>
その後 cc
を実行してスーパーリセットを実施。確認されるので y
を入力。
boot[0]> cc
Enter "Y" to clear startup configuration: y
% Startup configuration is cleared.
NEC Bootstrap Software, Version 19.1
Copyright (c) NEC Corporation 2001-2019. All rights reserved.
b
を実行し再びブートシーケンスを開始する。その後、そのまま後続手順を実施できる。
boot[0]> b
NEC Bootstrap Software
Copyright (c) NEC Corporation 2001-2014. All rights reserved.
%BOOT-INFO: Trying flash load, exec-image [ix2105-ms-10.2.42.ldc].
Loading: ##################################### [OK]
4. 管理者ユーザー作成(CLI)
工場出荷状態には管理者ユーザーが存在しないため、最初にユーザーアカウントを作成する。
Router# configure
Router(config)# username admin password admin privilege administrator
Router(config)# write memory
TABキーでコマンドの補完が効く。積極的に活用すると良い。
権限には以下が用意されている模様。
administrator -- Administrator level (default)
monitor -- Monitor level
operator -- Operator level
- 工場出荷状態では認証なしでconfigureモードに移行できるが、運用時はセキュリティ上問題
- privilegeレベルはadministratorを指定しないと全機能にアクセスできない
5. IX2105のIPアドレス設定(CLI)
LAN側インターフェースのIPアドレス設定を行う。
Router(config)# interface GigaEthernet1.0
Router(config-GigaEthernet1.0)# ip address 192.168.xxx.xxx/24
Router(config-GigaEthernet1.0)# no shutdown
Router(config-GigaEthernet1.0)# exit
Router(config)# write memory
設定確認
Router# show interface GigaEthernet1.0
Router# show ip interface GigaEthernet1.0
6. Web GUIの有効化(CLI→GUI)
Web管理機能を有効にするため、HTTPサーバーとアクセス制御を設定する。
Router(config)# ip access-list web-http-acl permit ip src any dest 192.168.xxx.xxx/32
Router(config)# http-server username admin password admin
Router(config)# http-server ip enable
Router(config)# http-server ip access-list web-http-acl
Router(config)# write memory
設定内容の詳細
-
ip access-list web-http-acl
: Web GUIアクセス許可IPアドレスの制御 -
http-server username
: Web GUIログイン用のユーザー名とパスワード設定 -
http-server ip enable
: Web GUI機能の有効化 -
http-server ip access-list
: アクセス制御プロファイルの適用
その後ブラウザで http://192.168.xxx.xxx
にアクセスする。
左側の「ログイン」から、設定したWeb GUIログイン用のユーザー名とパスワードにてログインできる。
Web GUIにしばらくしてアクセスできなくなる場合
Web GUI有効化後、ブラウザからアクセスできなくなる現象が発生することがある。この場合、以下のコマンドでHTTPサーバーを再起動することで解決する。
Router# http-server restart
原因について:
現時点では根本的な原因は不明である。設定変更直後にHTTPサーバープロセスが不安定になる可能性が考えられるが、再起動により確実に復旧する。
対処法:
http-server restart
を実行した後、再度Webブラウザでアクセスしてみる。
7. WAN接続設定(GUI)
Web GUIを使用してWAN接続を設定。PPPoEまたはDHCPクライアント設定を実施。
- Web GUIでログインする
- 詳細設定 > WAN > プロバイダの設定 を開く
- PPPoE接続またはIP接続を選択し、適切な値を入力する
- 「反映」をクリックして完了
8. DNS設定(CLI)
DNSサーバーの設定をCLIで実施。
Router(config)# ip name-server [DNSサーバー(スペース区切りで複数指定可能)]
Router(config)# ipv6 name-server [DNSサーバー(スペース区切りで複数指定可能)]
Router(config)# write memory
また、LAN内からDNSの問い合わせを受け、先ほど設定したDNSへ転送するには以下を投入する。DNS proxyとcacheを組み合わせることで、ネットワークの負荷軽減につながる。
Router(config)# proxy-dns ip enable
Router(config)# proxy-dns ipv6 enable
Router(config)# proxy-dns server [転送先のDNSサーバー] priority [優先度]
Router(config)# dns cache enable
動作確認
Router# ping google.com
9. DHCP設定(CLI)
LAN内機器へのIPアドレス自動配布のため、DHCPサーバー機能を設定する。
DHCP設定手順
以下のコンテキストに基づき、DNS proxy/cache機能を含むDHCP設定を実施:
Router(config)# ip dhcp enable
Router(config)# ip dhcp profile [任意のDHCPプロファイル名]
Router(config-dhcp-[任意のDHCPプロファイル名])# assignable-range [DHCPで配布するIPアドレスの始点] [DHCPで配布するIPアドレスの終点]
Router(config-dhcp-[任意のDHCPプロファイル名])# default-gateway [デフォルトゲートウェイのIP]
Router(config-dhcp-[任意のDHCPプロファイル名])# dns-server [DHCPクライアントに利用させるDNSサーバー。DNSプロキシ設定を入れていれば、ルーターのIPアドレス]
Router(config-dhcp-[任意のDHCPプロファイル名])# lease-time [DHCPのリース期間。秒単位]
Router(config)# ip dhcp binding [任意のDHCPプロファイル名]
Router(config)# interface GigaEthernet1.0
Router(config-GigaEthernet1.0)# ip dhcp binding [任意のDHCPプロファイル名]
Router(config-GigaEthernet1.0)# exit
Router(config)# write memory
設定確認
Router# show running-config
10. MTU設定(CLI)
IX2105にはInterfaceに設定したMTUを元に、TCP MSSを自動的に最適化する機能が搭載されている。
基礎知識
MTUとは
MTU(Maximum Transmission Unit)とは、ネットワーク上で1回の送信で扱える最大のデータサイズのことである。
イーサネットの場合、一般的には 1500バイト が標準のMTUとなっている。
MTUは「パケット全体の大きさ」であり、IPヘッダやTCPヘッダなども含めたサイズである。
MSSとは
MSS(Maximum Segment Size)とは、TCP通信で一度に送信できるデータ部分(ペイロード)の最大サイズのことである。
TCPパケットは次のような構造をしている。
[IPヘッダ] + [TCPヘッダ] + [データ部分]
例えば、イーサネットのMTUが1500バイトの場合、
- IPヘッダは 20バイト
- TCPヘッダは 20バイト
となるため、
MSS = MTU - (IPヘッダ + TCPヘッダ)
MSS = 1500 - 40 = 1460バイト
が標準的な値となる。
MTU設定とMSS自動調整
TCP通信では、接続確立時の「3ウェイハンドシェイク」において、各端末が自分のMSSを相手に伝える。
これにより、送信側は「相手が受け取れる最大サイズ」を把握し、そのサイズ以下でデータを分割して送信する。
MTUとMSSの関係
- MSSは、MTUに依存して決まる値である。
- OSやルータは、設定されたMTUからヘッダ分を差し引いてMSSを算出し、通信時に相手へ通知する。
例:
MTU = 1500 → MSS = 1460
MTU = 1400 → MSS = 1360
なぜルーターで自動調整が必要か
もしMSSが適切に調整されなければ、相手が処理できないサイズのパケットを送ってしまい、フラグメンテーション(分割処理)が発生する。
フラグメンテーションは処理の負担を増やし、速度低下や通信エラーの原因になる。
IX2105はMSSを書き換える機能を持っている。WAN側のインターフェースにこの機能を設定することで、常に回線に応じて適切なMSSを指定することができ、前記のフラグメンテーションを抑制できる。
設定方法
Router(config)# interface GigaEthernet0.0
Router(config-GigaEthernet0.0)# mtu 1440
Router(config-GigaEthernet0.0)# exit
Router(config)# write memory
MTU確認
Router# show running-config
まとめ・所感
元々は家庭用の一般的なWi-Fiルーター(確か3,000円ぐらいで買った)を利用していたが、Tailscale上で動くKubernetesクラスターを導入してからWAN側のスループットが低下したり、LAN内の接続ももたつくようになってしまっていた。
元々が賃貸の無料インターネットなので大した性能ではないが、体感ではかなり安定して通信できるようになっている。
細かなところに手が届くし、中古でお安く手に入るルーターであり、勉強も兼ねて触ってみることをお勧めしたい。非常に機能が多いので、更なる安定性向上に効く設定がないかどうか、調べていきたい。