使用Linux Bridge 搭建vxlan 实现 虚拟机跨物理机通信

简介:

#实验环境:

wKioL1joosaxkjCVAAA4CBuVqYg103.png


#本次实验要让192.168.1.3 跨物理节点 ping 通 192.168.1.2 

#两台物理机:

KVM_1 192.168.174.134
KVM_2 192.168.174.135


#在KVM_1主机上操作

#安装KVM相关软件

1
2
3
4
5
6
7
8
[root@KVM_1 ~] #  yum -y install qemu-kvm libvirt virt-install bridge-utils
[root@KVM_1 ~] # systemctl start libvirtd.service 
[root@KVM_1 ~] # brctl addbr br-vx     #创建网桥
[root@KVM_1 ~] # ip link set br-vx up  #启动网桥
[root@KVM_1 ~] # ip link add vxlan10 type vxlan id 100 remote 192.168.174.135 dstport 4789 dev eno33554960
#创建vxlan隧道  remote 为远程地址 dstport 为远程端口 dev 为本地物理出口
[root@KVM_1 ~] # ip link set vxlan10 up  #开启隧道
[root@KVM_1 ~] # brctl addif br-vx vxlan10  #将隧道加入网桥


#在KVM_2主机上操作

#安装KVM相关软件

1
2
3
4
5
6
7
8
[root@KVM_2 ~] #  yum -y install qemu-kvm libvirt virt-install bridge-utils
[root@KVM_2 ~] # systemctl start libvirtd.service 
[root@KVM_2 ~] # brctl addbr br-vx     #创建网桥
[root@KVM_2 ~] # ip link set br-vx up  #启动网桥
[root@KVM_2 ~] # ip link add vxlan10 type vxlan id 100 remote 192.168.174.134 dstport 4789 dev eno16777736
#创建vxlan隧道  remote 为远程地址 dstport 为远程端口 dev 为本地物理出口
[root@KVM_2 ~] # ip link set vxlan10 up  #开启隧道
[root@KVM_2 ~] # brctl addif br-vx vxlan10  #将隧道加入网桥



#创建虚拟机 此处用的是 cirros镜像 下载地址

1
2
3
4
5
6
[root@KVM_1 ~] #  virt-install --name=vm4  --network bridge=br-vx --graphics vnc,listen=0.0.0.0 --noautoconsole --ram=512 --vcpus=1 --boot hd --disk  path=/opt/cirros-0.3.4-x86_64-disk.img
[root@KVM_1 ~] # brctl show
bridge namebridge idSTP enabledinterfaces
br-vx8000.265a5b09d49enovnet0
vxlan10
virbr08000.52540057b868yesvirbr0-nic


1
2
3
4
5
6
[root@KVM_2 ~] #  virt-install  --name=vm4   --network bridge=br-vx  --graphics vnc,listen=0.0.0.0  --noautoconsole  --ram=512  --vcpus=1  --boot hd   --disk path=/opt/cirros-0.3.4-x86_64-disk.img
[root@KVM_2 ~] # brctl show
bridge name bridge  id  STP enabled interfaces
br-vx 8000.e6d9912583a0 no vnet0
vxlan10 
virbr0 8000.5254006a8c44  yes  virbr0-nic



#创建虚拟机时 网络选择的是连接 到 br-vx 而不是default网络(virbr0) 




#用VNC连接到虚拟机

wKiom1joqPjhUWTEAADyv8Vkq4A142.png


wKiom1joqTeQFh2JAABNSFJnE94268.png


#由于我们没有搭建DHCP 所以需要手动设置IP地址

wKiom1joqiHz64vyAAAQ5_vaTk4230.png


wKiom1joqmCgqaXnAAASIlEiv1Q139.png

#重启


#KVM_2上的虚拟机进行相同的操作



#测试 192.168.1.3 ping 另一台物理机上的 虚拟机 192.168.1.2

wKioL1jorELjHtK6AABn9mf2-mY037.png






#注意:由于我们用的都是命令进行配置的所以物理机重启后就会没有了

#          所以这里给出 br-vx的配置文件


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@KVM_2 ~] # cat /etc/sysconfig/network-scripts/ifcfg-br-vx 
DEVICE=br-vx
STP=no
TYPE=Bridge
BOOTPROTO=none
DEFROUTE= yes
IPV4_FAILURE_FATAL=no
IPV6INIT= yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE= yes
IPV6_FAILURE_FATAL=no
NAME=br-vx
UUID=8fc90c0c-81b9-496c-b25f-de6e8a206bf9
ONBOOT= yes
IPADDR=192.168.1.1                #这里的IP地址是网桥的IP地址,方便做DHCP
PREFIX=24









本文转自 chaunceyjiang  51CTO博客,原文链接:http://blog.51cto.com/cqwujiang/1914123,如需转载请自行联系原作者
目录
相关文章
|
12月前
|
Linux 虚拟化 iOS开发
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
2361 0
VMware Remote Console 13.0.1 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
|
Linux 虚拟化 iOS开发
Rocky Linux 10 x86_64 OVF (sysin) - VMware 虚拟机模板
Rocky Linux 10 x86_64 OVF (sysin) - VMware 虚拟机模板
987 35
Rocky Linux 10 x86_64 OVF (sysin) - VMware 虚拟机模板
|
Linux 虚拟化 iOS开发
Rocky Linux 10 aarch64 OVF (sysin) - Apple silicon VMware 虚拟机模板
Rocky Linux 10 aarch64 OVF (sysin) - Apple silicon VMware 虚拟机模板
742 34
Rocky Linux 10 aarch64 OVF (sysin) - Apple silicon VMware 虚拟机模板
|
Linux 虚拟化 iOS开发
VMware Remote Console 13.0.0 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
VMware Remote Console 13.0.0 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
3834 1
VMware Remote Console 13.0.0 for macOS, Linux, Windows - vSphere 虚拟机控制台的桌面客户端
|
消息中间件 Linux
Linux中的System V通信标准--共享内存、消息队列以及信号量
希望本文能帮助您更好地理解和应用System V IPC机制,构建高效的Linux应用程序。
740 48
|
消息中间件 Linux C++
c++ linux通过实现独立进程之间的通信和传递字符串 demo
的进程间通信机制,适用于父子进程之间的数据传输。希望本文能帮助您更好地理解和应用Linux管道,提升开发效率。 在实际开发中,除了管道,还可以根据具体需求选择消息队列、共享内存、套接字等其他进程间通信方
519 16
|
Ubuntu Linux 虚拟化
Linux虚拟机网络配置
【10月更文挑战第25天】在 Linux 虚拟机中,网络配置是实现虚拟机与外部网络通信的关键步骤。本文介绍了四种常见的网络配置方式:桥接模式、NAT 模式、仅主机模式和自定义网络模式,每种模式都详细说明了其原理和配置步骤。通过这些配置,用户可以根据实际需求选择合适的网络模式,确保虚拟机能够顺利地进行网络通信。
2524 1
|
Linux 网络安全
Linux虚拟机与主机和Xshell的连接问题解决
Linux虚拟机与主机和Xshell的连接问题解决
714 1
LINUX01_使用NET模式安装虚拟机(八)
LINUX01_使用NET模式安装虚拟机(八)
276 0
LINUX01_使用NET模式安装虚拟机(八)
LINUX01_使用NET模式安装虚拟机(七)
LINUX01_使用NET模式安装虚拟机(七)
296 0
LINUX01_使用NET模式安装虚拟机(七)