导读 在日常开发和生产环境中经常需要将OpenStack虚拟机配置一个静态Ip,但配置完成后发现外面无法访问。原因是openstack每个端口默认只允许一个Ip的数据报文通过。下面介绍如何配置openstack使虚拟机静态IP地址能访问。

1、查找你要修改ip地址的网卡id,本文修改ip地址为192.168.111.11的网卡:

[root@node-1 ~]# neutron port-list


2、允许ip地址为192.168.111.12通过

[root@node-1 ~]# neutron port-update 83cfe62e-b9bc-4b77-8938-10d8f45d836c --allowed-address-pairs type=dict list=true ip_address=192.168.111.12


3、进入mysql数据库,修改数据

mysql> use neutron;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from ipallocations where port_id='83cfe62e-b9bc-4b77-8938-10d8f45d836c'; 该port_id是之前查找的网卡id
+--------------------------------------+----------------+--------------------------------------+--------------------------------------+
| port_id                              | ip_address     | subnet_id                            | network_id                           |
+--------------------------------------+----------------+--------------------------------------+--------------------------------------+
| 83cfe62e-b9bc-4b77-8938-10d8f45d836c | 192.168.111.11 | 17c87ec0-a4f6-4d55-9947-2e8c9c7f1b65 | 28fcbb79-629b-4031-9323-b6acfa620aac |
+--------------------------------------+----------------+--------------------------------------+--------------------------------------+
1 row in set (0.00 sec)

编辑port_id为 83cfe62e-b9bc-4b77-8938-10d8f45d836c 的ip地址为192.168.111.12

mysql> update ipallocations set ip_address='192.168.111.12'  where port_id='83cfe62e-b9bc-4b77-8938-10d8f45d836c';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

查看一下port_id为83cfe62e-b9bc-4b77-8938-10d8f45d836c的地址是否变更了:

4、进入虚拟机修改ip地址就可以和外网通信了

本文原创地址:https://www.linuxprobe.com/openstack-vm-ip.html作者:逄增宝,审核员:刘遄

本文原创地址:https://www.linuxprobe.com/openstack-vm-ip.html编辑:逄增宝,审核员:暂无