仅主机:
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