joeの小窝

Loading...

neutron详解

neutron详解

主要就是创建的虚拟机怎么上网,实现的方式有哪些

外部flat+Route+vxlan私网 模式

网络图解

img

创建vxlan私网

img

img

img

创建一个实例选择这个私网vxlan

img

创建外部网络flat

首先先创建外部网络flat,在管理员界面上创建网络

img

img

img

创建路由

img

img

上面连接flat的接口ip地址是192.168.50.195

img

添加vxlan接口

图解

img

虚拟机测试

img

没有创建路由的时候,访问不了虚拟机的网关192.168.100.254

配置了路由之后,网关地址配置在上面,就能访问到了,还能访问宿主机的网关

实现了虚拟机访问外网

配置文件详解

ml2_conf.ini配置


[root@openstack02 neutron-server]# cat ml2_conf.ini 
[ml2]  # 核心段
type_drivers = flat,vlan,vxlan   # 定义neutron支持哪些网络类型,三个都支持
tenant_network_types = vxlan  # 租户默认创建的网络类型,vxlan
mechanism_drivers = linuxbridge,l2population  # w网络底层驱动,决定用什么虚拟交换机
extension_drivers = port_security  # 开启端口安全功能,支持安全组

[ml2_type_vlan]  # vlan网络配置
network_vlan_ranges = physnet1:100:4094  # 物理网络映射名,vlan id范围

[ml2_type_flat]  # flat网络配置
flat_networks = physnet1  # 声明允许创建flat网络的物理映射名,外部网络必须绑定physynet1,前面创建的flat的时候,指定了这个

[ml2_type_vxlan]  # vxlan网络配置
vni_ranges = 1:1000  # vni范围

linuxbridge_agent.ini 文件

[root@openstack02 neutron-linuxbridge-agent]# pwd
/etc/kolla/neutron-linuxbridge-agent
[root@openstack02 neutron-linuxbridge-agent]# ls
config.json  linuxbridge_agent.ini  neutron.conf
[root@openstack02 neutron-linuxbridge-agent]# cat linuxbridge_agent.ini 
[agent]

[linux_bridge]
physical_interface_mappings = physnet1:ens36  # 物理网卡映射,绑定到真实的物理网卡ens36上了

[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

[vxlan]  # vxlan配置
l2_population = true
local_ip = 192.168.50.42  # 多个节点之间,本节点的vxlan隧道ip,靠这个通信

与宿主机之间的关系

创建的网络在宿主机上的表现出来

创建的网桥等等

[root@openstack02 kolla]# brctl show
bridge name	bridge id		STP enabled	interfaces
brqa1be2074-9d		8000.000c294fb90f	no		ens36
							tap00e76143-bc
							tap9e16f38a-dc
brqb2e56ca3-68		8000.1a1fbeede410	no		tap149a81bd-dc
							tap68c237a1-cd
							vxlan-617


上面的2个dc都是路由器上面的2个接口

img

img

[root@openstack02 kolla]# brctl show
bridge name	bridge id		STP enabled	interfaces
brqa1be2074-9d		8000.000c294fb90f	no		ens36
							tap00e76143-bc
							tap9e16f38a-dc

# 这个2074-9d就是这个flat网络模式,在宿主机上创建的网桥

第一个网桥是flat网络模式,连接着外部网络ens36,还有一个接口是自己的
dhcp接口,另外一个连接在路由器上的

第二个网桥是vxlan网络模式,2个接口也是这样的,dhcp,路由器上的接口,还有一个vxlan之间隧道

每创建一个网络都是相当于创建一个虚拟交换机,在宿主机上面的表现就是一个虚拟网桥linux bridge

浮动ip

NAT原理(SNAT/DNAT)

  • 将私有地址和公网地址进行一个转换,可以解决ip地址不足的问题,还能避免来自外部网络的攻击,隐藏和保护内部的虚拟机

浮动ip原理

  • 利用NAT原理给虚拟机配置一个外网ip,虚拟机访问外网时将源地址转换成该外网的ip,外网访问该浮动ip时转换成虚拟机ip,实现了通信

总结

外部flat模式+路由器+vxlan私网

外部vlan模式+路由器+vxlan私网

外部vxlan + 路由器 + 私有vxlan,这个实现不了,linux bridge 模式的话

  • 网络中的二层和三层

    • 二层,就是一个广播域,数据链路层,对应的是network,是一个虚拟的二层交换机,负责mac转发,广播,同网段互通

    • 三层(L3)路由/网络层,对应的就是一个router,负责跨子网的转发,内外网互通,NAT

思考

  • 创建一个虚拟机,默认自动分配一个浮动ip

  • cloud-init

posted @ 2026-04-26 22:18  乔的港口  阅读(13)  评论(0)    收藏  举报