為CentOS 7配置靜態IP地址及遇到的問題解決策略


為CentOS 7配置靜態IP地址及遇到的問題解決策略

1. 為CentOS 7配置靜態IP地址的兩種方法

(原文地址:http://www.linuxidc.com/Linux/2014-10/107789.htm)

使用下面的命令來驗證網絡管理器服務的狀態:

 

  1. $ systemctl status NetworkManager.service

運行以下命令來檢查受網絡管理器管理的網絡接口:

  1. $ nmcli dev status

如果某個接口的nmcli的輸出結果是“已連接”(如本例中的enp0s3),這就是說該接口受網絡管理器管理。你可以輕易地為某個特定接口禁用網絡管理器,以便你可以自己為它配置一個靜態IP地址。

下面將介紹CentOS 7上為網絡接口配置靜態IP地址的兩種方式,在例子中我們將對名為enp0s3的網絡接口進行配置。

1.1 不使用網絡管理配置靜態IP地址

進入/etc/sysconfig/network-scripts目錄,找到該接口的配置文件(ifcfg-enp0s3)。如果沒有,請創建一個。

打開配置文件並編輯以下變量:

在上圖中,“NM_CONTROLLED=no”表示該接口將通過該配置文件進行設置,而不是通過網絡管理器進行管理。“ONBOOT=yes”告訴我們,系統將在啟動時開啟該接口。

保存修改並使用以下命令來重啟網絡服務:

  1. # systemctl restart network.service

現在驗證接口是否配置正確:

  1. # ip add

1.2 使用網絡管理器配置靜態IP地址

如果你想要使用網絡管理器來管理該接口,你可以使用nmtui(網絡管理器文本用戶界面),它提供了在終端環境中配置配置網絡管理器的方式。

在使用nmtui之前,首先要在/etc/sysconfig/network-scripts/ifcfg-enp0s3中設置“NM_CONTROLLED=yes”。

現在,請按以下方式安裝nmtui。

  1. # yum install NetworkManager-tui

然后繼續去編輯enp0s3接口的網絡管理器配置:

  1. # nmtui edit enp0s3

在下面的屏幕中,我們可以手動輸入與/etc/sysconfig/network-scripts/ifcfg-enp0s3中所包含的內容相同的信息。

使用箭頭鍵在屏幕中導航,按回車選擇值列表中的內容(或填入想要的內容),最后點擊屏幕底部右側的確定按鈕。

最后,重啟網絡服務。

  1. # systemctl restart network.service

2. 遇到的問題及解決策略

當我按照上述方法去配置靜態IP時發現了幾個問題,總的來說上述方法正確,但有幾點可能會出現問題,在此我寫了出來,希望遇到相關問題的朋友可以注意一下。

2.1 當我按照上述1.1配置時發現ifcfg-enp0s3文件當中沒有IPADDR,NETMASK等大部分選項時怎么辦?

       策略:這是由於你的IP配置可能設置成了自動獲取。你可以用1.2中的方法來配置。

2.2 按照上述方法配置后發現重啟網絡服務總是失敗出現錯 誤“Job for network.service failed. See 'systemctl status network.service' and 'journalctl -xn' for deta”怎么辦?

    策略:使用systemctl status network查看服務狀態,得到如下錯誤信息:

# systemctl status network
network.service - LSB: Bring up/downnetworking
  Loaded: loaded (/etc/rc.d/init.d/network)
  Active: failed (Result: exit-code) since Sun 2014-11-23 22:09:08 EST;15min ago
 Process: 597 ExecStart=/etc/rc.d/init.d/network start (code=exited,status=1/FAILURE)
 
Nov 23 22:09:07 hdcoe02 network[597]:Bringing up loopback interface:  Couldnot load file '/etc/sysconfig/network-scripts/ifcfg-lo'
Nov 23 22:09:07 hdcoe02 network[597]:Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo'
Nov 23 22:09:08 hdcoe02 network[597]:Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo'
Nov 23 22:09:08 hdcoe02 network[597]:Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo'
Nov 23 22:09:08 hdcoe02 network[597]:[  OK ]
Nov 23 22:09:08 hdcoe02 network[597]:Bringing up interface enp0s25:  Error:Connection activation failed: Connection 'enp0s25' is not available on thedevice enp0s25 at this time.
Nov 23 22:09:08 hdcoe02 network[597]:[FAILED]
Nov 23 22:09:08 hdcoe02 systemd[1]:network.service: control process exited, code=exited status=1
Nov 23 22:09:08 hdcoe02 systemd[1]: Failedto start LSB: Bring up/down networking.
Nov 23 22:09:08 hdcoe02 systemd[1]: Unitnetwork.service entered failed state.

從錯誤提示“Error: no device found for connection 'eth0'”可以確定是配置文件eth0的問題,打開查看/etc/sysconfig/network-scripts/ifcfg-eth0文件發現其中的MAC地址和ifconfig命令輸出的MAC地址不一樣,具體如下所示:

[root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
HWADDR=1A:E9:47:A5:75:C8
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPADDR=192.168.1.79
PREFIX=24
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8
NAME=eth0
UUID=ba670f0c-201a-483b-8379-c8c72c03ab27
ONBOOT=yes

 

 

[root@openstack ~]# ifconfig 
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.79  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::8081:a6ff:fe9d:5887  prefixlen 64  scopeid 0x20<link>
        ether 82:81:a6:9d:58:87  txqueuelen 1000  (Ethernet)
        RX packets 3426  bytes 394042 (384.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 57  bytes 9578 (9.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

所以只需將ifcfg-enp0s3中的HWADDR變量值改為ifconfig命令里顯示的MAC地址即可。

2.3 windows PING不通VM下的CENTOS虛擬機?

    策略:原因:window的IP是192.168.1.106,而虛擬機的CENTOS的IP是192.168.0.11。不在同一個網段,把虛擬機的CENTOS的IP設置成192.168.1.X (X代表0-255的數字。)就可以了。

3. IP配置中的幾個單詞的含義

1.       DEVICE=eth0//指出設備名稱

2.       ONBOOT=yes//是否啟動應用

3.       BOOTPROTO=static//啟動類型 靜態 (默認dhcp)

4.       IPADDR=192.168.0.77//IP地址

5.       NETMASK=255.255.255.0//子網掩碼

6.       GATEWAY=192.168.0.1//網關

 以上是我配置IP時所遇到的問題以及通過搜索大量資料所找到的解決方案,並不能保證這種問題都可以這樣解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM