2. Vxlan多点通信逻辑拓扑
手动实现多点vxlan隧道建立
n个节点就需要建立n个隧道
2.1 实现步骤
2.1.1 创建vxlan设备
ip link add vxlan1 type vxlan id 100 dstport 4789 remote 10.33.30.151 local 10.33.30.150 dev ens160
ip link add vxlan2 type vxlan id 200 dstport 4789 remote 10.33.30.152 local 10.33.30.150 dev ens160
ip add a 192.168.1.254/32 dev vxlan1
ip add a 192.168.1.253/32 dev vxlan2
ip link set vxlan1 up
ip link set vxlan2 up
2.1.2 创建bridge,并设置IP
brctl addbr br1
ip addr a 192.168.1.1/24 dev br1
ip link set br1 up
2.1.3 创建namespace,veth pair,分别移入br网桥和ns中
ip netns add ns1
ip link add tap1 type veth peer name tap2
ip link set dev tap2 up
ip link set tap1 netns ns1
ip netns exec ns1 ip link set dev tap1 up
ip netns exec ns1 ip addr add 192.168.1.100/24 dev tap1
brctl addif br1 tap2
2.1.4 添加路由
ip netns exec ns1 ip route add default via 192.168.1.1
ip route add 192.168.2.0/24 via 192.168.2.254 dev vxlan1 onlink
ip route add 192.168.3.0/24 via 192.168.3.254 dev vxlan2 onlink
这里的下一跳无论是3.254还是3.253都可以,因为这些下一跳地址都是32位的。只要下一跳的IP能正确到达目的宿主机即可。
2.1.5 修改内核参数
sysctl -w net.ipv4.ip_forward=1
host2,host3参考host1配置基本相同