다음 명령을 사용하여 새 네트워크 네임스페이스를 네트워크 장치에 연결하려고 합니다.
# create macvlan and associate it to network device in bride mode
ip link add macvlan1 link dev1 type macvlan mode bridge
# create new netwrok namespace
ip netns add net1
# associate the macvlan to the nbew namespace
ip link set macvlan1 netns net1
# set macvlan to up
ip netns exec net1 ifconfig macvlan1 up
새 네임스페이스에서 ping을 시도하면 "연결: 네트워크에 연결할 수 없음" 오류가 반환됩니다.
편집하다:
ip addr show dev1:
4: dev1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 68:05:ca:8e:82:d8 brd ff:ff:ff:ff:ff:ff
inet 192.168.65.107/24 brd 192.168.65.255 scope global dynamic dev1
valid_lft 490223sec preferred_lft 490223sec
inet6 fe80::d257:2f1:9c21:3a13/64 scope link
valid_lft forever preferred_lft forever
ip route:
default via 192.168.65.1 dev dev1 proto static metric 100
default via 25.25.40.1 dev ethernet0 metric 1000
25.25.40.0/24 dev ethernet0 proto kernel scope link src 25.25.40.143
169.254.0.0/16 dev dev1 scope link metric 1000
192.168.1.4 via 192.168.65.1 dev dev1 proto dhcp metric 100
192.168.65.0/24 dev dev1 proto kernel scope link src 192.168.65.107 metric 100
답변1
xterm
네트워크 네임스페이스에서 시작하는 것이 좋습니다 ip netns exec ...
. 이렇게 하면 입력 시간이 많이 절약됩니다.
네임스페이스 에서 볼 수 있듯이 ip -n net1 link list
네트워크 인터페이스는 macvlan1
( 및 lo
)입니다. 그렇다면 당신이 해야 할 일은
ip -n net1 addr add 192.168.65.100/24 dev macvlan1
(그 전에 link set macvlan1 up
). 이 점에 유의하시기 바랍니다~해야 한다192.168.65.100/24
경로는 네트워크 네임스페이스 에 자동으로 추가되지만 macvlan1
다음 명령을 사용하여 확인하세요.
ip -n net1 route
이제 기본 네트워크 네임스페이스에서 ping을 수행할 수 있습니다(유형이 "브리지"이므로).
ping 192.168.65.100
같은 방식으로 새 네임스페이스에서 기본 네트워크 네임스페이스 인터페이스를 ping할 수 있어야 합니다.
ip netns exec net1 ping 192.168.65.107
192.168.65.100
이 모든 것은 네트워크의 다른 장치에서 주소를 사용하지 않는다고 가정합니다 . 그렇지 않으면 흥미로운 일이 발생할 수 있습니다.