vxlan多台主机的vm之间相同网段互通

本文介绍如何通过VXLAN技术实现跨主机虚拟机之间的网络通信。具体步骤包括搭建虚拟环境、配置网络命名空间、设置VXLAN隧道及桥接,并通过示例展示不同主机上的虚拟机如何在同一网段内进行通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b]三台机器
建立namespace ,vxlan互相连接
三台机器建立的vm连到namespace中,
与其他机器的vm互通

让三台机器的三个vm看起来像在同一个网段[/b]

[img]http://dl2.iteye.com/upload/attachment/0120/1206/669fb6e6-2f64-383e-b353-a343773968bf.png[/img]
qemu启动的时候执行的脚本
qemu_br.sh:
###############
#
!/bin/sh
ip netns add zou

ip link add zouveth0 type veth peer name zouveth1
ip link set zouveth1 netns zou

brctl addbr br-zou
brctl addif br-zou zouveth0
#这里192.168.139.251换成本机的ip,eth0换成本机带ip的网卡
ip link add vxlan-10 type vxlan id 10 group 239.1.1.1 local 192.168.139.251 dev eth0
brctl addif br-zou vxlan-10

ip link set dev zouveth0 up
ip netns exec zou ip link set dev zouveth1 up
ip netns exec zou ip link set dev lo up
ip link set dev br-zou up
ip link set dev vxlan-10 up

ip netns exec zou brctl addbr br0
ip netns exec zou ip link set br0 up
ip link set tap1 netns zou
ip netns exec zou ip link set tap1 up
ip netns exec zou brctl addif br0 tap1
#这里10.1.0.5/24 换成本机的想设置的namespace的ip
ip netns exec zou ip addr add 10.1.0.5/24 dev br0
ip netns exec zou brctl addif br0 zouveth1

###############

删除脚本 delbr0.sh:
############

#!/bin/sh
ip link set br-zou down
ip link del br-zou
ip link del vxlan-10
ip netns del zou

##############


启动vm
###################

/usr/libexec/qemu-kvm -kernel bzImage -drive file=hda.img,if=ide,cache=none -append "console=ttyS0 root=/dev/sda rw rdinit=/sbin/init notsc=1" -nog
raphic -boot order=dc,menu=on -net nic,vlan=0,macaddr=52:54:00:12:34:21,model=e1000,addr=08 -net tap,name=haha,ifname=tap1,script=qemu_br.sh,downscr
ipt=delbr0.sh

################

查看设置的namespace

ip netns
ip netns exec zou ip addr
ip netns exec zou brctl show
ip netns exec zou ifconfig


在启动的vm中:
给vm设置ip和网关
#############
#!/bin/sh
#换成本机的想设置的vm的ip
ip addr add 10.1.0.11/24 dev eth0
ip link set eth0 up
ip route add default via 10.1.0.5
################


多台机器设置后
比如
192.168.139.251---->namespace:10.1.0.5--->vm:10.1.0.11
192.168.139.252---->namespace:10.1.0.6--->vm:10.1.0.12
192.168.139.253---->namespace:10.1.0.7--->vm:10.1.0.13

从10.1.0.11 ping 10.1.0.12
走向为:
在192.168.139.251上:
vm:10.1.0.11--->tap1--->br0:10.1.0.5--->zouveth1--->namespace--->zouveth0-->br-zou-->vxlan-10-->eth0
在192.168.139.252上:
vm:10.1.0.12<---tap1<---br0:10.1.0.6<---zouveth1<---namespace<---zouveth0<--br-zou<--vxlan-10<--eth0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值