Networking

無法通過 master 訪問網路命名空間

  • January 25, 2022

我正在嘗試使用網路命名空間創建一個隔離實驗室。它工作正常,即只有網路命名空間中的機器可以交談。但現在我想通過 localhost 使用 v-net-0 像路由器一樣訪問機器。

我在這裡做什麼:

ip netns add red
ip netns add blue
ip link add v-net-0 type bridge
ip link set dev v-net-0 up
ip link add veth-red type veth peer name veth-red-br
ip link add veth-blue type veth peer name veth-blue-br
ip link set veth-red netns red
ip link set veth-blue netns blue
ip link set veth-red-br master v-net-0
ip link set veth-blue-br master v-net-0
ip -n red addr add 192.168.15.2/24 dev veth-red
ip -n blue addr add 192.168.15.3/24 dev veth-blue
ip -n red link set veth-red up
ip -n blue link set veth-blue up

這裡一切正常,兩個虛擬介面可以完全隔離的方式相互通信

但是現在我希望能夠從本地主機訪問兩個虛擬介面,v-net-0以使我在v-net-0一個 ip 上分配這個。

ip addr add 192.168.15.5/24 dev v-net-0

所以本地主機可以ping通v-net-0但是紅色和藍色是無法訪問的。我可以做什麼?

您可以使用 Linux 網橋 (brctl) 或 openvswitch 連接同一 VLAN 中的多個 ns。

也可以看看:

使用“ipvlan”,您將在預設/紅色/藍色 ns 中擁有 192.168.15.x。

引用自:https://serverfault.com/questions/993103