溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

openstack kilo版本虛擬機(jī)無(wú)法ping通外網(wǎng)是什么情況

發(fā)布時(shí)間:2021-12-14 15:20:34 來(lái)源:億速云 閱讀:309 作者:柒染 欄目:云計(jì)算

這篇文章將為大家詳細(xì)講解有關(guān)openstack kilo版本虛擬機(jī)無(wú)法ping通外網(wǎng)是什么情況,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

一、簡(jiǎn)介

第二次搭建Openstack環(huán)境,此次并非在自己的VM虛擬機(jī)上搭建,環(huán)境搭建過(guò)程中,出現(xiàn)各種錯(cuò)誤,此處只為記錄下:

二、測(cè)試環(huán)境

硬件:兩臺(tái)X86的服務(wù)器,6塊網(wǎng)卡

系統(tǒng):Centos7.2的系統(tǒng),openstack版本為kilo

由于是兩臺(tái)機(jī)器,所以架構(gòu)比較緊湊:

bdc217:controller、compute1

bdc218:network、compute2

三、網(wǎng)卡配置

兩臺(tái)機(jī)器一樣都是6塊網(wǎng)卡,具體配置如下

bdc217:

bond0:兩塊網(wǎng)卡綁定

IPADDR=192.168.8.217
NETMASK=255.255.0.0
GATEWAY=192.168.5.2

bond2:三塊網(wǎng)卡綁定作為存儲(chǔ)網(wǎng)絡(luò)

192.168.13.217

enp4s0f0:未作配置(本來(lái)想作為隧道網(wǎng)絡(luò))

bdc218:

bond0:兩塊網(wǎng)卡綁定

IPADDR=192.168.8.218
NETMASK=255.255.0.0
GATEWAY=192.168.5.2

bond2:三塊網(wǎng)卡綁定 作為存儲(chǔ)網(wǎng)絡(luò)

192.168.13.218

enp4s0f0:作為網(wǎng)絡(luò)節(jié)點(diǎn)的外部網(wǎng)絡(luò)

# cat /etc/sysconfig/network-scripts/ifcfg-enp4s0f0
TYPE=Ethernet
BOOTPROTO=none
NAME=enp4s0f0
DEVICE=enp4s0f0
ONBOOT=yes

說(shuō)明:

(1)外部網(wǎng)絡(luò):為云主機(jī)提供上網(wǎng)業(yè)務(wù)和外界登陸openstack使用

(2)管理網(wǎng)絡(luò):三節(jié)點(diǎn)之間通信,比如keystone、認(rèn)證、RabbitMQ消息隊(duì)列等

(3)隧道網(wǎng)絡(luò):網(wǎng)絡(luò)節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)之間的虛擬機(jī)數(shù)據(jù)通信,比如DHCP、L2、L3

其實(shí)管理網(wǎng)絡(luò)和隧道網(wǎng)絡(luò)可以使用同一塊網(wǎng)卡。

四、錯(cuò)誤記錄

1、虛擬機(jī)創(chuàng)建失敗

新創(chuàng)建的虛擬機(jī)一直是error狀態(tài)

解決思路:

多檢查日志尤其是網(wǎng)絡(luò)方面的日志

我的解決辦法:檢查neutron的配置文件,重新配置neutron,重啟neutron的服務(wù)(如ovs等)

2、虛擬機(jī)無(wú)法獲取IP

這種錯(cuò)誤的表象就是啟動(dòng)云主機(jī)的時(shí)候,時(shí)間過(guò)長(zhǎng),因?yàn)橐恢痹跈z查,查看云主機(jī)控制臺(tái)日志,發(fā)現(xiàn)報(bào)如下錯(cuò)誤,而且會(huì)有一連串似乎是20個(gè)failed。

Starting network...
udhcpc (v1.18.5) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing
WARN: /etc/rc3.d/S40-network failed

解決思路:

