- 浏览: 1477773 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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.55
192.168.139.221
两台机器先都关闭防火墙,iptables selinux等
在每个服务器上分建立两个namespace:zou和huiying
服务器和namespace通过veth peer连接
55服务器上的两个namespace中的ip都是 10.1.0.5
221服务器上的两个namespace中的ip都是10.1.0.6
每台服务器上设置个两个vxlan,remote都设置成对方的ip
每台服务器建立两个桥接,每个桥接都对应一个namespace,
桥接上一头接连接namespace的veth 中的一头
另一头接vxlan
这样保证一台服务器上的某个namespace
和另一个服务器上的相同的namespace之间是可以互相ping通的,而且namespace之间的ip是可以相同且互不影响的
现在192.168.139.221这台机器上操作:
开启vxlan的内核模块
添加两个namespace
添加veth peer,并把一头扔进namespace
建立两个桥接
并把veth peer的另一头放到桥上
简历两个vxlan,并把他绑定到对应的桥上,
注意vxlan的remote 指向另一头的ip
这种配置是点对点的,
如果是多台机器
使用组播地址
参考
http://www.cnblogs.com/sammyliu/p/4985907.html
查看vxlan
把相应的veth peer namespace中的lo,桥,vxlan都up起来
配置另一台机器139.55,类似的操作,只要把vxlan的remote的ip指向221
这样55对应的两个namespace中的IP都为 10.1.0.5
221对应的两个namespace重点ip都为 10.1.0.6
在55中
先查看vxlan的mac地址
再ping 221那台机器上的namespace中的ip
在221上查看
zou这个namespace中
可以对比对应的mac地址观察
另一个命名空间huiying则没有反应
bridge fdb
######################总结
架构就是两台服务器
192.168.139.55
192.168.139.221
两台机器先都关闭防火墙,iptables selinux等
[root@centos7 ~]# systemctl stop firewalld [root@centos7 ~]# systemctl disable firewalld Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service. [root@centos7 ~]# [root@centos7 ~]# iptables -F
在每个服务器上分建立两个namespace:zou和huiying
服务器和namespace通过veth peer连接
55服务器上的两个namespace中的ip都是 10.1.0.5
221服务器上的两个namespace中的ip都是10.1.0.6
每台服务器上设置个两个vxlan,remote都设置成对方的ip
每台服务器建立两个桥接,每个桥接都对应一个namespace,
桥接上一头接连接namespace的veth 中的一头
另一头接vxlan
这样保证一台服务器上的某个namespace
和另一个服务器上的相同的namespace之间是可以互相ping通的,而且namespace之间的ip是可以相同且互不影响的
现在192.168.139.221这台机器上操作:
开启vxlan的内核模块
[root@magnum ~]# modprobe vxlan [root@magnum ~]# lsmod|grep vxlan vxlan 41236 0 ip6_udp_tunnel 12755 1 vxlan udp_tunnel 13187 1 vxlan
添加两个namespace
[root@magnum ~]# ip netns add zou [root@magnum ~]# ip netns add huiying [root@magnum ~]# ip netns
添加veth peer,并把一头扔进namespace
[root@magnum ~]# ip link add zouveth0 type veth peer name zouveth1 [root@magnum ~]# ip link add hyveth0 type veth peer name hyveth1 [root@magnum ~]# [root@magnum ~]# ip link set zouveth1 netns zou [root@magnum ~]# ip link set hyveth1 netns huiying [root@magnum ~]# [root@magnum ~]# ip netns exec zou ip addr add dev zouveth1 10.1.0.5/24 [root@magnum ~]# ip netns exec huiying ip addr add dev hyveth1 10.1.0.5/24 [root@magnum ~]# ip netns exec zou ip addr 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 5: zouveth1@if6: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether ca:c6:5f:d3:4d:78 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 10.1.0.5/24 scope global zouveth1 valid_lft forever preferred_lft forever
建立两个桥接
并把veth peer的另一头放到桥上
[root@magnum ~]# brctl addbr br-zou [root@magnum ~]# brctl addbr br-hy [root@magnum ~]# brctl show bridge name bridge id STP enabled interfaces br-hy 8000.000000000000 no br-zou 8000.000000000000 no virbr0 8000.525400f67072 yes virbr0-nic [root@magnum ~]# [root@magnum ~]# brctl addif br-zou zouveth0 [root@magnum ~]# brctl addif br-hy hyveth0
简历两个vxlan,并把他绑定到对应的桥上,
注意vxlan的remote 指向另一头的ip
[root@magnum ~]# ip link add vxlan-10 type vxlan id 10 remote 192.168.139.55 dev eth0 vxlan: destination port not specified Will use Linux kernel default (non-standard value) Use 'dstport 4789' to get the IANA assigned value Use 'dstport 0' to get default and quiet this message [root@magnum ~]# [root@magnum ~]# [root@magnum ~]# ip link add vxlan-20 type vxlan id 20 remote 192.168.139.55 dev eth0 vxlan: destination port not specified Will use Linux kernel default (non-standard value) Use 'dstport 4789' to get the IANA assigned value Use 'dstport 0' to get default and quiet this message [root@magnum ~]# [root@magnum ~]# brctl addif br-zou vxlan-10 [root@magnum ~]# brctl addif br-hy vxlan-20 [root@magnum ~]# brctl show bridge name bridge id STP enabled interfaces br-hy 8000.2a1d69b51d52 no hyveth0 vxlan-20 br-zou 8000.1a724b6efa37 no vxlan-10 zouveth0 virbr0 8000.525400f67072 yes virbr0-nic
这种配置是点对点的,
如果是多台机器
使用组播地址
ip link add vxlan-10 type vxlan id 10 group 224.0.0.2 dev eth0 dstport 4789
参考
http://www.cnblogs.com/sammyliu/p/4985907.html
查看vxlan
[root@magnum ~]# ip -d link show vxlan-10 11: vxlan-10: <BROADCAST,MULTICAST> mtu 1450 qdisc noop master br-zou state DOWN mode DEFAULT link/ether 92:fa:81:6a:1a:53 brd ff:ff:ff:ff:ff:ff promiscuity 1 vxlan id 10 remote 192.168.139.55 dev eth0 srcport 0 0 dstport 8472 ageing 300 addrgenmode eui64 [root@magnum ~]# ip -d link show vxlan-20 12: vxlan-20: <BROADCAST,MULTICAST> mtu 1450 qdisc noop master br-hy state DOWN mode DEFAULT link/ether 2a:1d:69:b5:1d:52 brd ff:ff:ff:ff:ff:ff promiscuity 1 vxlan id 20 remote 192.168.139.55 dev eth0 srcport 0 0 dstport 8472 ageing 300 addrgenmode eui64 [root@magnum ~]#
把相应的veth peer namespace中的lo,桥,vxlan都up起来
[root@magnum ~]# ip link set dev zouveth0 up [root@magnum ~]# ip link set dev hyveth0 up [root@magnum ~]# [root@magnum ~]# ip netns exec zou ip link set dev zouveth1 up [root@magnum ~]# ip netns exec huiying ip link set dev hyveth1 up [root@magnum ~]# [root@magnum ~]# ip netns exec zou ip link set dev lo up [root@magnum ~]# ip netns exec huiying ip link set dev lo up [root@magnum ~]# [root@magnum ~]# ip link set dev br-zou up [root@magnum ~]# [root@magnum ~]# ip link set dev br-hy up [root@magnum ~]# [root@magnum ~]# ip link set dev vxlan-10 up [root@magnum ~]# [root@magnum ~]# ip link set dev vxlan-20 up
配置另一台机器139.55,类似的操作,只要把vxlan的remote的ip指向221
modprobe vxlan lsmod|grep vxlan ip netns add zou ip netns add huiying ip netns show ip link add zouveth0 type veth peer name zouveth1 ip link add hyveth0 type veth peer name hyveth1 ip link set zouveth1 netns zou ip link set hyveth1 netns huiying ip netns exec zou ip a add dev zouveth1 10.1.0.5/24 ip netns exec huiying ip a add dev hyveth1 10.1.0.5/24 brctl addbr br-zou brctl addbr br-hy brctl addif br-zou zouveth0 brctl addif br-hy hyveth0 brctl show ip link add vxlan-10 type vxlan id 10 remote 192.168.139.221 dev eth0 ip link add vxlan-20 type vxlan id 20 remote 192.168.139.221 dev eth0 ip -d link show vxlan-10 ip -d link show vxlan-20 brctl addif br-zou vxlan-10 brctl addif br-hy vxlan-20 brctl show ip link set dev zouveth0 up ip link set dev hyveth0 up ip netns exec zou ip link set dev zouveth1 up ip netns exec huiying ip link set dev hyveth1 up ip netns exec zou ip link set dev lo up ip netns exec huiying ip link set dev lo up ip link set dev br-zou up ip link set dev br-hy up ip link set dev vxlan-10 up ip link set dev vxlan-20 up
这样55对应的两个namespace中的IP都为 10.1.0.5
221对应的两个namespace重点ip都为 10.1.0.6
在55中
先查看vxlan的mac地址
[root@centos7 ~]# ip netns exec zou ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 5: zouveth1@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether da:6f:4f:60:05:cd brd ff:ff:ff:ff:ff:ff link-netnsid 0 [root@centos7 ~]#
再ping 221那台机器上的namespace中的ip
[root@centos7 ~]# ip netns exec zou ping 10.1.0.6 PING 10.1.0.6 (10.1.0.6) 56(84) bytes of data. 64 bytes from 10.1.0.6: icmp_seq=1 ttl=64 time=0.026 ms 64 bytes from 10.1.0.6: icmp_seq=2 ttl=64 time=0.031 ms
在221上查看
zou这个namespace中
[root@magnum ~]# ip netns exec zou tcpdump -i zouveth1 -e -l -v|grep "da.*6f" tcpdump: listening on zouveth1, link-type EN10MB (Ethernet), capture size 65535 bytes 15:12:13.848660 da:6f:4f:60:05:cd (oui Unknown) > ca:c6:5f:d3:4d:78 (oui Unknown), ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 63120, offset 0, flags [DF], proto ICMP (1), length 84) 15:12:13.848693 ca:c6:5f:d3:4d:78 (oui Unknown) > da:6f:4f:60:05:cd (oui Unknown), ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 16897, offset 0, flags [none], proto ICMP (1), length 84) 15:12:14.849065 da:6f:4f:60:05:cd (oui Unknown) > ca:c6:5f:d3:4d:78 (oui Unknown), ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 63121, offset 0, flags [DF], proto ICMP (1), length 84) 15:12:14.849095 ca:c6:5f:d3:4d:78 (oui Unknown) > da:6f:4f:60:05:cd (oui Unknown), ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 16898, offset 0, flags [none], proto ICMP (1), length 84)
可以对比对应的mac地址观察
另一个命名空间huiying则没有反应
[root@magnum ~]# ip netns exec huiying tcpdump -i hyveth1 -e -l -v|grep "da.*6f" tcpdump: listening on hyveth1, link-type EN10MB (Ethernet), capture size 65535 bytes
bridge fdb
[root@centos7 ~]# bridge fdb 01:00:5e:00:00:01 dev eth0 self permanent 33:33:00:00:00:01 dev eth0 self permanent 33:33:ff:aa:80:17 dev eth0 self permanent 01:00:5e:00:00:fb dev eth0 self permanent 52:54:00:71:94:cc dev virbr0-nic master virbr0 permanent 02:79:96:c5:98:ab dev virbr0 vlan 1 master virbr0 permanent 52:54:00:71:94:cc dev virbr0-nic vlan 1 master virbr0 permanent 01:00:5e:00:00:01 dev virbr0-nic self permanent 33:33:00:00:00:01 dev zouveth0 self permanent 01:00:5e:00:00:01 dev zouveth0 self permanent 33:33:ff:72:d9:0a dev zouveth0 self permanent 33:33:00:00:00:01 dev hyveth0 self permanent 01:00:5e:00:00:01 dev hyveth0 self permanent 33:33:ff:b6:40:3f dev hyveth0 self permanent de:6b:2c:60:e9:c5 dev vxlan-10 vlan 1 master br-zou permanent ca:c6:5f:d3:4d:78 dev vxlan-10 master br-zou 7a:c0:eb:72:d9:0a dev zouveth0 vlan 1 master br-zou permanent da:6f:4f:60:05:cd dev zouveth0 master br-zou 7a:c0:eb:72:d9:0a dev zouveth0 master br-zou permanent de:6b:2c:60:e9:c5 dev vxlan-10 master br-zou permanent 46:78:2b:25:71:e9 dev br-zou vlan 1 master br-zou permanent 4a:30:4f:b6:40:3f dev hyveth0 vlan 1 master br-hy permanent fa:09:12:47:8f:77 dev br-hy vlan 1 master br-hy permanent 0e:f6:b2:b5:cb:d9 dev vxlan-20 vlan 1 master br-hy permanent 0e:f6:b2:b5:cb:d9 dev vxlan-20 master br-hy permanent 4a:30:4f:b6:40:3f dev hyveth0 master br-hy permanent 00:00:00:00:00:00 dev vxlan-10 dst 192.168.139.221 via eth0 self permanent ca:c6:5f:d3:4d:78 dev vxlan-10 dst 192.168.139.221 self 00:00:00:00:00:00 dev vxlan-20 dst 192.168.139.221 via eth0 self permanent [root@centos7 ~]#
######################总结
#任何一台机器 ip link brctl show brctl addbr br-hao ip link brctl addbr br-ning ip link set br-hao up ip link set br-ning up ip netns add hao ip netns ip link add haoveth0 type veth peer name haoveth1 ip link add ningveth0 type veth peer name ningveth1 ip link set haoveth1 netns hao ip link set ningveth1 nents ning ip link set ningveth1 netns ning ip link set ningveth0 up ip link set haoveth0 up ip netns exec hao ip link set haoveth1 up ip netns exec ning ip link set ningveth1 up ip netns exec hao ip link set lo up ip netns exec ning ip link set lo up brctl addif br-hao haoveth0 brctl addif br-ning ningveth0 ip netns exec hao ip addr ip netns exec hao ip link ip netns exec hao ifconfig ip netns exec ning ifconfig ip link add vxlan-10 type vxlan id 10 group 224.0.0.2 dev eth0 dstport 4789 ip link add vxlan-20 type vxlan id 20 group 224.0.0.2 dev eth0 dstport 4790 ip link set vxlan-10 up brctl addif br-hao vxlan-10 ip link set vxlan-20 up brctl addif br-ning vxlan-20 ip netns exec hao ip addr add dev haoveth1 10.1.0.6/24 ip netns exec ning ip addr add dev ningveth1 10.1.0.6/24 #这里的ip改一下 brctl addif br-hao vxlan-10 ip netns exec hao ip link ip netns exec hao ifconfig ip netns exec hao ping 10.1.0.5 ip netns exec ning ping 10.1.0.5
发表评论
-
xl2tp 备份
2019-09-24 16:25 6932019年9月24日更新: 注意,需要开启firewall ... -
sdl笔记
2019-01-31 17:19 733sdl教程教程 https://github.com/Twin ... -
tinyemu
2019-01-24 17:59 1433参考https://bellard.org/jslinux/t ... -
建立tap设备的c的代码
2019-01-08 19:09 473tapper.c #include <stdio.h& ... -
br0和tap0的互相影响
2019-01-02 19:17 814转载 http://www.cnblogs.com/wlei/ ... -
aws搭建xl2tp给iphone使用
2018-12-26 21:37 18922019年12月26日 可以参考原来的配置 https:// ... -
consul的基本使用
2017-06-27 11:13 1402### 安装 [centos7上consul的安装](ht ... -
lvs的helloworld
2017-06-13 20:36 596###################lvs######### ... -
M版openstack(ovs,dvr,动态迁移)
2017-06-09 10:30 1788主要内容 1.先搭建三个节点的环境,dvr模式 2.建一个vm ... -
M版本的openstack的例子(linuxbridge)
2017-05-23 15:05 557做两个节点控制节点和计算节点 mcontroller521 ... -
系统调用的helloworld
2017-05-04 16:14 634《2.6内核标准教程》 p293 #include < ... -
bitcoin和cgminer的安装
2017-04-05 22:45 1959参考 http://blog.csdn.net/rion_ch ... -
ceph安装和常用命令
2017-03-21 21:55 953/etc/hosts ssh-keygen ssh-copy- ... -
mobile terminal 笔记
2016-12-02 15:35 626找出旧的iphone4 越狱之后可以变个小操作系统 mobi ... -
vxlan多台主机的vm之间不同网段互通
2016-09-19 21:06 4373组播: 试验: 在三台机器上 192.168.139.251 ... -
vxlan多台主机的vm之间相同网段互通
2016-09-19 16:30 2239三台机器 建立namespace ... -
qemu用tap方式启动vm的网络试验(ip route)
2016-09-14 11:29 2806ip route add 192.168.8.0/24 via ... -
openstack的M版本的neutron的实验
2016-09-01 20:00 3130试验步骤: 1.创建内部 ... -
socket基础和select(python)
2016-06-14 17:21 1802上接 c语言的socket基础ht ... -
socket基础(c语言)
2016-06-14 16:45 995不使用select 普通的基础socket连接,对多个客户端的 ...
相关推荐
云计算网络Neutron网络入门 云计算网络Neutron是OpenStack核心项目之一,提供云计算环境下的虚拟网络功能。Neutron的功能日益强大,并在Horizon面板中已经集成该模块。作为Neutron的核心开发者之一,个人觉得...
深入理解Neutron-- OpenStack 网络实现- PDF版本 深入理解Neutron 中文版资源
openstack-Neutron深入理解.pdf
neutron-fwaas 是 OpenStack Neutron 的防火墙服务。这个包包括了 Neutron 防火墙服务(FWaaS)的源代码,例如第三方驱动。这个库需要 Neutron 运行。 标签:neutron
【标题】"最小最好用的时间同步器Neutron1.07"揭示了这款软件的核心特点:小巧精简和高效实用。Neutron1.07是一款专注于时间同步功能的应用程序,其体积仅为10KB,这在当今动辄数百MB甚至更大的软件环境中显得尤为...
*自动键锁(锁面积闪烁)与动态的色彩响应基础上,正在播放音乐。 *自定义设置。 推荐硬件: - 1GHz以上的CPU(单,或多核)。 - 480X800的屏幕分辨率,或更高。 激活说明: 先安装中子播放器,不要运行; 再安装...
本书是一本介绍 OpenStack网络的专著,本书将会从传统的网络技术开始,让读者在大脑中建立传统网络与 Neutron...本书适合 OpenStack爱好者和有一定基础的技术工程师以及想要深入理解 OpenStack Neutron的架构师使用。
OpenStack Neutron 原理详解
Neutron 网络基础 说明 本书记录了笔者在工作及日常学习中的一些学习笔记以及经验。这是一本关于Neutron的基础书籍,或许其最终的篇幅会的很长,但还是希望大家把他当成一本基础书籍来翻阅。下面是本书在编写时候的...
"专业时间同步器Neutron"是一款专为解决此类问题设计的软件,尤其针对微软时间同步服务可能出现的问题提供了有效的解决方案。这款国内开发的时间同步器提供了多种服务器选择,以确保用户能够更稳定、更准确地与全球...
深入理解Neutron-- OpenStack 网络实现- PDF版本 深入理解Neutron 中文版资源,可以放心下载!
根据文件信息,以下知识点涉及OpenStack网络组件Neutron的深入解读: Neutron是OpenStack的一个组件,负责为OpenStack云环境提供网络服务。在OpenStack中,Neutron被认为是较难掌握的组件之一,但对新手用户而言,...
OpenStack的Networking Service,通常称为Neutron,是云环境中网络管理的核心组件。Neutron的设计目标是提供“网络即服务(Networking as a Service)”,以应对云环境中的网络复杂性和多租户需求。传统的网络管理...
Title: Learning OpenStack Networking (Neutron) Author: James Denton Length: 300 pages Edition: 1 Language: English Publisher: Packt Publishing Publication Date: 2014-10-13 ISBN-10: 1783983302 ISBN-13:...
讲解Neutron概况。介绍了Linux的虚拟网络知识。讲述了Neutron的实现模型。讲述的Neutron的资源模型。讲述了Neutron的基本架构,以及架构中所涉及的Web机制、通信机制、并发机制等。
深入理解OpenStack Neutron 本资料共包含以下附件: 深入理解 Neutron -- OpenStack 网络实现openstack_understand_neutron.rar
在IT行业中,时间同步是网络服务和分布式系统中不可或缺的一部分,特别是对于云计算平台如OpenStack而言,其中的网络服务组件Neutron(也被称为OpenStack Networking)尤为重要。Neutron时间校对涉及确保网络设备和...
标题中的“时间校对 Neutron 可自启动且校对完成可自动关闭”指的是Neutron是一款专门用于调整和校准计算机系统时间的软件。这款工具不仅功能强大,而且设计得非常人性化,允许用户设定在系统启动时自动运行,进行...
OpenStack-Neutron原理详解.pdf
实验五的主题是"Neutron网络服务的安装与配置",这是一个OpenStack云平台中的关键组件,负责提供虚拟网络功能。Neutron允许在OpenStack环境中创建、管理和操作虚拟网络,为计算实例提供网络连接。 在实验中,首先...