`
haoningabc
  • 浏览: 1478486 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
组播:
试验:
在三台机器上
192.168.139.251
192.168.139.252
192.168.139.253

每台机器建立上建立一个namespace,通过vxlan相连
在任何一台机器上建的vm都可以和其他机器的vm互通。



每台机器上对应的内网的ip
192.168.139.251----namespace:10.1.0.5/24------------vm:10.3.0.11
192.168.139.252----namespace:10.1.0.6/24------------vm:10.4.0.12
192.168.139.253----namespace:10.1.0.7/24
★★第一步
zubo.sh
#################
#!/bin/sh
ip netns add zou  
ip link add zouveth0 type veth peer name zouveth1  
ip link set zouveth1 netns zou 
#这里改变,设置这个namespace内的局域网ip
ip netns exec zou ip addr add 10.1.0.5/24 dev zouveth1   
ip netns exec zou ip addr
brctl addbr br-zou  
brctl addif br-zou zouveth0  

#这个是单点的设置,remote后面对应对方的ip地址
#ip link add vxlan-10 type vxlan id 10 remote 192.168.139.252 dev eth0 
#这里的ip改变,设置成自己的,dev后面设置带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 -d link show 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

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

依次在
192.168.139.252
192.168.139.253
修改脚本:
ip netns exec zou ip addr add 10.1.0.5/24 dev zouveth1 
上把局域网ip 10.1.0.5/24改成 10.1.0.6/24 和10.1.0.7/24

ip link add vxlan-10 type vxlan id 10 group 239.1.1.1 local 192.168.139.251 dev eth0
local 192.168.139.251改成
local 192.168.139.252

local 192.168.139.253


测试:
注意这里,
如果执行脚本的顺序是251,252,253
#则需要从253上ping 前两个机器,否则ping不通,因为执行251的时候,252和253的数据没同步吧,怎么同步?
似乎简单ip后就没有重现了(eth0上有ip),如果是复杂的网桥会有类似问题。

ip netns exec zou ping 10.1.0.5
ip netns exec zou ping 10.1.0.6

★★★第二步
测试vm:
启动vm是的脚本
qemu_net.sh内容为
##########################
#!/bin/sh
brctl addbr br0  
ip link set br0 up  
ip link set tap1 up  
brctl addif br0 tap1  
ip addr add 10.3.0.1/24 dev br0 
iptables -t nat -A POSTROUTING -s "10.3.0.0/24" ! -d "10.3.0.0/24" -j MASQUERADE

#########################
删除vm时的脚本
delbr0.sh
######################
#!/bin/sh
ip link set br0 down
brctl delbr br0

#####################
建立一个桥,vm的内网

qemu.sh:
################
/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"  -nographic -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_net.sh,downscript=delbr0.sh

#############
ip netns exec zou ./qemu.sh
在namespace上建vm是为了
脚本里面的内容建立在namespace中

ip netns exec zou ip a
ip netns exec zou brctl show

然后在vm中执行:
###############
#!/bin/sh
ip addr add 10.3.0.11/24 dev eth0
ip link set eth0 up
ip route add default via 10.3.0.1

#################
在vm中ping外面

ping 10.3.0.1
ping 10.1.0.5
ping 10.1.0.6
ping 10.1.0.7

vm已经能访问另两台机器的namespace,但是另两台的namespace并不能访问这台vm,
如果192.168.139.252的namespace想访问vm:10.3.0.11
则需要在192.168.139.252上操作:
ip netns exec zou ip route add  10.3.0.0/24 via 10.1.0.5
ip netns exec zou ping 10.3.0.11

同理在192.168.139.252上建立10.4.0.12的vm
qemu_net.sh
##################
#!/bin/sh
brctl addbr br0  
ip link set br0 up  
ip link set tap1 up  
brctl addif br0 tap1  
ip addr add 10.4.0.2/24 dev br0 
iptables -t nat -A POSTROUTING -s "10.4.0.0/24" ! -d "10.4.0.0/24" -j MASQUERADE

################################
启动vm:
注意mac地址的变更,不要和建立过的相同
############
/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"  -nographic -boot order=dc,menu=on -net nic,vlan=0,macaddr=52:54:00:12:34:22,model=e1000,addr=08 -net tap,name=haha,ifname=tap1,script=qemu_net.sh,downscript=delbr0.sh

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


然后在vm中执行:
###############
#!/bin/sh
ip addr add 10.4.0.11/24 dev eth0
ip link set eth0 up
ip route add default via 10.4.0.2

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

在这个vm中是可以 ping 10.3.0.11的
因为这个vm的namespace已经ip route过了

如果想251上的vm:10.3.0.11也能ping通252上的vm:10.4.0.12

在251上执行
ip netns exec zou ip route add 10.4.0.0/24 via 10.1.0.6
进入251上的vm:10.3.0.11
ping 10.4.0.12则通了


★★★★★★★★★★★★★★★★★★★★★★★
#################
################
试验如果是点对点:
就把
#这里的ip改变,设置成自己的,dev后面设置带ip的网卡名
ip link add vxlan-10 type vxlan id 10 group 239.1.1.1 local 192.168.139.251 dev eth0
改成
ip link add vxlan-10 type vxlan id 10 remote 192.168.139.252 dev eth0
remote是指的对方节点的ip










  • 大小: 31 KB
分享到:
评论

相关推荐

    VXLAN手动隧道 集中式网关,不同子网互访

    VXLAN手动隧道 集中式网关,不同子网互访。VXLAN手动隧道 集中式网关,不同子网互访。VXLAN手动隧道 集中式网关,不同子网互访。VXLAN手动隧道 集中式网关,不同子网互访。VXLAN手动隧道 集中式网关,不同子网互访。...

    VxLAN-技术介绍及华为VxLAN方案

    1. **组网准备**:确保虚拟机加入到同一个VXLAN,并且VXLAN主机已经加入到多播组。 2. **ARP请求**:虚拟机VM1发出ARP请求,请求中包含自身的MAC地址。该请求经过VTEP1封装后,以多播方式在VxLAN网络中传播。 3. **...

    关于VLAN和VXLAN的理解.one

    VXLAN技术可以基于三层网络结构来构建二层虚拟网络,通过VXLAN技术可以将处于不同网段网络设备整合在同一个逻辑链路层网络中,对于终端用户而言,这些网络设备似乎“真实地”部署在了同一个链路层网络中。

    H3C VXLAN详细配置知道

    1.2.2 学习MAC地址:VXLAN使用动态学习或静态配置的方式学习主机的MAC地址,实现二层通信。 1.2.3 接入模式:包括集中式和分布式接入模式,不同模式下VTEP有不同的配置。 1.2.4 转发单播流量:VXLAN通过学习到的MAC...

    Arista_Networks_VXLAN

    - 网络覆盖:VXLAN通过封装帧的方式实现了在不同网络之间通信,因此网络设计时应考虑如何有效地管理和优化这些封装流量。 - 性能:由于VXLAN使用额外的封装层,因此它可能对网络性能产生一定影响。设计VXLAN解决方案...

    华三H3C-VXLAN配置-扫盲必看

    VXLAN通过使用IP多播或者单播的方式建立隧道,在隧道两端的VTEP之间传递数据。 ##### VXLAN报文封装格式 VXLAN报文封装是在原始二层帧的基础上添加了UDP/IP头部和VXLAN头部。具体结构如下: - **原始二层帧**:...

    CISCO LIVE VXLAN 部署

    VXLAN的数据平面学习机制是通过多目标分发树实现的,其中所有边缘设备都加入了这一分布树。这种方法利用了协议学习,允许边缘设备之间通过协议广告主机信息。 另外,VXLAN数据包结构的设计是整个技术实现的关键。...

    VXLAN数据中心应用

    - **虚拟机移动性增强**:借助VXLAN技术,虚拟机可以在不同物理服务器之间自由迁移,而无需改变其网络配置,这对于提高资源利用率和灵活性至关重要。 - **大规模扩展能力**:VXLAN支持超过1600万个不同的虚拟网络...

    VXLAN技术介绍.pdf

    3. VXLAN网关:VXLAN网关用于连接VXLAN网络和传统VLAN网络,VXLAN网关实现VNI和VLAN ID之间的映射。 VXLAN技术的应用: 1.灵活部署应用:在VXLAN环境中,应用部署不受物理位置和3层网络边界限制,例如某应用的地址...

    VXLAN-Routing-Design.pdf

    它解决了在不同数据中心(Data Center,DC)之间的二层网络打通问题,允许虚拟机(VM)在多个地理位置的数据中心之间移动,同时保持相同的网络连接性和配置不变。这种技术的主要贡献者包括Arista、Broadcom、Cisco、...

    华为vxlan技术详解及配置手册

    首先,VXLAN 是通过在二层网络上叠加三层网络来实现的,它通过在IP报文中封装二层VLAN帧,从而打破了传统VLAN的4096个标签限制,理论上可以支持多达1600万个不同的VLAN ID。这使得大型数据中心或云计算环境能够更...

    VXLAN基本概述.docx

    VXLAN 解决了这些挑战的方法是,将管理员规划的同一区域内的 VM 发出的原始报文封装成新的 UDP 报文,并使用物理网络的 IP 和 MAC 地址作为外层头,这样报文对网络中的其他设备只表现为封装后的参数。因此,极大降低...

    最好的VXLAN介绍.pdf

    2. 多租户隔离:通过VNI来区分不同的租户,每个VXLAN网络可以视为一个独立的广播域,与物理位置无关,实现了网络的隔离。 3. 灵活性:VXLAN封装格式支持在IP网络上传输,使得虚拟机可以跨数据中心迁移,而无需更改...

    H3C VXLAN【Virtual eXtensible LAN】技术文档汇总集.rar

    在VXLAN网络中,IS-IS用于在不同的VXLAN域之间建立连接,使得跨域通信成为可能。 3. VXLAN技术基础:VXLAN通过在IP网络上传输二层数据帧,使用一个24位的VXLAN网络标识符(VNID)来标识不同的VXLAN实例,这样每个...

    VXLAN基础配置(二层网关)【基于华为ensp】

    VXLAN通过在IP网络上封装二层以太网帧来扩展传统的二层网络,使得虚拟机(VM)可以在不同的物理网络段之间通信,而无需依赖传统的 VLAN 扩展方法。VXLAN 使用24位的VNI(VXLAN Network Identifier)来标识不同的...

    H3C-VXLAN配置-扫盲必看.pdf

    VXLAN的协议规范定义了VXLAN报文的封装、传输和解析等一系列标准,确保不同厂商的设备能够在VXLAN网络中互通。 七、配置VXLAN 配置VXLAN主要包括以下任务: 1. VXLAN配置任务简介:介绍配置VXLAN需要完成的步骤和...

    认识VXLAN - 云计算技术 - 深信服社区.pdf

    这就要求网络能够支持虚拟机在物理主机之间迁移,同时保持其网络配置(如IP地址、MAC地址)不变,即“无感知”迁移。 传统的数据中心网络架构通常基于二层(数据链路层)和三层(网络层)的分层设计,以VLAN技术为...

Global site tag (gtag.js) - Google Analytics