(또한 xenial)을 통해 컨테이너를 실행하는 호스트(ubuntu xenial)가 있습니다 systemd-nspawn
.
systemd-nspawn --directory=gogs --network-macvlan=ens192 --boot
ens192
DHCP를 통해 IP 주소를 얻는 호스트 인터페이스입니다.
컨테이너 내에서 이전에 호스트에 제공되었던 네트워크 DHCP에서 제공하는 IP 주소를 가져오려고 합니다(먼저 DHCP 서버에 등록된 MAC 주소를 사용해야 합니다).
root@git:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: mv-ens192: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1
link/ether d2:b9:c3:77:25:83 brd ff:ff:ff:ff:ff:ff link-netnsid 0
root@git:~# ifconfig mv-ens192 hw ether aa:a0:a0:a0:a0:01
root@git:~# ifconfig mv-ens192 up
root@git:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: mv-ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1
link/ether 00:50:56:bb:60:3f brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::250:56ff:febb:603f/64 scope link
valid_lft forever preferred_lft forever
root@git:~# dhclient -v
Internet Systems Consortium DHCP Client 4.3.3
Copyright 2004-2015 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/mv-ens192/aa:a0:a0:a0:a0:01
Sending on LPF/mv-ens192/aa:a0:a0:a0:a0:01
Sending on Socket/fallback
DHCPDISCOVER on mv-ens192 to 255.255.255.255 port 67 interval 3 (xid=0xd36b8c1e)
DHCPDISCOVER on mv-ens192 to 255.255.255.255 port 67 interval 7 (xid=0xd36b8c1e)
그러나 이 발견은 일어나지 않았습니다.
이 실패의 이유는 무엇입니까?
DHCP 검색 패킷은 호스트 NIC로 전송되며, 호스트 NIC는 패킷을 추가로 발송해야 합니다(호스트가 자체 IP를 요청할 때 호출하는 것과 달라서는 안 됩니다).
참고: tshark
언제주인, 컨테이너의 요청이 표시됩니다.
634 8.404019212 0.0.0.0 -> 255.255.255.255 DHCP 342 DHCP Discover - Transaction ID 0xd36b8c1e