次のコマンドを使用して、新しいネットワーク名前空間をネットワークデバイスに接続しようとします。
# 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
これらすべては、ネットワークの他のデバイスでアドレスを使用しないと仮定します。それ以外の場合、興味深いことが発生する可能性があります。