構築の流れ
仮想マシンの構成を確認する
VirtualBoxの4枚のネットワークアダプタの構成を確認します。
アダプタ1はNAT
かホストオンリーアダプタ
にします。SSH接続の経路にするためです。
-
NAT
ホストマシン(Windows)のDNSやデフォルトゲートウェイが仮想マシンに転記されます。 そのおかげで仮想マシンからインターネットに接続することが出来ます。
ホストマシンから仮想マシンにアクセスする場合はSSHアクセス用のポートフォワーディング設定が必要です
-
ホストオンリーアダプタ
ホストマシン(Windows)のDNSやデフォルトゲートウェイが仮想マシンに転記されません。 仮想マシンからインターネットに接続出来ませんが、仮想マシンに余計な設定が追加されないので、SSHアクセスだけで良いならこちらの方が楽です。
仮想マシンのenp0s3には192.168.56.101から順番にIPアドレスが割り当てられます。 最初に作成した仮想マシンは192.168.56.101、次は192.168.56.102という具合です。
ホストマシンから仮想マシンにアクセスためにポートフォワーディングは不要です。
アダプタ2~4は基本的には内部ネットワーク
かブリッジアダプタ
が良いでしょう。
他の受講者のPCと直結するアダプタはブリッジアダプタにします。
アダプタを確認する際にMACアドレスのランダム生成を忘れないようにしましょう。
不要なサービスを停止する
起動した仮想マシンにログインしたらサービス一覧を確認します。
構築するネットワークに必要のないサービスは停止しましょう。 どんな悪影響が出るか分かりませんし問題の切り分けが複雑になります。
今動いているサービスを止める
# systemctl stop named dhcpd firewalld dovecot postfix httpd squid
次回OSを起動したときにサービスが勝手に起動しないようにする
# systemctl disable named dhcpd firewalld dovecot postfix httpd squid
ネットワークアドレスを設定する
あらかじめ設計した情報に基づきネットワークアドレスを設定します。
手動でIPを割り当てる
# nmcli connection modify enp0s8 ipv4.method manual ipv4.address 172.16.0.1/24
NICをDown/Upして設定を反映する
# nmcli connection down enp0s8
# nmcli connection up enp0s8
隣接する仮想マシンにPINGを打つ
2台以上のホストから構成されるネットワークを構築する際は必ず隣接するホストの疎通を確認します。
問題がある場合は設定作業を中断して原因の切り分けと復旧に取り掛かります。 隣接するホストの疎通が確認できてから次のホストの設定作業に移ります。
この時点でネットワークに属する全てのホストが隣接しているホストと通信できる状態にしておきます。
必要に応じてデフォルトGW/スタティックルートを設定する
隣接するホストの先のネットワークに到達したい場合はホストにデフォルトGWの設定が必要です。
このホストのデフォルトGWをenp0s8に隣接している172.16.0.100にする
# nmcli connection modify enp0s8 ipv4.gateway 172.16.0.100
NICをDown/Upして設定を反映する
# nmcli connection down enp0s8
# nmcli connection up enp0s8
デフォルトGWだけでは目的のネットワークに到達できない場合はスタティックルートの設定が必要です。
10.0.0.0/24のネットワークに到達するためにenp0s9を利用するように指示する
# nmcli connection modify enp0s9 ipv4.routes 10.0.0.0/24
NICをDown/Upして設定を反映する
# nmcli connection down enp0s8
# nmcli connection up enp0s8
この時点でルータを1つ挟んだホスト同士が通信できる状態にしておきます。
ルーティングプロトコルを有効にする
複数のルータを経由して目的のネットワークに到達するためには全てのルータに適切な経路情報が登録されている必要があります。 全てのルータに手動で経路情報を書き込む事も出来ますがルーティングプロトコルを利用した方が楽です。
この作業が適切に行われればエンドtoエンドで通信できるようになります。
トラブルシューティング
- 物理的なLANケーブルは接続されていますか?
- VirtualBoxの仮想LANケーブルは接続状態になっていますか?
- MACアドレスは重複していませんか?
- IPアドレスは重複していませんか?
- 通信相手のIPアドレスは同じネットワークセグメントに属していますか?
- Firewallによって通信がブロックされていませんか?
- VirtualBoxのブリッジを使っている場合はリセット手順を試しましたか?
- 仮想マシンを再起動しましたか?
- Windowsを再起動しましたか?
サンプル1
AS 65001
hostname : host-1
--- IP Address ---
enp0s3: 192.168.56.104/24
enp0s8: 192.168.0.1/24
--- MAC Address ---
enp0s3: 08:00:27:37:47:0f: UNKNOWN
enp0s8: 08:00:27:98:cb:3c: UP
enp0s9: 08:00:27:61:74:d7: UP
enp0s10: 08:00:27:d6:c9:ef: UP
--- Gateway ---
192.168.0.100
--- Static route ---
--- Service ---
httpd: OFF
squid: OFF
named: OFF
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: OFF
bgpd: OFF
ospfd: OFF
--- Router ---
Exiting: failed to connect to any daemons.
hostname : router-1
--- IP Address ---
enp0s3: 192.168.56.102/24
enp0s8: 172.16.0.100/24
enp0s10: 10.0.0.1/24
--- MAC Address ---
enp0s3: 08:00:27:7c:00:53: UNKNOWN
enp0s8: 08:00:27:c3:eb:63: UP
enp0s9: 08:00:27:b4:af:63: UP
enp0s10: 08:00:27:e0:7d:75: UP
--- Gateway ---
--- Static route ---
10.0.0.0/24 > enp0s10
172.16.0.0/24 > enp0s8
172.16.1.0/24 > 10.0.0.2
192.168.0.0/24 > 172.16.0.200
192.168.56.0/24 > enp0s3
--- Service ---
httpd: OFF
squid: OFF
named: OFF
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: ON
bgpd: ON
ospfd: ON
--- Router ---
service integrated-vtysh-config
router ospf
ospf router-id 0.0.0.1
redistribute connected
redistribute bgp
network 172.16.0.0/24 area 0.0.0.0
router bgp 65001
bgp router-id 0.0.0.1
redistribute connected
redistribute ospf
neighbor 10.0.0.2 remote-as 65002
neighbor 10.0.0.2 next-hop-self
hostname : router-3
--- IP Address ---
enp0s3: 192.168.56.105/24
enp0s8: 172.16.0.200/24
enp0s9: 192.168.0.100/24
--- MAC Address ---
enp0s3: 08:00:27:24:76:b5: UNKNOWN
enp0s8: 08:00:27:21:2b:be: UP
enp0s9: 08:00:27:c0:7d:d8: UP
enp0s10: 08:00:27:7c:1b:b5: UP
--- Gateway ---
--- Static route ---
10.0.0.0/24 > 172.16.0.100
172.16.0.0/24 > enp0s8
172.16.1.0/24 > 172.16.0.100
192.168.0.0/24 > enp0s9
192.168.56.0/24 > enp0s3
--- Service ---
httpd: OFF
squid: OFF
named: OFF
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: ON
bgpd: OFF
ospfd: ON
--- Router ---
service integrated-vtysh-config
router ospf
ospf router-id 0.0.0.2
redistribute connected
redistribute bgp
network 172.16.0.0/24 area 0.0.0.0
network 192.168.0.0/24 area 0.0.0.0
AS65002
hostname : host-2
--- IP Address ---
enp0s3: 192.168.56.103/24
enp0s8: 172.16.1.1/24
--- MAC Address ---
enp0s3: 08:00:27:a7:42:1a: UNKNOWN
enp0s8: 08:00:27:ed:b2:e7: UP
enp0s9: 08:00:27:f9:12:9c: UP
enp0s10: 08:00:27:ef:27:1f: UP
--- Gateway ---
172.16.1.100
--- Static route ---
--- Service ---
httpd: OFF
squid: OFF
named: OFF
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: OFF
bgpd: OFF
ospfd: OFF
--- Router ---
Exiting: failed to connect to any daemons.
hostname : router-2
--- IP Address ---
enp0s3: 192.168.56.101/24
enp0s8: 172.16.1.100/24
enp0s10: 10.0.0.2/24
--- MAC Address ---
enp0s3: 08:00:27:47:ce:74: UNKNOWN
enp0s8: 08:00:27:34:c0:95: UP
enp0s9: 08:00:27:bb:9f:9e: UP
enp0s10: 08:00:27:fe:e8:95: UP
--- Gateway ---
--- Static route ---
10.0.0.0/24 > enp0s10
172.16.0.0/24 > 10.0.0.1
172.16.1.0/24 > enp0s8
192.168.0.0/24 > 10.0.0.1
192.168.56.0/24 > enp0s3
--- Service ---
httpd: OFF
squid: OFF
named: OFF
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: ON
bgpd: ON
ospfd: ON
--- Router ---
service integrated-vtysh-config
router ospf
ospf router-id 0.0.0.1
redistribute connected
redistribute bgp
network 172.16.1.0/24 area 0.0.0.0
router bgp 65002
bgp router-id 0.0.0.2
redistribute connected
redistribute ospf
neighbor 10.0.0.1 remote-as 65001
neighbor 10.0.0.1 next-hop-self
サンプル2
AS65001
2018年 7月 15日 日曜日 18:10:40 JST
hostname : host-1
--- IP Address ---
enp0s3: 192.168.56.101/24
enp0s8: 172.16.1.1/24
--- MAC Address ---
enp0s3: 08:00:27:47:ce:74: UNKNOWN
enp0s8: 08:00:27:34:c0:95: UP
enp0s9: 08:00:27:bb:9f:9e: UP
enp0s10: 08:00:27:fe:e8:95: UP
--- Gateway ---
172.16.1.2
--- Static route ---
--- Service ---
httpd: OFF
squid: OFF
named: ON
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: OFF
bgpd: OFF
ospfd: OFF
--- Router ---
Exiting: failed to connect to any daemons.
2018年 7月 15日 日曜日 18:14:21 JST
hostname : ospf-router-1
--- IP Address ---
enp0s3: 192.168.56.101/24
enp0s8: 172.16.2.1/24
enp0s9: 172.16.1.2/24
--- MAC Address ---
enp0s3: 08:00:27:47:ce:74: UNKNOWN
enp0s8: 08:00:27:34:a0:95: UP
enp0s9: 08:00:27:bb:ff:9e: UP
enp0s10: 08:00:27:fe:c8:95: UP
--- Gateway ---
--- Static route ---
172.16.1.0/24 > enp0s9
172.16.2.0/24 > enp0s8
192.168.56.0/24 > enp0s3
--- Service ---
httpd: OFF
squid: OFF
named: OFF
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: ON
bgpd: OFF
ospfd: ON
--- Router ---
service integrated-vtysh-config
router ospf
ospf router-id 0.0.0.1
redistribute connected
network 172.16.1.0/24 area 0.0.0.0
network 172.16.2.0/24 area 0.0.0.0
2018年 7月 15日 日曜日 18:21:09 JST
hostname : bgp-router-1
--- IP Address ---
enp0s3: 192.168.56.101/24
enp0s8: 192.168.0.1/24
enp0s9: 172.16.2.2/24
--- MAC Address ---
enp0s3: 08:00:27:67:ce:74: UNKNOWN
enp0s8: 08:00:27:3e:c0:95: UP
enp0s9: 08:00:27:bb:ff:9f: UP
enp0s10: 08:00:27:fe:c8:45: UP
--- Gateway ---
--- Static route ---
172.16.2.0/24 > enp0s9
192.168.0.0/24 > enp0s8
192.168.56.0/24 > enp0s3
--- Service ---
httpd: OFF
squid: OFF
named: OFF
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: ON
bgpd: ON
ospfd: ON
--- Router ---
service integrated-vtysh-config
router ospf
ospf router-id 0.0.0.2
redistribute connected
redistribute bgp
network 172.16.2.0/24 area 0.0.0.0
router bgp 65001
bgp router-id 0.0.0.1
redistribute ospf
neighbor 192.168.0.2 remote-as 65002
neighbor 192.168.0.2 next-hop-self
AS65002
2018年 7月 15日 日曜日 18:10:40 JST
hostname : host-2
--- IP Address ---
enp0s3: 192.168.56.101/24
enp0s8: 172.16.4.1/24
--- MAC Address ---
enp0s3: 08:00:27:47:ce:74: UNKNOWN
enp0s8: 08:00:27:34:c0:95: UP
enp0s9: 08:00:27:bb:9f:9e: UP
enp0s10: 08:00:27:fe:e8:95: UP
--- Gateway ---
172.16.4.2
--- Static route ---
--- Service ---
httpd: OFF
squid: OFF
named: ON
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: OFF
bgpd: OFF
ospfd: OFF
--- Router ---
Exiting: failed to connect to any daemons.
2018年 7月 15日 日曜日 18:14:21 JST
hostname : ospf-router-2
--- IP Address ---
enp0s3: 192.168.56.101/24
enp0s8: 172.16.3.1/24
enp0s9: 172.16.4.2/24
--- MAC Address ---
enp0s3: 08:00:27:47:ce:74: UNKNOWN
enp0s8: 08:00:27:34:a0:95: UP
enp0s9: 08:00:27:bb:ff:9e: UP
enp0s10: 08:00:27:fe:c8:95: UP
--- Gateway ---
--- Static route ---
172.16.4.0/24 > enp0s9
172.16.3.0/24 > enp0s8
192.168.56.0/24 > enp0s3
--- Service ---
httpd: OFF
squid: OFF
named: OFF
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: ON
bgpd: OFF
ospfd: ON
--- Router ---
service integrated-vtysh-config
router ospf
ospf router-id 0.0.0.1
redistribute connected
network 172.16.3.0/24 area 0.0.0.0
network 172.16.4.0/24 area 0.0.0.0
2018年 7月 15日 日曜日 18:21:09 JST
hostname : bgp-router-2
--- IP Address ---
enp0s3: 192.168.56.101/24
enp0s8: 192.168.0.2/24
enp0s9: 192.168.1.1/24
enp0s10: 172.16.3.2/24
--- MAC Address ---
enp0s3: 08:00:27:67:ce:74: UNKNOWN
enp0s8: 08:00:27:5e:f0:25: UP
enp0s9: 08:00:27:2b:f3:1f: UP
enp0s10: 08:00:27:fc:48:47: UP
--- Gateway ---
--- Static route ---
172.16.3.0/24 > enp0s10
192.168.0.0/24 > enp0s9
192.168.1.0/24 > enp0s8
192.168.56.0/24 > enp0s3
--- Service ---
httpd: OFF
squid: OFF
named: OFF
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: ON
bgpd: ON
ospfd: ON
--- Router ---
service integrated-vtysh-config
router ospf
ospf router-id 0.0.0.2
redistribute connected
redistribute bgp
network 172.16.3.0/24 area 0.0.0.0
router bgp 65002
bgp router-id 0.0.0.2
redistribute ospf
neighbor 192.168.0.1 remote-as 65001
neighbor 192.168.0.1 next-hop-self
neighbor 192.168.1.2 remote-as 65003
neighbor 192.168.1.2 next-hop-self
AS65003
2018年 7月 15日 日曜日 18:10:40 JST
hostname : host-3
--- IP Address ---
enp0s3: 192.168.56.101/24
enp0s8: 172.16.5.1/24
--- MAC Address ---
enp0s3: 08:00:27:17:2e:34: UNKNOWN
enp0s8: 08:00:27:33:20:15: UP
enp0s9: 08:00:27:b1:92:5e: UP
enp0s10: 08:00:27:5e:18:25: UP
--- Gateway ---
172.16.5.2
--- Static route ---
--- Service ---
httpd: OFF
squid: OFF
named: ON
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: OFF
bgpd: OFF
ospfd: OFF
--- Router ---
Exiting: failed to connect to any daemons.
2018年 7月 15日 日曜日 18:14:21 JST
hostname : ospf-router-3
--- IP Address ---
enp0s3: 192.168.56.101/24
enp0s8: 172.16.6.1/24
enp0s9: 172.16.5.2/24
--- MAC Address ---
enp0s3: 08:00:27:47:ce:74: UNKNOWN
enp0s8: 08:00:27:14:10:2c: UP
enp0s9: 08:00:27:bc:fc:91: UP
enp0s10: 08:00:27:ee:38:15: UP
--- Gateway ---
--- Static route ---
172.16.5.2/24 > enp0s9
172.16.6.1/24 > enp0s8
192.168.56.0/24 > enp0s3
--- Service ---
httpd: OFF
squid: OFF
named: OFF
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: ON
bgpd: OFF
ospfd: ON
--- Router ---
service integrated-vtysh-config
router ospf
ospf router-id 0.0.0.1
redistribute connected
network 172.16.5.0/24 area 0.0.0.0
network 172.16.6.0/24 area 0.0.0.0
2018年 7月 15日 日曜日 18:21:09 JST
hostname : bgp-router-3
--- IP Address ---
enp0s3: 192.168.56.101/24
enp0s8: 192.168.1.2/24
enp0s9: 172.16.6.2/24
--- MAC Address ---
enp0s3: 08:00:27:17:6e:94: UNKNOWN
enp0s8: 08:00:27:35:90:f5: UP
enp0s9: 08:00:27:b1:f2:2f: UP
enp0s10: 08:00:27:ce:18:4f: UP
--- Gateway ---
--- Static route ---
172.16.6.2/24 > enp0s9
192.168.1.2/24 > enp0s8
192.168.56.0/24 > enp0s3
--- Service ---
httpd: OFF
squid: OFF
named: OFF
dhcpd: OFF
postfix: OFF
dovecot: OFF
zebra: ON
bgpd: ON
ospfd: ON
--- Router ---
service integrated-vtysh-config
router ospf
ospf router-id 0.0.0.2
redistribute connected
redistribute bgp
network 172.16.6.0/24 area 0.0.0.0
router bgp 65003
bgp router-id 0.0.0.3
redistribute ospf
neighbor 192.168.1.1 remote-as 65002
neighbor 192.168.1.1 next-hop-self