- 浏览: 1444534 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
组播:
试验:
在三台机器上
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
#################
###################################
依次在
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内容为
##########################
#########################
删除vm时的脚本
delbr0.sh
######################
#####################
建立一个桥,vm的内网
在
qemu.sh:
################
#############
ip netns exec zou ./qemu.sh
在namespace上建vm是为了
脚本里面的内容建立在namespace中
ip netns exec zou ip a
ip netns exec zou brctl show
然后在vm中执行:
###############
#################
在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
##################
################################
启动vm:
注意mac地址的变更,不要和建立过的相同
############
#############
然后在vm中执行:
###############
################
在这个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
试验:
在三台机器上
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
发表评论
-
建立tap设备的c的代码
2019-01-08 19:09 437tapper.c #include <stdio.h& ... -
jslinux总结帖
2019-01-04 21:33 1017注意个问题: chrome不要用两个tab页,否则ping不通 ... -
br0和tap0的互相影响
2019-01-02 19:17 773转载 http://www.cnblogs.com/wlei/ ... -
M版openstack(ovs,dvr,动态迁移)
2017-06-09 10:30 1712主要内容 1.先搭建三个节点的环境,dvr模式 2.建一个vm ... -
M版本的openstack的例子(linuxbridge)
2017-05-23 15:05 526做两个节点控制节点和计算节点 mcontroller521 ... -
jslinux-deobfuscated-network
2017-02-13 22:37 613基础知识 查看网络包 tcpdump -i eth0 -e ... -
vxlan多台主机的vm之间相同网段互通
2016-09-19 16:30 2201三台机器 建立namespace ... -
qemu用tap方式启动vm的网络试验(ip route)
2016-09-14 11:29 2674ip route add 192.168.8.0/24 via ... -
openstack的M版本的neutron的实验
2016-09-01 20:00 3053试验步骤: 1.创建内部 ... -
socket的方式使用qemu建立虚拟机
2016-06-24 17:54 1800qemu的-net参数 -net nic 必须有,基本配置mo ... -
tap的方式使用qemu建立虚拟机NAT网络
2016-06-23 18:03 9499基本概念: vm:虚拟机 ... -
qemu用nat的方式使用tap建立虚拟机
2016-06-23 16:15 11普通桥接参考 http://haoningabc.iteye. ... -
tap的方式使用qemu建立虚拟机桥接网络
2016-06-22 20:53 7613需求:建立一个虚拟机,使网络和内网一样,当一台普通接入内网的服 ... -
can't initialize iptables table错误
2016-04-26 10:05 737can't initialize iptables table ... -
linux下TUN/TAP虚拟网卡的使用
2016-03-31 18:46 4825tun在网络层 tap在二层 ls ... -
openstack L版本(openvswitch的安装和应用)
2016-03-24 15:04 2981参考L版本的linuxbridge的安装方式 和k版本的ov ... -
neutron router试验
2016-03-17 20:41 930上接 http://haoningabc.iteye.com/ ... -
openstack L版本(使用linux bridge的vxlan)
2016-03-12 23:35 2333参考 http://docs.openstack.org/li ... -
neutron基础九(qemu nat网络)
2016-02-06 17:21 1557接上基础八,kvm透传nested忽略 1.在主机ce ... -
neutron基础八(qemu 桥接网络)
2016-02-06 13:13 1487qemu的桥接和nat的qemu启动命令是一样的,但是后续的脚 ...
相关推荐
VXLAN技术可以基于三层网络结构来构建二层虚拟网络,通过VXLAN技术可以将处于不同网段网络设备整合在同一个逻辑链路层网络中,对于终端用户而言,这些网络设备似乎“真实地”部署在了同一个链路层网络中。
VxLAN-技术介绍及华为VxLAN方案,
华为官方vxlan技术详解及配置手册,涵盖了vxlan的所有配置模式与配置方法,详细解读VXLan
vxlan数据包
思科数据中心课程官方介绍文档,VXLAN 的原理以及部署方案。
N9K上NX-OS的VxLAN设计与配置。N9K上NX-OS的VxLAN设计与配置。N9K上NX-OS的VxLAN设计与配置。N9K上NX-OS的VxLAN设计与配置。N9K上NX-OS的VxLAN设计与配置。N9K上NX-OS的VxLAN设计与配置。N9K上NX-OS的VxLAN设计与...
vxlan实验,cisco N9K vxlan实验,基于nxos,详细实验步骤
VXLAN技术介绍.pdf
最好的VXLAN介绍.pdf
详细介绍了 华三VXLAN的概念,配置指导,配置案例,以及使用场景,适合数据中心SDN虚拟化以及小型局域网整网设计应用的技术
vxlan implemented in Arista switch
VXLAN在数据中心中具体应用方法
H3C基于多租户的云计算Overlay网络 VXLAN_IS-IS技术 VXLAN技术基础 VXLAN技术知识点梳理 数据中心Overlay解决方案汇报
华为CloudEngine 12800, 12800E, 8800, 7800, 6800, 5800系列交换机 VXLAN最佳实践
数据中心网络架构必备,VXLAN路由设计,多活数据中心2层打通,VXLAN技术。
openstack Newton vxlan模型搭建N版,亲测有效;手动搭建分布式OpenStack Newton vxlan模式v1.0
对思科Nexus系列交换机支持VXLAN进行试验操作
VXLAN(Virtual eXtensible LAN,可扩展虚拟局域网络)是基于IP 网络、采用“MAC in UDP”封 装形式的二层VPN 技术。VXLAN 可以基于已有的服务提供商或企业IP 网络,为分散的物理站点 提供二层互联,并能够为不同的...
vxlan配置详解本文提供高水平概述虚拟可扩展LAN (VXLAN)和验证命令和输出按照的一些配置示例
VXLAN基础与配置指南.zip