我正在尝试使用网络命名空间创建一个隔离实验室。它工作正常,也就是说,只有网络命名空间中的机器可以通信。但现在我想使用 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
这里一切正常,两个虚拟接口可以以完全隔离的方式相互通信
但是现在从本地主机,我希望能够使用来访问两个虚拟接口,以便在一个 IPv-net-0
上分配这个接口。v-net-0
ip addr add 192.168.15.5/24 dev v-net-0
因此,本地主机可以 ping 通,v-net-0
但红网和蓝网无法访问。我该怎么办?
答案1
您可以使用Linux bridge(brctl)或openvswitch连接同一个VLAN中的多个ns。
也可以看看:
答案2
使用‘ipvlan’,您将在默认/红色/蓝色ns中拥有192.168.15.x。