[OpenStack] [Liberty] Neutron单网卡桥接模式访问外网

环境配置:

* Exsi一台

* Exsi创建的单网卡虚拟机一台

* Ubuntu 14LTS 64位操作系统

* OpenStack Liberty版本

* 使用Neutron网络而非Nova网络

 

1.Exsi配置

 如果OpenStack宿主机是Exsi创建的虚拟机,则必须要进行以下设置。

 这个配置主要是让Exsi创建的虚拟机的网卡可以进入混杂模式。

 如果没有这个设置,那么就会导致Exsi创建的虚拟机网卡不能分发包到OpenStack创建到虚拟机。

[OpenStack] [Liberty] Neutron单网卡桥接模式访问外网_第1张图片

 

2.安装OpenStack.

最好使用apt-get方式安装OpenStack, 如果是用DevStack安装的话,重启机器后,OpenStack服务不能正常启动。

因为在后续的网络配置过程中,可能会需要重启网络,重启机器。

 

3.修改Ubuntu网络配置文件

(1) /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down

auto br-ex
iface br-ex inet static
address 192.168.98.85
netmask 255.255.255.0
gateway 192.168.98.1
dns-nameservers 218.6.200.139

(2) /etc/resolv.conf

enter the following details   

nameserver 192.168.98.1

nameserver 218.6.200.139

 

4.挂载eth0到br-ex桥上

sudo ovs-vsctl add-port br-ex eth0

以下两条命令可以查看是否挂载成功和路由表情况:

sudo ovs-vsctl show

route -n

 

5.设置eth0为混杂模式

sudo ifconfig eth0 promisc

 

6.重启OpenStack宿主机网络

重启机器可以成功,如果不重启机器可以尝试以下方法:

(1)sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a

(2)sudo service networking restart

(3)sudo service network-manager restart

 

7.OpenStack Neutron网络配置。

(1)删除Neutron上的public,private网络和Router1路由。

(2)新建PublicSite网络,Network Type设置为Flat. Physical Network设置为default,并创建子网192.168.98.0/24

[OpenStack] [Liberty] Neutron单网卡桥接模式访问外网_第2张图片

(3)新建PrivateSite网络,Network Type设置为Local,并创建子网10.0.0.0/24

[OpenStack] [Liberty] Neutron单网卡桥接模式访问外网_第3张图片

(4) 创建路由表Router1,连接PublicSite和PrivateSite.

[OpenStack] [Liberty] Neutron单网卡桥接模式访问外网_第4张图片

(5) 创建完成的桥接网络如下。

[OpenStack] [Liberty] Neutron单网卡桥接模式访问外网_第5张图片

(6)最后创建虚拟机实例,测试虚拟机实例能否ping通外网即可。

[OpenStack] [Liberty] Neutron单网卡桥接模式访问外网_第6张图片

 

你可能感兴趣的:([OpenStack] [Liberty] Neutron单网卡桥接模式访问外网)