ヤマハRTX1200を「サーバー切り替え器」として使う方法を考えてみます。
新築サーバーを実践ネットワークに接続してテストする場合には、ユーザーがいない時間帯にリモートで切り替えると便利です。
実現する課題
以下のような状況を想定します。
- [A][B]それぞれのサーバーに「同じipアドレス」を設定する。
- [A][B]のサーバーを切り替えてネットワークにつなぐ。
- RTX1200を使って実現する。
初期設定
まずRTX1200を以下のように設定します。
- LAN3の ipアドレスはdhcpで取得します。
- LAN1の初期設定はすべて削除します。
- LAN2は使用しないので無効にしておきます。
- LAN3ポートを使って telnet でRTX1200 にアクセスして操作します。
「show config」 は次の通りです。
login password encrypted *
administrator password *
console character ascii
console columns 200
console lines 100
console prompt LAN1SW
console info on
lan shutdown lan2
ip lan3 address dhcp
telnetd host 10.0.0.0-10.255.255.255 172.16.0.0-172.31.255.255 192.168.0.0-192.168.255.255
LAN1にはipアドレスが無いのでルーティングに関与せず、8ポートのスイッチングハブと同じ働きをします。
物理的な接続
LAN1のケーブル接続は以下の想定にします。
①ポートは上流につなぎます。
⑤ポートにサーバー[A]、⑥ポートにサーバー[B]を接続します。
サーバーを切り替える方法
2台のサーバーを切り替える方法を以下のように考えます。
[AB]どちらを繋ぐか | ポートのつなぎ方 |
---|---|
[A]サーバーを使う時 | ポート①とポート⑤をつなぐ |
[B]サーバーを使う時 | ポート①とポート⑥をつなぐ |
方法
RTX1200にはポートを分ける方法がいくつか存在します。
No. | 機能名 | 機能 |
---|---|---|
① | LAN分割機能 | ポートベースVLANを実現する |
② | ポート分離機能 | スイッチングハブのポート間での通信を制限する機能 |
③ | ポート無効化 | LAN インタフェースを利用できないようにする |
どのような機能なのかを見ていきます。
LAN分割機能
RTX1200の「LAN1」はネットワーク インターフェース「LAN1」に8ポートのスイッチングハブが接続されている構成です。
LAN分割機能を「有効」にすることで、LAN1、LAN2、LAN3のようなネットワーク インターフェイスを増設することができます。
次のコマンドで「LAN分離機能」を有効にします。
lan type lan1 port-based-option=divide-network
このコマンドによって、ネットワーク インターフェース「vlan1」「vlan2」「vlan3」「vlan4」「vlan5」「vlan6」「vlan7」「vlan8」が自動的に有効になります。
同時にLAN1の8個のポートを「lan1.1」「lan1.2」「lan1.3」「lan1.4」「lan1.5」「lan1.6」「lan1.7」「lan1.8」という「名前」で指定できるようになります。
このコマンドを入力した直後の状態は、「lan1.1~lan1.8」の各ポートが「vlan1~vlan8」までのネットワーク インターフェースにマッピングされています。
「vlan1」~「vlan8」は「ネットワーク インターフェース」なので「ipアドレス」を設定すれば、(LAN1)、LAN2、LAN3と同様にルーティングされます。
「ipアドレス」を設定しなければ、「lan1.1~lan1.8」の各ポートは切り離された状態に置かれます。
RTX1200以降のルーターでは「vlan1」~「vlan8」と「lan1.1~lan1.8」を任意に繋ぎ変えることができます(拡張機能)。
例えば、「lan1.1」「lan1.3」「lan1.5」ポートを「vlan1」ネットワーク インターフェースに接続し、そのほかのポートは「vlan3」に接続することが可能です。
設定例を示します。
「LAN分割機能」を有効にした時点で「lan1.1」は「vlan1」に接続されています。
「lan1.3」「lan1.5」ポートを「vlan1」ネットワーク インターフェースに接続します。
vlan port mapping lan1.3 vlan1
vlan port mapping lan1.5 vlan1
「lan1.3」ポートは「vlan3」から「外され」て「vlan1」に接続されます。
「lan1.5」ポートは「vlan5」から「外され」て「vlan1」に接続されます。
「lan1.1」「lan1.3」「lan1.5」はネットワーク インターフェース「vlan1」に接続された「3個のポートを持つ」スイッチングハブになります。
続いて「lan1.2」「lan1.4」「lan1.6」「lan1.7」「lan1.8」ポートを「vlan3」ネットワーク インターフェースに接続します。
vlan port mapping lan1.2 vlan3
vlan port mapping lan1.4 vlan3
vlan port mapping lan1.6 vlan3
vlan port mapping lan1.7 vlan3
vlan port mapping lan1.8 vlan3
「lan1.2」ポートは「vlan2」から「外され」て「vlan3」に接続されます。
「lan1.4」ポートは「vlan4」から「外され」て「vlan3」に接続されます。
「lan1.6」ポートは「vlan6」から「外され」て「vlan3」に接続されます。
「lan1.7」ポートは「vlan7」から「外され」て「vlan3」に接続されます。
「lan1.8」ポートは「vlan8」から「外され」て「vlan3」に接続されます。
「lan1.2」「lan1.4」「lan1.5」「lan1.6」「lan1.7」「lan1.8」はネットワーク インターフェース「vlan3」に接続された「5個のポートを持つ」スイッチングハブになります。
こんな感じになります。
ポートをネットワーク インターフェースにマッピングすると、LAN1インターフェースがリセットされるので、LAN1に接続されたノードへの通信が数秒途切れます。
vlan port mapping lan1.N vlanN
また「lan1.N」を複数の「vlanN」にマッピングすることはできません。
サーバーを切り替える
以下の手順で実現します。
接続するサーバー | 前処理コマンド | 接続コマンド |
---|---|---|
サーバー[A]を使う時 | 「lan1.6」を「vlan1」から切断 | 「lan1.5」を「vlan1」に接続 |
サーバー[B]を使う時 | 「lan1.5」を「vlan1」から切断 | 「lan1.6」を「vlan1」に接続 |
まず「LAN分割機能」を有効にします。
lan type lan1 port-based-option=divide-network
サーバー[A]を接続する時のコマンドは次の通りです。
no vlan port mapping lan1.6 vlan1
vlan port mapping lan1.5 vlan1
サーバー[B]を接続する時は以下の通りです。
no vlan port mapping lan1.5 vlan1
vlan port mapping lan1.6 vlan1
以上の通り「LAN分割機能」で切り替えが可能です。
ポート分離機能
ポート分割機能はネットワーク インターフェース「LAN1」に接続された8ポートのスイッチングハブを複数の『スイッチングハブ』に分割する機能です。
RTX1200の構成は次のようなものでした。
これを次のようにいくつかのスイッチングハブに分割します。
例えば「3ポート」の『スイッチングハブ』と「2ポート」の『スイッチングハブ』と「3ポート」の『スイッチングハブ』に分割してみます。
これを実現するには次のコマンドを入力します。
lan type lan1 port-based-option=split-into-123:45
分割してグループにできるのは「隣り合うポート」のみで「LAN分割機能」のように任意のポートをグループにすることができません。
例えば、①③⑤でスイッチングハブを作ることはできません。
①②③④⑤⑥⑦⑧のポート順で、任意の隙間に「衝立(ついたて)」を設けるイメージです。
また、次のコマンドは上のコマンドと同義です。
lan type lan1 port-based-option=split-into-123:45:678
「ポート分割」は「何に役立つのか?」
「ポート分割」によって「異なるグループ間」での接続が「遮断」されます。
Wifiルーターの「プライバシーセパレーター(Buffaloでの呼称)」と同じです。
「LAN1」ネットワーク内ではノード間の接続ができなくなります。
しかし「LAN1」に「ipアドレス」が設定されており、配下のノードに適正なipアドレスが付されていれば、「ポート分割機能」で分かれていても①~⑧に繋がっているノードはルーティングによって「LAN1以外」のネットワークに到達することができます。
また、ポートを分割しても「LAN1」に繋がれているすべてのノードは同じネットワークに属しています。
ノード間のプライバシーやセキュリティーを確保する機能です。
ポート分割での留意事項があります。
「LAN1」の8個のポートは次のようは「LAN1」ネットワーク インターフェースに8ポートのスイッチングハブが繋がっているわけではないということです。
複数の『スイッチングハブ』に分割すると表現しましたが、それは一般的なスイッチングハブとは異なる振る舞いをします。
分割された別グループのポート③とポート④をLANケーブルで接続すると次のような結果になります。
- ループは発生しない
- [x]と[y]は引き続きアクセス不能
内部がどうなっているのかわかりませんが、次のように、分割されたグループごとに「LAN1」が存在するような構成なのかもしれません。
サーバーを切り替える
「ポート分割機能」では「隣り合うポート」のみ接続と切断が可能なので、当初想定していた「物理接続」では実現しません。
例えば以下のようにポートの繋ぎ替えが必要です。
接続するサーバー | 前処理コマンド | 接続コマンド |
---|---|---|
すべてのポートをバラバラにしておく | ||
サーバー[A]を使う時 | なし | ①②間の仕切りを外す |
サーバー[B]を使う時 | なし | ②③間の仕切りを外す |
まず「ポート分割機能」を有効にして、すべてのポートを分割します。
lan type lan1 port-based-option=split-into-1:2:3:4:5:6:7:8
サーバー[A]を接続する時のコマンドは次の通りです。
ポート①とポート②の通信か可能になります。
lan type lan1 port-based-option=split-into-12:3:4:5:6:7:8
サーバー[B]を接続する時は以下の通りです。
lan type lan1 port-based-option=split-into-1:23:4:5:6:7:8
以上の通り「ポート分割機能」で切り替えが可能です。
ポート無効化
ポートを無効化すると指定のポートはリンクダウンします。
そのポートに繋がれているノードをネットワークから切り離すことが可能です。
例えば、⑤ポートを無効化します。
lan shutdown lan1 5
指定ポートに繋がっているノードは通信が遮断されます。
このコマンドを使う上での注意点です。
「追加」で⑦ポートを無効にする場合は、以下のコマンドが必要です。
lan shutdown lan1 5 7
⑦無効のまま、⑤ポートを有効にする場合は以下です。
lan shutdown lan1 7
以下のコマンドではすべてのポートを有効にしてしまいます。
no lan shutdown lan1 5
サーバーを切り替える
「ポート無効化」によってサーバーを切り替える場合は、切断するサーバーのポートを「shutdown」します。
「ポート分割機能」でのようにLANケーブルの接続順序を考慮する必要はありません。
接続するサーバー | 前処理コマンド | 接続コマンド |
---|---|---|
すべてのポートを無効にしておく | ||
サーバー[A]を使う時 | なし | ⑥ポートを無効にする |
サーバー[B]を使う時 | なし | ⑤ポートを無効にする |
まず、「LAN1」のすべてのポートを無効にします。
lan shutdown lan1
サーバー[A]を接続する時のコマンドは次の通りです。
このコマンドで⑥以外のポートの無効化が解除されます。
lan shutdown lan1 6
サーバー[B]を接続する時は以下の通りです。
lan shutdown lan1 5
以上の通り「ポート無効化」で切り替えが可能です。
まとめ
RTX1200を使って、リモートでサーバーを切り替えテストするようなシチュエーションでの「切り替え器」をつくりました。
ルーターが持っている3種類の機能を検討しました。
いずれの方法でも目的の実現は可能でした。
状況を考慮して選択するといいでしょう。
今回のような設定の場合は「ポート無効化」が最も安全でわかりやすいように感じました。
RTX1200を使いましたが、ほかの機種でも可能です。