Networking OpenStack中的路由

Networking OpenStack中的路由,networking,routing,openstack,openstack-neutron,Networking,Routing,Openstack,Openstack Neutron,我想在OpenStack中通过Neuton配置路由和NAT,如何开始 我创建了一个包含两个内部网络(以及它们上的实例)的网络。现在我想知道配置路由协议和NAT的命令。我查看了OpenStack文档,但找不到任何方便的东西 有人能帮我一下,或者给我一个如何开始的想法吗 好吧,这将是你问题的一个很长的答案。首先,我假设您了解什么是Openstack中子的外部/内部网络,并且有一个工作设置(也有br ex/外部网桥) 所以第一部分是网罗 为简单起见,首先请使用仪表板在管理员租户/管理员用户中执行以下步

我想在OpenStack中通过Neuton配置路由和NAT,如何开始

我创建了一个包含两个内部网络(以及它们上的实例)的网络。现在我想知道配置路由协议和NAT的命令。我查看了OpenStack文档,但找不到任何方便的东西


有人能帮我一下,或者给我一个如何开始的想法吗

好吧,这将是你问题的一个很长的答案。首先,我假设您了解什么是Openstack中子的外部/内部网络,并且有一个工作设置(也有br ex/外部网桥)

所以第一部分是网罗

为简单起见,首先请使用仪表板在管理员租户/管理员用户中执行以下步骤

1-创建一个内部网络

2-创建路由器

3-将VM/实例添加到内部网络

4-在路由器上添加子网网关接口

5-现在作为管理员,创建外部网络

外部网络只能由管理员创建

6-现在添加此外部网络作为路由器网关接口

因此,现在您在内部网络中有一个VM。路由器上的子网网关接口和来自外部网络的路由器网关接口

从openstack的角度来看就是这样

下面是从CLI执行相同操作的命令列表

$source keystone\u admin

这里keystone_admin是我的RC文件

运行以下命令以在VM上启用ping和ssh,也可以直接从外部网络启用ping和ssh,而无需密钥对

$nova--无缓存secgroup添加规则默认icmp-1-1 0.0.0/0

$nova--无缓存secgroup添加规则默认tcp 22 0.0.0.0/0

$neutron net创建外部_网络--共享--路由器:外部=真

$subnet创建外部_网络--名称外部_子网--分配池开始=192.168.122.2,结束=192.168.122.20--禁用dhcp--网关192.168.122.1 192.168.122.0/24

$neutron net创建内部网络

$subnet创建内部\u网络--名称内部\u子网--分配池开始=10.10.1.2,结束=10.10.1.20--禁用dhcp--网关10.10.1.1 10.10.1.0/24

美元净清单

$s子网列表

$neutron路由器创建路由器

$中子路由器接口添加路由器内部子网

$中子路由器列表

$中子路由器接口添加路由器内部子网

$中子路由器网关集路由器外部网络

从地平线上启动VM(这是CLI中的一个长命令)

这里我假设外部网络是192.168.122.0/24,内部网络是10.10.1.0/24

现在,您已经从Openstack的角度为SNAT准备好了设置。现在我们需要向BR-EX添加一个物理接口(ethx)来测试它

因此,您只需在桥上添加物理接口并修改“ifcfg”文件

以下是RHEL6.5的步骤-(对于其他人,你必须在网上查找-搜索类似于在Ubuntu中向OVS桥添加物理接口的内容,等等…)

$cd/etc/sysconfig/networkscripts/

在此目录中创建这两个文件(如果尚未存在),否则修改现有文件-

$vi ifcfg br ex

设备=br ex

DEVICETYPE=ovs

类型=OVSBridge

BOOTPROTO=静态

IPADDR=例如192.168.122.153

网络掩码=例如,对于我们的情况,为255.255.255.0;对于外部网络,为192.168.122.0/24

网关=例如192.168.122.1

ONBOOT=yes

$vi ifcfg ethx

设备=ethx

类型=OVSPort

DEVICETYPE=ovs

ONBOOT=否

NM_受控=是

BOOTPROTO=静态

OVS_桥=br ex

快跑

$service网络重启

只是为了确保安装程序已启动并正在运行

$ifup br ex

$ifup eth2

也在做

$ovs ofctl show br ex

它应该在输出中显示“ethx”

现在你有了一个有效的SNAT设置。您可以从仪表板中的控制台在VM/实例中尝试以下操作-

$ping 8.8.8.8

现在是DNAT-

运行以下命令

$neutron floatingip创建外部_网络

这将创建一个浮动IP并显示“id”(浮动IP_id)

$中子端口列表

从这个列表中,获取虚拟机的“id”(实例的端口id)

$中子浮动IP助理

现在你已经准备好了

要测试DNAT,请尝试执行以下操作

$ping

从外部网络计算机

我试图保持它的直接性,但当然这需要对Openstack和Linux有一定的了解!!:p:)


你可以参考-

非常感谢皮尤斯,这真的很有帮助。你所说的外部网络是指公共网络,对吗?