openstack-neutron(2)
neutron— 网络实践
- 控制节点三个网卡(eth0, eth1, eth2),计算节点两网卡(eth0, eth1)。
- 合并 Management 和 API 网络,使用 eth0,IP 段为 192.168.104.0/24。
- VM 网络使用 eht1。
- 控制节点的 eth2 与 External 网络连接,IP 段为 10.10.10.0/24。Linux Bridge :Open vSwitch:Open vSwitch 中的网络设备:br-ex:连接外部(external)网络的网桥。br-int:集成(integration)网桥,所有 instance 的虚拟网卡和其他虚拟网络设备都将连接到该网桥。br-tun:隧道(tunnel)网桥,基于隧道技术的 VxLAN 和 GRE 网络将使用该网桥进行通信。tap interface:命名为 tapXXXX。linux bridge:命名为 qbrXXXX。veth pair:命名为 qvbXXXX, qvoXXXXOVS integration bridge:命名为 br-int。OVS patch ports:命名为 int-br-ethX 和 phy-br-ethX(X 为 interface 的序号)。OVS provider bridge:命名为 br-ethX(X 为 interface 的序号)。物理 interface:命名为 ethX(X 为 interface 的序号)。OVS tunnel bridge:命名为 br-tun。三、三层网络介绍:虚拟机访问外网(1)虚拟机中访问一个外网地址192.168.253.3,并用 traceroute 命令跟踪路由查看:(2)根据网络拓扑,由于虚机访问外网要经过本网段的网关192.168.101.1,然后经过路由的外网接口转发出去,到达192.168.253.3查看路由命名空间:ip netns list(3)查看路由命名空间的网络配置,查到路由连接外网的端口和ip:ip netns exec qrouter-176bd7e0-6427-46a5-906a-be6a373a29a1 ip a路由上的外网端口正好接到外网网桥br-ex上:ovs-vsctl show 查看4)查看路由iptables NAT 转发规则,记录对私网做的SNATip netns exec qrouter-176bd7e0-6427-46a5-906a-be6a373a29a1 iptables -t nat -Lip netns exec qrouter-176bd7e0-6427-46a5-906a-be6a373a29a1 iptables -t nat -S规则解释: -A neutron-l3-agent-snat -o qg-8df29d32-d6 -j SNAT --to-source 192.168.253.65 记录了流入接口qg-8df29d32-d6 的数据包做SNAT(基于源地址转发),将源地址修改为192.168.253.65(5)验证:在虚机 ping 192.168.253.3 时, 可以通过 tcpdump 分别观察 router 两个 interface 的 icmp 数据包来验证 SNAT 的行为:在路由qrouter-176bd7e0-6427-46a5-906a-be6a373a29a1,可查到私有网络的网关接口qr-7b56f58b-b5,并在路由中抓取网关接口的icmp包:ip netns exec qrouter-176bd7e0-6427-46a5-906a-be6a373a29a1 tcpdump -i qr-7b56f58b-b5 -n icmp在路由中,抓取路由的外网接口qg-8df29d32-d6的icmp包:ip netns exec qrouter-176bd7e0-6427-46a5-906a-be6a373a29a1 tcpdump -i qg-8df29d32-d6 -n icmp外网访问虚机——floating ip原理SNAT 让 instance 能够直接访问外网,但外网还不能直接访问 instance。因为 instance 没有外网 IP。这里 “直接访问 instance” 是指通信连接由外网发起,例如从外网 SSH 实例。(1)首先将实例绑定浮动 ip192.168.253.66, floating IP 是配置在 router 的外网 interface 上的,再查看 router 的 interface 配置:(2)在实例中ping 192.168.253.3 外网地址,在路由的qr-7b56f58b-b5 接口上,实例访问外网ip,外网ip将数据包转发回实例ip;但在路由的qg-8df29d32-d6 接口上,始终是通过 floating IP 192.168.253.66 与外网通信。(3) 原因是在路由中iptables做了DNA T(基于目的地址转发),查看 router 的 NAT 规则:当 router 接收到从外网发来的包,如果目的地址是 floating IP 192.168.254.66,将目的地址修改为实例的 IP 192.168.101.3。这样外网的包就能送达到实例;当实例发送数据到外网,源地址 192.168.101.3 将被修改为 floating IP 192.168.253.66;四:neutron配置文件:neutron.conf[DEFAULT]state_path = /var/lib/neutronauth_strategy = keystonecore_plugin = ml2service_plugins = routerdhcp_agent_notification = trueallow_overlapping_ips = Truenotify_nova_on_port_status_changes = truenotify_nova_on_port_data_changes = truetransport_url = rabbit://openstack:admin@controller[agent][cors][cors.subdomain][database]connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron[keystone_authtoken]auth_uri = http://controller:5000auth_url = http://controller:35357memcached_servers = controller:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = neutronpassword = neutron[matchmaker_redis][nova]region_name = RegionOneauth_url = http://controller:35357auth_type = passwordproject_domain_name = defaultproject_name = serviceuser_domain_name = defaultusername = novapassword = nova[oslo_concurrency]lock_path = $state_path/lock[oslo_messaging_amqp][oslo_messaging_kafka][oslo_messaging_notifications][oslo_messaging_rabbit][oslo_messaging_zmq][oslo_middleware][oslo_policy][qos][quotas][ssl]ml2_conf.ini[DEFAULT][ml2]type_drivers = flat,vxlantenant_network_types = vxlanmechanism_drivers = openvswitch,l2populationextension_drivers = port_security[ml2_type_flat][ml2_type_geneve][ml2_type_gre][ml2_type_vlan][ml2_type_vxlan]vni_ranges = 1:1000[securitygroup]enable_ipset = trueopenvswitch_agent.ini[DEFAULT][agent]tunnel_types = vxlanl2_population = True[ovs]tunnel_bridge = br-tunlocal_ip = 192.168.254.63bridge_mappings =[securitygroup]firewall_driver = iptables_hybridenable_security_group = true[xenapi]l3_agent.ini[DEFAULT]interface_driver = openvswitchexternal_network_bridge = br-ex[agent][ovs]metadata_agent.ini[DEFAULT]nova_metadata_ip = controllermetadata_proxy_shared_secret = METADATA_SECRET[agent][cache]dhcp_agent.ini[DEFAULT]interface_driver = openvswitchdhcp_driver = neutron.agent.linux.dhcp.Dnsmasqenable_isolated_metadata = true[agent][ovs]注意:配置完配置文件后,提前准备ovs外网用的网桥,之后同步数据库,启动服务:(控制)yum install openstack-neutron openstack-neutron-ml2 openvswitch openstack-neutron-openvswitch ebtables -ysystemctl enable neutron-server.service neutron-dhcp-agent.service openvswitch neutron-openvswitch-agent neutron-metadata-agent.servicesystemctl start neutron-server.service neutron-dhcp-agent.service openvswitch neutron-openvswitch-agent neutron-metadata-agent.serviceovs-vsctl add-br br-exovs-vsctl add-port br-ex eth2systemctl enable neutron-l3-agent.servicesystemctl start neutron-l3-agent.service(计算)yum install openvswitch openstack-neutron-openvswitch ebtables ipsetsystemctl enable openvswitch neutron-openvswitch-agentsystemctl start openvswitch neutron-openvswitch-agentsystemctl stop openvswitch neutron-openvswitch-agent
openstack-neutron(2)的更多相关文章
- Openstack Neutron OVS ARP Responder
ARP – Why do we need it? In any environment, be it the physical data-center, your home, or a virtual ...
- Openstack Neutron L2 Population
Why do we need it, whatever it is? VM unicast, multicast and broadcast traffic flow is detailed in m ...
- 深入浅出新一代云网络——VPC中的那些功能与基于OpenStack Neutron的实现(一)
VPC的概念与基于vxlan的overlay实现很早就有了,标题中的"新"只是一个和传统网络的相对概念.但从前年开始,不同于以往基础网络架构的新一代SDN网络才真正越来越多的走进国 ...
- openstack neutron中涉及的网络设备
一.openstack neutron网络设备介绍 Bridge(网桥) 用于将两个LAN连接起来,主要靠的MAC地址学习机制.当网桥的Port收到包时会将包的源mac和port ID关联起来记入ma ...
- [转]OpenStack Neutron运行机制解析概要
转载自:http://panpei.net.cn/2013/12/04/openstack-neutron-mechanism-introduce/ 自从开学以来,玩OpenStack也已经3个月了, ...
- [转]OpenStack Neutron解析
1.为什么还需要linux bridge的部署方式? 2.哪一个网桥起着交换机的作用? 3.neutron如何实现私有网络的隔离 =================================== ...
- OpenStack Neutron配置虚拟机访问外网
配置完成后的网络拓扑如下: 当前环境: X86服务器1台 Ubuntu 16.04 DevStack搭建OpenStack 网络拓扑: 外部网络:192.168.98.0/24 内部网络:10.0.0 ...
- openstack neutron L3 HA
作者:Liping Mao 发表于:2014-08-20 版权声明:能够随意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 近期Assaf Muller写了一篇关于Neutro ...
- openstack Neutron分析(3)—— neutron-dhcp-agent源码分析
1.neutron dhcp3个主要部件分别为什么?2.dhcp模块包含哪些内容?3.Dnsmasq配置文件是如何创建和更新的?4.DHCP agent的信息存放在neutron数据库的哪个表中? 扩 ...
- OpenStack Neutron 之 Load Balance
OpenStack Neutron 之 Load Balance 负载均衡(Load Balance)是 OpenStack Neutron 支持的功能之一.负载均衡能够将网络请求分发到多个实际处理请 ...
随机推荐
- Intellij IDEA 2019 最新优化配置
Intellij IDEA 2019 最新优化配置 转发自Dimple’s Blog 摘要: 之前在CSDN上写了一点关于IDEA的优化配置之类的文章,有些图片失效了,很多人都希望会有继续更新 ...
- 【转载】 linux系统dig和nslookup的安装
原文地址: https://blog.csdn.net/bjbs_270/article/details/7003088 --------------------------------------- ...
- 安装mysql报错:Can't find messagefile '/usr/share/mysql/english/errmsg.sys'和/usr/bin/mysqladmin: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or
使用yum安装mysql服务端: [root@centos ~]# yum -y install mysql-server Loaded plugins: fastestmirror, securit ...
- Python数据处理pdf (中文版带书签)、原书代码、数据集
Python数据处理 前言 xiii第1 章 Python 简介 11.1 为什么选择Python 41.2 开始使用Python 41.2.1 Python 版本选择 51.2.2 安装Python ...
- 如何让winrar5压缩的文件能用低版本winrar打开
https://jingyan.baidu.com/article/39810a2348ab24b636fda681.html 在压缩文件格式选项处点选[RAR4]选项,即之前版本的winrar支持的 ...
- 【k8s secret token 删掉自动重建】kubernetes secret 和 serviceaccount
https://stackoverflow.com/questions/54354243/kubernetes-secret-is-persisting-through-deletes
- 静态站点生成器-html-markdown-jekyll
推荐指数:
- 【C/C++开发】C语言实现函数可变参数
函数原型: int printf(const char *format[,argument]...) 返 回 值: 成功则返回实际输出的字符数,失败返回-1. 函数说明: ...
- 最新 迅游科技java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.迅游科技等10家互联网公司的校招Offer,因为某些自身原因最终选择了迅游科技.6.7月主要是做系统复习.项目复盘.Leet ...
- Django orm练习
ORM练习题 models生成 from django.db import models # Create your models here. # 书籍管理 class Book(models.Mod ...