OpenStack-17-openstack三层网络vxlan

(一)问题思考

思考:为什么现在的公有云买的云主机,使用公网ip地址连接后,在云主机上ifconfig看到的却是一个私网ip?

思考:公有云上每一个用户都可以建立多个vpc网络,云厂商如何实现这么多vpc网络的隔离?

使用vlan的话,最多产生1-4094个隔离的网络(网段). 不够云厂商使用

使用vxlan的话,最多产生4096*4096-2约等于16777214个隔离的网络(1677万)

使用vxlan,对于平台来说,可以节约IP地址, 
对于用户来说,安全性提高(没有公网ip,就不会被攻击.需要公网ip,在进行绑定)

(二)配置步骤

1、控制节点配置

①三层网络vxlan控制节点配置:新增网卡ifcfg-eth2

为所有节点,增加一块网卡,作为vxlan网络的隧道通信ip

[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2
TYPE=Ethernet
BOOTPROTO=none
NAME=eth2
DEVICE=eth2
ONBOOT=yes
IPADDR=172.16.1.11
NETMASK=255.255.255.0
GATEWAY=172.16.1.254
DNS1=223.5.5.5
[root@controller ~]#ifup eth2



②三层网络vxlan控制节点配置,修改neutron配置

修改控制节点/etc/neutron/neutron.conf文件
[DEFAULT]
...
core_plugin = ml2
service_plugins =

修改为:
[root@controller ~]# vim /etc/neutron/neutron.conf
[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True

③三层网络vxlan控制节点配置,修改ml2

将/etc/neutron/plugins/ml2/ml2_conf.ini修改为
[DEFAULT]
[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = linuxbridge,l2population
extension_drivers = port_security
[ml2_type_flat]
flat_networks = provider,net172_16
[ml2_type_geneve]
[ml2_type_gre]
[ml2_type_vlan]
[ml2_type_vxlan]
#vxlan的ID范围,最多到1677万
#值若给的太大,重启会特别慢,而且可能会报错
vni_ranges = 1:100000
[securitygroup]
enable_ipset = True

④三层网络vxlan控制节点配置:linuxbridge_agent.ini修改

将/etc/neutron/plugins/ml2/linuxbridge_agent.ini修改为
[DEFAULT]
[agent]
[linux_bridge]
physical_interface_mappings = provider:eth0,net172_16:eth1
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
[vxlan]
enable_vxlan = True
#配置隧道通讯专用的ip,地址可以变动,只需和新增的网卡相同
local_ip = 172.16.1.11
l2_population = True

⑤三层网络vxlan控制节点配置l3_agent.ini

将/etc/neutron/l3_agent.ini添加如下
[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =

⑥重启各个服务

重启服务:
systemctl restart neutron-server.service   neutron-linuxbridge-agent.service neutron-dhcp-agent.service  neutron-metadata-agent.service
服务重启后启动l3-agent
systemctl enable neutron-l3-agent.service
systemctl start neutron-l3-agent.service

2、计算节点配置

①三层网络vxlan计算节点配置:linuxbridge_agent.ini

31的控制节点:
将/etc/neutron/plugins/ml2/linuxbridge_agent.ini修改为
[DEFAULT]
[agent]
[linux_bridge]
physical_interface_mappings = provider:eth0,net172_16:eth1
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
[vxlan]
enable_vxlan = True
#控制节点隧道专用ip
local_ip = 172.16.1.31
l2_population = True

32的控制节点;
将/etc/neutron/plugins/ml2/linuxbridge_agent.ini修改为
[DEFAULT]
[agent]
[linux_bridge]
physical_interface_mappings = provider:eth0,net172_16:eth1
[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
[vxlan]
enable_vxlan = True
#控制节点隧道专用ip
local_ip = 172.16.1.32
l2_population = True


#重启服务
systemctl restart  neutron-linuxbridge-agent.service


在控制节点查看:
#展示L3 agent则成功
[root@controller ~]# neutron agent-list





3、web界面操作

步骤1:修改oldboy外网为外部网络。管理员-网络-oldbly-编辑网络-修改为外部网络
修改为外部网络后网络拓扑的图标会变换
image.png
image.png
image.png
步骤2:创建一个内部测试vpc网络。项目-网络-创建网络(test,192.168.0.0/24)
image.png

image.png

image.png

image.png

image.png
步骤3:开启外部网络的路由功能。将网络(内网vpc)和外网oldboy连通

在computer1上:


[root@computer1 ~]# vim /etc/openstack-dashboard/local_settings
OPENSTACK_NEUTRON_NETWORK = {
    'enable_router': True,

#重启apache:
[root@computer1 ~]# systemctl restart httpd

之前是没有路由器的


image.png

刷新后出现路由器


image.png

创建一个路由器
image.png

路由器创建成功


image.png

点击路由器,添加端口
image.png

指定子网
image.png

网络打通
image.png
基于vpc网络启动实例
image.png

image.png

image.png

image.png

ifconfig是看不到外网ip的


image.png

测试外网访问成功(vpc-路由器-外网)
image.png

目前虚机可以访问外网
但是外部网络无法访问虚机内部
外部用户只可以访问到vpc的外网卡地址


image.png

如何配置机器被外网访问
需要绑定一个外界网络的一个浮动ip。在对应实例右面选择绑定浮动ip。通过浮动ip地址链接至实例虚拟机。


image.png
image.png
image.png
image.png

(三)网络原理图:

image

查看网络容器:

ip netns

进入容器:

ip netns exec ... /bin/bash

查看地址情况:

ifconfig
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352