仅主机:

mubr0配置地址,既是va/vb/宿主机的交换机又是宿主机的虚拟网卡,该地址与va/vb 在同一网段既是仅主机 模拟仅主机: yum install bridge-utils-1.5-9.el7.x86_64

[root@node2~]#rpm -ql bridge-utils brctl -h

[root@node2~]#brctl show

[root@node2~]#brctl addbr mubr0 (交换机 [root@node2~]#brctl show [root@node2~]#ip link set mubr0 up
[root@node2~]#ifconfig -a
虚拟以太网卡: 创建一对虚拟网卡: [root@node2~]#ip link help

[root@node2~]#ip link add veth0.1 type veth peer name veth0.2 ifconfig -a

[root@node2~]#brctl help

[root@node2~]#brctl addif mubr0 veth0.2 [root@node2~]#brctl show
bridge name bridge id STP enabled interfaces mubr0 8000.5adb0e8e541a no veth

创建第二对虚拟网卡:

[root@node2~]#ip link add veth1.1 type veth peer name veth1.2 ip link delete veth0.1 [root@node2~]#brctl addif mubr0 veth1.2 [root@node2~]#brctl show

创建名称空间: [root@node2~]#ip netns add v0 [root@node2~]#ip netns add v1 [root@node2~]#ip netns list v1 v0 [root@node2~]#ip netns delete v2

[root@node2~]#ip link set veth0.1 netns v0 《一个名称空间类似一个虚拟机》
[root@node2~]#ip link set veth1.1 netns v1 [root@node2~]#ifconfig -a

[root@node2~]#ip netns exec v1 ifconfig -a

[root@node2~]#ip netns exec v0 ifconfig -a

[root@node2~]#ip netns exec v0 ifconfig veth0.1 10.1.0.1/24 up

[root@node2~]#ip netns exec v1 ifconfig veth1.1 10.1.0.2/24 up

[root@node2~]#ip link set veth1.2 up [root@node2~]#ip link set veth0.2 up

ip netns exec v0 ping 10.1.0.2

[root@node2~]#ifconfig mubr0 10.1.0.254/24 [root@node2~]#ip netns exec v0 ping 10.1.0.254

nat : 打开核心转发:

[root@node2~]#echo 1 > /proc/sys/net/ipv4/ip_forward [root@node2~]#sysctl -w net.ipv4.ip_forward=1 net.ipv4.ip_forward = 1

[root@node2~]#ip netns exec v0 route -n

[root@node2~]#ip netns exec v0 route add default gw 10.1.0.254

ping 本机ip 是可以ping的 ping 其他机器:

node4 节点抓包: [root@node4~]#tcpdump -i eth0 -nn icmp

地址转换: [root@node2~]#iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -o eth0 -j SNAT --to-source 192.168.137.27 #源地址为10.1.0.0/24 网段的:通过eth0 snat,将源地址转换成为:192.168.137.27

iptanles -t nat -vnL

物理桥接:

v0接到物理网络中去 创建mubr0 桥,把 eth1 网卡 放到mubr0上,v0 通过mubr0 ,eth1 到达host2 ,相当于v0 接到交换机mubr0,还有一个物理eth1 接口,接到物理网络交换机上;v0 和host2在同一个网络,可以通讯,eth1当作软交换机的一个接口;把 eth1 网卡模拟成mubro 的一个接口,接到同一个二层网络中去

host1 与host2 通讯如何实现: mubro 配置地址,就是物理网络中一个可用的地址,eth1 当接口使用,不能有地址,我们把 eth1的地址配置到mubro 上,mubro 就是66的地址,v0 /v1 使用68/69,host2 使用67,host2 与66通讯发给eth1 ,给了mubro ,发现是自己的地址,就给物理网络 host2 与v0 通讯,给eth1 (混杂模式)mubro 发现68 不是自己的地址,通过交换机接口给了v0 eth1 网卡当接口使用,地址给mubro