neutron网络节点安装

本文详细介绍了在Linux环境中配置OpenStack Neutron网络服务的过程,包括网络节点的设置、Neutron相关软件包的安装、配置文件的调整等步骤,并验证了配置的有效性。
一 准备网络节点并把相关网络配置好
[root@network0 ~]# vi /etc/sysconfig/network
[root@network0 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=network0
[root@network0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.20.0.20
NETMASK=255.255.255.0
[root@network0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.16.0.20
NETMASK=255.255.255.0
[root@network0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.4.20
NETMASK=255.255.255.0
[root@network0 ~]# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down interface eth3:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Determining if ip address 10.20.0.20 is already in use for device eth0...
                                                           [  OK  ]
Bringing up interface eth1:  Determining if ip address 172.16.0.20 is already in use for device eth1...
                                                           [  OK  ]
Bringing up interface eth2:  Determining if ip address 192.168.4.20 is already in use for device eth2...
                                                           [  OK  ]
Bringing up interface eth3:  
Determining IP information for eth3... done.
                                                           [  OK  ]

二 安装Neutron相关的包
[root@network0 ~]# yum install -y libvirt openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch

三 允许ip forward
[root@network0 ~]# vi /etc/sysctl.conf
[root@network0 ~]# cat /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter = 0
立即生效
[root@network0 ~]# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296

四 配置NTP
[root@network0 ~]# cat /etc/ntp.conf
server 10.20.0.10
fudge  10.20.0.10 stratum 10  # LCL is unsynchronized
[root@network0 ~]# /etc/init.d/ntpd restart
Shutting down ntpd:                                        [  OK  ]
Starting ntpd:                                             [  OK  ]
[root@network0 ~]# ntpdate -u 10.20.0.10
3 Mar 14:28:20 ntpdate[2934]: adjust time server 10.20.0.10 offset -0.000071 sec
[root@network0 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
controller0     LOCAL(0)         6 u   40   64    1    2.939   -0.962   0.000

五 配置Neutron keysone 认证
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
st controller0
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_protocol http
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_port 35357
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_tenant_name service
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_user neutron
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_password neutron[root@netwo//controller0:5000config --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http:
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_host controller0
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_protocol http
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_port 35357
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_tenant_name service
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_user neutron
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_password neutron

六 配置qpid
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT rpc_backend neutron.openstack.common.rpc.impl_qpid
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT qpid_hostname 

七 配置Neutron 使用ml2 + openvswitch +gre
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2
[root@network0 ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins router
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers gre
penvswitch
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges 1:1000
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs local_ip 192.168.4.20
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs tunnel_type gre
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs enable_tunneling True
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types gre
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges 1:1000
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs local_ip 192.168.4.20
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs tunnel_type gre
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs enable_tunneling True
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
[root@network0 ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True
[root@network0 ~]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
[root@network0 ~]# cp /etc/init.d/neutron-openvswitch-agent /etc/init.d/neutronopenvswitch-agent.orig[root@network0 ~]# sed -i 's,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g' /etc/init.d/neutron-openvswitch-agent

八 配置L3
[root@network0 ~]# openstack-config --set /etc/neutron/l3_agent.ini DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver
[root@network0 ~]# openstack-config --set /etc/neutron/l3_agent.ini DEFAULT use_namespaces True

九 配置dhcp agent
[root@network0 ~]# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver
[root@network0 ~]# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver neutron.agent.linux.dhcp.Dnsmasq
[root@network0 ~]# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT use_namespaces True

十 配置metadata agent
[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT auth_url http://controller0:5000/v2.0
enant_name service
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_user neutron
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_password neutron
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_ip controller0
openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret METADATA_SECRET[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT auth_region rneionO
[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_tenant_name service
[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_user neutron
[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_password neutron
[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_ip controller0
[root@network0 ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret METADATA_SECRET
[root@network0 ~]# service openvswitch start
/usr/share/openvswitch/scripts/ovs-lib: line 65: /var/log/openvswitch/ovs-ctl.log: No such file or directory
tee: /var/log/openvswitch/ovs-ctl.log: No such file or directory
/etc/openvswitch/conf.db does not exist ... (warning).
Creating empty database /etc/openvswitch/conf.db           [  OK  ]
Starting ovsdb-server                                      [  OK  ]
Configuring Open vSwitch system IDs                        [  OK  ]
Inserting openvswitch module                               [  OK  ]
Starting ovs-vswitchd                                      [  OK  ]
Enabling remote OVSDB managers                             [  OK  ]
[root@network0 ~]# chkconfig openvswitch on
[root@network0 ~]# ovs-vsctl add-br br-int
[root@network0 ~]# ovs-vsctl add-br br-ex
[root@network0 ~]# ovs-vsctl add-port br-ex eth1

十一 修改eth1和br-ext 网络配置
[root@network0 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
[root@network0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
PROMISC=yes
[root@network0 ~]# vi /etc/sysconfig/network-scripts/ifcfg-br-ex
[root@network0 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
TYPE=Bridge
ONBOOT=no
BOOTPROTO=none
[root@network0 ~]# service network restart
Shutting down interface br-ex:                             [  OK  ]
Shutting down interface eth0:                              [  OK  ]
Shutting down interface eth1:                              [  OK  ]
Shutting down interface eth2:                              [  OK  ]
Shutting down interface eth3:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Determining if ip address 10.20.0.20 is already in use for device eth0...
                                                           [  OK  ]
Bringing up interface eth1:                                [  OK  ]
Bringing up interface eth2:  Determining if ip address 192.168.4.20 is already in use for device eth2...
                                                           [  OK  ]
Bringing up interface eth3:  
Determining IP information for eth3... done.
                                                           [  OK  ]
[root@network0 ~]# ifconfig
br-int    Link encap:Ethernet  HWaddr 4A:F0:1C:B0:EF:45  
          inet6 addr: fe80::f871:f6ff:fe29:6b11/64 Scope:Link
          UP BROADCAST RUNNING  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:468 (468.0 b)
eth0      Link encap:Ethernet  HWaddr 08:00:27:9C:E5:56  
          inet addr:10.20.0.20  Bcast:10.20.0.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9c:e556/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3255 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3528 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:255832 (249.8 KiB)  TX bytes:617546 (603.0 KiB)
          Interrupt:19 Base address:0xd020
eth1      Link encap:Ethernet  HWaddr 08:00:27:42:26:7B  
          inet6 addr: fe80::a00:27ff:fe42:267b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1524 (1.4 KiB)  TX bytes:1188 (1.1 KiB)
          Interrupt:16 Base address:0xd240
eth2      Link encap:Ethernet  HWaddr 08:00:27:56:10:6C  
          inet addr:192.168.4.20  Bcast:192.168.4.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe56:106c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1524 (1.4 KiB)  TX bytes:1440 (1.4 KiB)
          Interrupt:17 Base address:0xd260
eth3      Link encap:Ethernet  HWaddr 08:00:27:35:5E:AB  
          inet addr:10.0.5.15  Bcast:10.0.5.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe35:5eab/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:31825 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16333 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:33255703 (31.7 MiB)  TX bytes:997439 (974.0 KiB)
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:872 (872.0 b)  TX bytes:872 (872.0 b)
[root@network0 ~]# ip link set br-ex up
[root@network0 ~]# sudo ip addr add 172.16.0.20/24 dev br-ex
[root@network0 ~]# service network restart
Shutting down interface br-ex:                             [  OK  ]
Shutting down interface eth0:                              [  OK  ]
Shutting down interface eth1:                              [  OK  ]
Shutting down interface eth2:                              [  OK  ]
Shutting down interface eth3:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Determining if ip address 10.20.0.20 is already in use for device eth0...
                                                           [  OK  ]
Bringing up interface eth1:                                [  OK  ]
Bringing up interface eth2:  Determining if ip address 192.168.4.20 is already in use for device eth2...
                                                           [  OK  ]
Bringing up interface eth3:  
Determining IP information for eth3... done.
                                                           [  OK  ]

十二 启动Neutron服务
[root@network0 ~]# service neutron-openvswitch-agent start
Starting neutron-openvswitch-agent:                        [  OK  ]
[root@network0 ~]# service neutron-l3-agent start
Starting neutron-l3-agent:                                 [  OK  ]
[root@network0 ~]# service neutron-dhcp-agent start
Starting neutron-dhcp-agent:                               [  OK  ]
[root@network0 ~]# service neutron-metadata-agent start
Starting neutron-metadata-agent:                           [  OK  ]
[root@network0 ~]# chkconfig neutron-openvswitch-agent on
[root@network0 ~]# chkconfig neutron-l3-agent on
[root@network0 ~]# chkconfig neutron-dhcp-agent on
[root@network0 ~]# chkconfig neutron-metadata-agent on
在控制节点查看
[root@controller0 rules.d]# neutron agent-list
+--------------------------------------+--------------------+----------+-------+----------------+
| id                                   | agent_type         | host     | alive | admin_state_up |
+--------------------------------------+--------------------+----------+-------+----------------+
| 07d77f19-6b73-4b9e-aefd-571b78106d9c | Open vSwitch agent | network0 | :-)   | True           |
| 2f7ae2c1-e571-4825-a346-2e976e669436 | L3 agent           | network0 | :-)   | True           |
| 4ec1d9fa-1d0d-485e-bf85-d819d506514a | DHCP agent         | network0 | :-)   | True           |
| 59c83278-443b-43d0-879f-6b7953de5f38 | Metadata agent     | network0 | :-)   | True           |
+--------------------------------------+--------------------+----------+-------+----------------+
reboot
[root@network0 ~]# ps -ef|grep neutron
neutron   2205     1  0 15:01 ?        00:00:00 /usr/bin/python /usr/bin/neutron-dhcp-agent --log-file /var/log/neutron/dhcp-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini
neutron   2219     1  0 15:01 ?        00:00:00 /usr/bin/python /usr/bin/neutron-l3-agent --log-file /var/log/neutron/l3-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini --config-file /etc/neutron/fwaas_driver.ini
neutron   2260     1  0 15:01 ?        00:00:00 /usr/bin/python /usr/bin/neutron-metadata-agent --log-file /var/log/neutron/metadata-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metadata_agent.ini
neutron   2300     1  0 15:01 ?        00:00:00 /usr/bin/python /usr/bin/neutron-openvswitch-agent --log-file /var/log/neutron/openvswitch-agent.log --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini
root      2595  2300  0 15:01 ?        00:00:00 sudo neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport --format=json
root      2597  2595  0 15:01 ?        00:00:00 /usr/bin/python /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf ovsdb-client monitor Interface name,ofport --format=json
root      2758  2710  0 15:02 pts/0    00:00:00 grep neutron
[root@network0 ~]# ip addr add 172.16.0.20/24 dev br-ex

十三 验证:网络节点ping控制节点
[root@network0 ~]# ping 172.16.0.10
PING 172.16.0.10 (172.16.0.10) 56(84) bytes of data.
64 bytes from 172.16.0.10: icmp_seq=1 ttl=64 time=3.30 ms
64 bytes from 172.16.0.10: icmp_seq=2 ttl=64 time=0.333 ms
^[64 bytes from 172.16.0.10: icmp_seq=3 ttl=64 time=0.373 ms
64 bytes from 172.16.0.10: icmp_seq=4 ttl=64 time=0.391 ms
64 bytes from 172.16.0.10: icmp_seq=5 ttl=64 time=0.197 ms
^C
--- 172.16.0.10 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4175ms
rtt min/avg/max/mdev = 0.197/0.920/3.306/1.194 ms
其中控制节点配置如下:
[root@controller0 rules.d]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.16.0.10
NETMASK=255.255.255.0





评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值