概要
前回 1 つのポートグループを作成してその中に VyOS を立て DHCP サーバとして動作させました
今回はもう 1 つポートグループを作成し、前回とは異なる VLAN ID を付与します
そして、VLAN ID の異なるそれぞれのポートグループ同士を VyOS を使って相互に通信させてみました
環境
- VirtualBox 5.1.10
- ESXi 6.0 update 2
- Windows7 Enterprise バージョン 6.1
- Intel Core i5-5300U CPU @ 2.30GHz
- メモリ 10GB
- ストレージ 120GB (SSD)
- VyOS 1.1.7 (32bit 版)
ポートグループおよび VM の作成
前回同様ポートグループと VM を作成していきます
作成方法はほぼ前回と同じなので詳細はそちらを参考にしてください
以下主要なパラメータ
- ポートグループ: VM Network3 (VLAN ID: 3)
- VM: vm2
- ネットワークアダプタ1: VM Network3
- ネットワークアダプタ2: VM Nat Network
そして新規で作成したポートグループは VyOS も所属させます
vyos は前回まででネットワークアダプタ3 まで使用しているので今回は 4 に VM Network3 を設定します
- VM: vyos
- ネットワークアダプタ4: VM Network3
設定完了後の vSwitch のネットワークトポロジーは以下の通りです
VyOS への設定追加
新規で追加したポートグループ用の設定を追加していきます
VyOS 上のネットワークインタフェースは eth3 になります
- configure
で編集モードになり以下を入力します
やっていることは前回とほぼ同様です
通信出来ていることがわかりやすいように VM Network2 とは異なる CIDR のネットワークにします
- set interfaces ethernet eth3 address ‘172.16.0.1/24’
- set interfaces ethernet eth3 description ‘VM Network3’
- set service dhcp-server shared-network-name VM_NETWORK_3 subnet 172.16.0.0/24 default-router ‘172.16.0.1’
- set service dhcp-server shared-network-name VM_NETWORK_3 subnet 172.16.0.0/24 dns-server ‘172.16.0.1’
- set service dhcp-server shared-network-name VM_NETWORK_3 subnet 172.16.0.0/24 lease ‘86400’
- set service dhcp-server shared-network-name VM_NETWORK_3 subnet 172.16.0.0/24 start 172.16.0.2 stop ‘172.16.0.254’
- set service dhcp-server shared-network-name VM_NETWORK_3 authoritative disable
- set service dns forwarding listen-on ‘eth3’
- commit
- save
作業は大きく 3 つで「etc3 への固定 IP の付与」「DHCP サーバの設定」「DNS の参照設定」になります
コマンド実行後は commit -> save でファイルに設定を保存します
ちなみに前回のも合わせて show interfaces
と show service
の実行結果は以下の通りです
- show interfaces
ethernet eth0 {
address dhcp
duplex auto
hw-id 00:0c:29:5b:8d:84
smp_affinity auto
speed auto
}
ethernet eth1 {
address dhcp
duplex auto
hw-id 00:0c:29:5b:8d:8e
smp_affinity auto
speed auto
}
ethernet eth2 {
address 172.10.0.1/24
description "VM Network2"
hw-id 00:0c:29:5b:8d:98
}
ethernet eth3 {
address 172.16.0.1/24
description "VM Network3"
hw-id 00:0c:29:5b:8d:a2
}
loopback lo {
}
- show service
hcp-server {
disabled false
shared-network-name VM_NETWORK_2 {
authoritative disable
subnet 172.10.0.0/24 {
default-router 172.10.0.1
dns-server 172.10.0.1
lease 86400
start 172.10.0.2 {
stop 172.10.0.254
}
}
}
shared-network-name VM_NETWORK_3 {
authoritative disable
subnet 172.16.0.0/24 {
default-router 172.16.0.1
dns-server 172.16.0.1
lease 86400
start 172.16.0.2 {
stop 172.16.0.254
}
}
}
}
dns {
forwarding {
cache-size 0
listen-on eth2
listen-on eth3
name-server 172.17.105.202
}
}
ssh {
port 22
}
VM 上での作業
まずは今回新規で追加したポートグループ「VM Network3」にある vm2 が DHCP で IP を取得できるか確認してみましょう
VM Network3 側のネットワークインタフェースの設定を BOOTPROTO=dhcp
にしてネットワークを再起動します
VyOS から問題なく DHCP で IP がもらえれば OK です
もらえる IP は若い順になるはずなので、今回の場合であれば 172.16.0.2
が付与されれば OK です
ルーティング情報を VM に追加する
これで「VM Network2」と「VM Network3」は仮想環境上ではリーチャビリティのある状況になりました
あとは、OS レベルでルーティングを追加してあげれば OK です
動作確認のために以下を実行しておくと良いと思います
- vm1
- ping 172.16.0.2
- vm2
- ping 172.10.0.2
異なるポートグループ内にいる VM が通信できるか確認するためのコマンドです
おそらく実行した直後は ping が通らないと思います
では、以下のルーティングコマンドを実行しましょう
- vm1
- ip r add 172.16.0.0/24 via 172.10.0.1 dev eth0
- vm2
- ip r add 172.10.0.0/24 via 172.16.0.1 dev eth0
両方の VM にルーティングを追加した直後に ping が通ることを確認できると思います
当たり前ですが、追加したルーティングをどちらか一方で削除すると ping が通らなくなることも確認できると思います
- vm2
- ip r del 172.10.0.0/24 via 172.16.0.1 dev eth0
最後に
VyOS を使って VLAN ID の異なるポートグループ同士を接続してみました
この状態だと基本的にポートグループ同士は全開放状態なので、SSH でも HTTP でも何でもアクセスできてしまいます
必要なポートやプロトコルだけで通信させたい場合はファイアウォールを使います
CentOS なら iptables を使ってもできますが、今回のような構成であれば VyOS のファイアウォール機能を使っても通信制御できると思います
ファイアウォール機能もそのうち試せればなと思っています
0 件のコメント:
コメントを投稿