以前に VIRL 上の機器を外部ネットワークと L2 接続する という記事を書きました。この記事の通りに設定すれば flat ネットワーク経由で VIRL 上のノードを外部ネットワークと L2 接続することが可能ですが、検証ノードで DHCP を有効にしても Neutron が提供する DHCP サービスからアドレスを受信してしまいました。そこで Neutron の該当サブネットで DHCP サービスを無効化し、外部の DHCP サービスを利用出来るようにしてみます。
flat サブネットの設定確認
neutron subnet-show でサブネットの設定を確認することが出来ます。「enable_dhcp」が「True」になっていることが分かります。
$ neutron subnet-show flat
+-------------------+-------------------------------------------------+
| Field | Value |
+-------------------+-------------------------------------------------+
| allocation_pools | {"start": "172.16.1.50", "end": "172.16.1.253"} |
| cidr | 172.16.1.0/24 |
| dns_nameservers | 8.8.4.4 |
| | 8.8.8.8 |
| enable_dhcp | True |
| gateway_ip | 172.16.1.1 |
| host_routes | |
| id | d721595b-c60f-425a-a182-0bd930b14b08 |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | flat |
| network_id | 6fb8831a-5f6a-45b3-a6da-b4a2d1d74048 |
| subnetpool_id | |
| tenant_id | 745f80c285f74368a1d9efcfd73591fb |
+-------------------+-------------------------------------------------+
DHCP サービスの無効化
neutron subnet-update で DHCP サービスを無効化します。
$ neutron subnet-update flat --disable-dhcp
Updated subnet: flat
再度、サブネットの設定を確認します。「enable_dhcp」が「False」になったことが分かります。
$ neutron subnet-show d721595b-c60f-425a-a182-0bd930b14b08
+-------------------+-------------------------------------------------+
| Field | Value |
+-------------------+-------------------------------------------------+
| allocation_pools | {"start": "172.16.1.50", "end": "172.16.1.253"} |
| cidr | 172.16.1.0/24 |
| dns_nameservers | 8.8.4.4 |
| | 8.8.8.8 |
| enable_dhcp | False |
| gateway_ip | 172.16.1.1 |
| host_routes | |
| id | d721595b-c60f-425a-a182-0bd930b14b08 |
| ip_version | 4 |
| ipv6_address_mode | |
| ipv6_ra_mode | |
| name | flat |
| network_id | 6fb8831a-5f6a-45b3-a6da-b4a2d1d74048 |
| subnetpool_id | |
| tenant_id | 745f80c285f74368a1d9efcfd73591fb |
+-------------------+-------------------------------------------------+
Cisco ルータで DHCP サーバからアドレスを取得する
VIRL 上に IOSv ノードを作成し、DHCP サーバからアドレスを取得してみます。
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface GigabitEthernet 0/0
Router(config-if)# ip address dhcp
Router(config-if)# no shutdown
Router(config-if)# end
Router#
*Dec 26 14:52:14.659: %SYS-5-CONFIG_I: Configured from console by console
*Dec 26 14:52:16.148: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to up
*Dec 26 14:52:17.149: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up
*Dec 26 14:52:28.173: %DHCP-6-ADDRESS_ASSIGN: Interface GigabitEthernet0/0 assigned DHCP address 172.31.98.171, mask 255.255.255.0, hostname
ログだけでは分かりづらいですが、flat ネットワークを経由し、外部にある DHCP サーバからアドレスを取得出来ています。
コメント