由于我配置的時(shí)候用的是GRE網(wǎng)絡(luò)方式,檢查了多次ml2_conf.ini配置文件,一直在關(guān)注local_ip,后來(lái)發(fā)現(xiàn)是自己粗心,在配置IP的時(shí)候,網(wǎng)卡配置時(shí)ip地址配置錯(cuò)誤了,而配置文件并沒(méi)有錯(cuò),

因此gre隧道是通的,但是還是獲取不到ip,修改網(wǎng)卡的ip設(shè)置,問(wèn)題就解決了。

3、虛擬機(jī)無(wú)法訪問(wèn)外網(wǎng)

虛擬機(jī)可以正常獲取到IP,也可以ping以及ssh連接制節(jié)點(diǎn)和網(wǎng)絡(luò)節(jié)點(diǎn),但是無(wú)法ping通外網(wǎng)

網(wǎng)絡(luò)創(chuàng)建過(guò)程:

五、創(chuàng)建第一個(gè)網(wǎng)絡(luò)

  • 創(chuàng)建外部網(wǎng)絡(luò)
# source admin-openrc.sh

# neutron net-create ext-net --router:external \

    --provider:physical_network external --provider:network_type flat



Created a new network:

+---------------------------+--------------------------------------+

| Field                     | Value                                |

+---------------------------+--------------------------------------+

| admin_state_up            | True                                 |

| id                        | c05070a1-9a4a-40d7-aa53-f1e38c6616e8 |

| mtu                       | 0                                    |

| name                      | ext-net                              |

| provider:network_type     | flat                                 |

| provider:physical_network | external                             |

| provider:segmentation_id  |                                      |

| router:external           | True                                 |

| shared                    | False                                |

| status                    | ACTIVE                               |

| subnets                   |                                      |

| tenant_id                 | df206060f35a48b78d06aa1a9ec9c10c     |

+---------------------------+--------------------------------------+
  • 在外部網(wǎng)絡(luò)上創(chuàng)建一個(gè)子網(wǎng)
# neutron subnet-create ext-net 192.168.12.0/24 --name ext-subnet \

   --allocation-pool start=192.168.12.100,end=192.168.12.200 \

   --disable-dhcp --gateway 192.168.12.1

Created a new subnet:

+-------------------+------------------------------------------------------+

| Field             | Value                                                |

+-------------------+------------------------------------------------------+

| allocation_pools  | {"start": "192.168.12.100", "end": "192.168.12.200"} |

| cidr              | 192.168.12.0/24                                      |

| dns_nameservers   |                                                      |

| enable_dhcp       | False                                                |

| gateway_ip        | 192.168.12.1                                         |

| host_routes       |                                                      |

| id                | d9a05de1-4c7d-4c05-b324-a65cbd182b83                 |

| ip_version        | 4                                                    |

| ipv6_address_mode |                                                      |

| ipv6_ra_mode      |                                                      |

| name              | ext-subnet                                           |

| network_id        | cbd0e9ab-07d4-49bf-b1ef-67914fbaaf20                 |

| subnetpool_id     |                                                      |

| tenant_id         | df206060f35a48b78d06aa1a9ec9c10c                     |

+-------------------+------------------------------------------------------+
  • 創(chuàng)建租戶(hù)網(wǎng)絡(luò)
# source demo-openrc.sh

# neutron net-create demo-net

Created a new network:

+-----------------+--------------------------------------+

| Field           | Value                                |

+-----------------+--------------------------------------+

| admin_state_up  | True                                 |

| id              | dc14ee5b-4bb6-4773-89f3-c1c4c064315a |

| mtu             | 0                                    |

| name            | demo-net                             |

| router:external | False                                |

| shared          | False                                |

| status          | ACTIVE                               |

| subnets         |                                      |

| tenant_id       | 23652ebf5833435aa243e1a7665cb9dc     |

+-----------------+--------------------------------------+
  • 在租戶(hù)網(wǎng)絡(luò)下創(chuàng)建子網(wǎng)
# neutron subnet-create demo-net 10.10.1.0/24 \

   --name demo-subnet --dns-nameserver 8.8.4.4 --gateway 10.10.1.1

Created a new subnet:

+-------------------+----------------------------------------------+

| Field             | Value                                        |

