내가 사용한다고 가정 해 봅시다IP 링크(8)인터페이스를 생성 test-macvlan
하고 주소를 할당합니다 10.11.12.13
.
# ip link add link eno1 name test-macvlan type macvlan
# ip address add 10.11.12.13 dev test-macvlan
# ip address show test-macvlan
10: test-macvlan@eno1: <BROADCAST,MULTICAST> mtu 1500 ...
link/ether d2:f7:32:3f:c9:4a brd ff:ff:ff:ff:ff:ff
inet 10.11.12.13/32 scope global test-macvlan
그런 다음 사용합니다.IP-넷(8)네트워크 네임스페이스를 생성 test-netns
하고 사용IP 링크(8)test-macvlan
새 네임스페이스에 인터페이스를 할당합니다 .
# ip netns add test-netns
# ip link set test-macvlan netns test-netns
# ip netns exec test-netns ip address show test-macvlan
10: test-macvlan@if2: <BROADCAST,MULTICAST> mtu 1500 ...
link/ether d2:f7:32:3f:c9:4a brd ff:ff:ff:ff:ff:ff link-netns root
인터페이스에 더 이상 IP 주소가 없습니다. 인터페이스 에서도 같은 일이 발생합니다 vlan
. 아마도 이것이 이유일 것입니다.라우팅 및 네트워크 네임스페이스 통합에 대한 WireGuard 튜토리얼wireguard
할당된 IP 주소를 장치에 할당하도록 요청합니다.뒤쪽에네트워크 네임스페이스를 변경합니다.
왜 이런 일이 발생합니까? 나타냅니다systemd-networkd에는 네트워크 네임스페이스에서 가상 네트워크 장치 생성을 지원하는 새로운 코드가 필요합니다.. 네트워크 인터페이스의 구성이 네트워크 네임스페이스를 통해 이식 가능하다면 컨테이너가 자체 네트워크 관리자를 실행할 필요가 없으므로 작업이 단순화되지 않을까요?