僅主機:
node
mubr0配置地址,既是va/vb/宿主機的交換機又是宿主機的虛擬網卡,該地址與va/vb 在同一網段既是僅主機
模擬僅主機:
yum install bridge-utils-1.5-9.el7.x86_64網絡
[root@node2~]#rpm -ql bridge-utils
brctl -h
tcp
[root@node2~]#brctl show
ide
[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 3d
[root@node2~]#ip link add veth0.1 type veth peer name veth0.2
ifconfig -ablog
[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 vethip
建立第二對虛擬網卡:虛擬機
[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 showit
建立名稱空間:
[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 不是本身的地址,經過交換機接口給了v0eth1 網卡當接口使用,地址給mubro