+-------------------+----------------------------------------------+

| allocation_pools  | {"start": "10.10.1.2", "end": "10.10.1.254"} |

| cidr              | 10.10.1.0/24                                 |

| dns_nameservers   | 8.8.4.4                                      |

| enable_dhcp       | True                                         |

| gateway_ip        | 10.10.1.1                                    |

| host_routes       |                                              |

| id                | f4758b79-5a53-4f9d-9838-5e372802da3f         |

| ip_version        | 4                                            |

| ipv6_address_mode |                                              |

| ipv6_ra_mode      |                                              |

| name              | demo-subnet                                  |

| network_id        | dc14ee5b-4bb6-4773-89f3-c1c4c064315a         |

| subnetpool_id     |                                              |

| tenant_id         | 23652ebf5833435aa243e1a7665cb9dc             |

+-------------------+----------------------------------------------+
  • 為租戶(hù)網(wǎng)絡(luò)創(chuàng)建路由,并將外部網(wǎng)絡(luò)以及租戶(hù)網(wǎng)絡(luò)添加進(jìn)去

創(chuàng)建路由

# neutron router-create demo-router

Created a new router:

+-----------------------+--------------------------------------+

| Field                 | Value                                |

+-----------------------+--------------------------------------+

| admin_state_up        | True                                 |

| external_gateway_info |                                      |

| id                    | fbb96045-517d-4956-990a-01668151a70e |

| name                  | demo-router                          |

| routes                |                                      |

| status                | ACTIVE                               |

| tenant_id             | 23652ebf5833435aa243e1a7665cb9dc     |

+-----------------------+--------------------------------------+

添加路由到demo租戶(hù)的子網(wǎng)

# neutron router-interface-add demo-router demo-subnet

Added interface b5153ea2-4ed5-4c68-b599-29fc48d251b7 to router demo-router.

添加路由到外部網(wǎng)絡(luò)并將其作為網(wǎng)關(guān)

# neutron router-gateway-set demo-router ext-net

Set gateway for router demo-router

整個(gè)網(wǎng)絡(luò)的配置過(guò)程完全按照官方文檔的步驟,但是創(chuàng)建實(shí)例后依舊無(wú)法ping通外網(wǎng),最后檢查發(fā)現(xiàn)為網(wǎng)卡的配置問(wèn)題,因?yàn)槟J(rèn)網(wǎng)關(guān)是192.168.5.2,只有配了該網(wǎng)關(guān)才能連接到外網(wǎng)上,但是 在外部網(wǎng)絡(luò)上創(chuàng)建一個(gè)子網(wǎng) 步驟使用的是

# neutron subnet-create ext-net 192.168.12.0/24 --name ext-subnet \

   --allocation-pool start=192.168.12.100,end=192.168.12.200 \

   --disable-dhcp --gateway 192.168.12.1

網(wǎng)關(guān)只能選擇12網(wǎng)段的ip,不能改成5.2,最后將外部網(wǎng)絡(luò)的子網(wǎng)修改為5網(wǎng)段的,網(wǎng)關(guān)也修改成了5.2,發(fā)現(xiàn)可以ping通外網(wǎng)。

另外,子網(wǎng)掩碼也需要注意,/24表示255.255.255.0 是三個(gè)255,而測(cè)試環(huán)境的子網(wǎng)掩碼是255.255.0.0,這就導(dǎo)致非12網(wǎng)段不能ping通浮動(dòng)IP,最終創(chuàng)建子網(wǎng)的語(yǔ)句修改為

# neutron subnet-create ext-net 192.168.5.0/16 --name ext-subnet \

   --allocation-pool start=192.168.5.100,end=192.168.5.200 \

   --disable-dhcp --gateway 192.168.5.2

這樣創(chuàng)建新實(shí)例,綁定浮動(dòng)IP后,云主機(jī)既可以訪問(wèn)外網(wǎng),自己的PC也可以訪問(wèn)云主機(jī)。

關(guān)于openstack kilo版本虛擬機(jī)無(wú)法ping通外網(wǎng)是什么情況就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI