[Linux] CentOS 固定IP 與 DNS 設定教學


在Linux的平台上如何設定「 固定IP 」(或稱靜態IP) 是常見的問題,比較討厭的是Ubuntu和CentOS的設定方法不同,所以身為這方面的從事人員通常就需要都了解一下以應不時之需,在之前,已經藉由 Netplan 說明了如何在Ubuntu設定固定IP的方法,而這次的重點則是落在CentOS,二者的設定其實大同小異,熟了就很容易上手。

示範環境:CentOS 7.9.2009 (Core)

固定IP 設定方法

1、通常,預設會用DHCP取得動態IP,要設靜態IP的時候可以先查一下目前用的網路卡名稱為何,直接用ip a查詢即可,以本例來說,使用的網卡名稱是 eth0

查看目前使用的網卡名稱

另外,在設定固定IP的時候也需要Gateway的資訊,可以先使用ip r來查詢

查詢Gateway的資訊

2、請到/etc/sysconfig/network-scripts/目錄下尋找網卡對應的設定檔以便進行設定:設定檔的檔名規則是「ifcfg-XXX」,其中「XXX」是網卡名稱,所以以剛剛前面取得的網卡名稱eth0來說,我們要編輯的檔案則為ifcfg-eth0

尋找網卡的設定檔

指令範例:

cd /etc/sysconfig/network-scripts/ # 切換到該目錄
vi ifcfg-eth0 # 編輯網卡設定檔,請將eth0換成你自己的

進入之後會有DHCP的設定參數在裡面,我先保留供大家參考,我們要把原來的參數修改成下半部「Static固定IP」的樣子

CentOS設定固定IP

主要修改的欄位為:

  • ONBOOT:開機時是否啟動此網路卡,請將之設為「yes
  • BOOTPROTO:設定IP的協定要哪一種,設「dhcp」代表動態IP,設「static」則為靜態IP,本例請設後者
  • IPADDR:欲設定的固定IP位址,例如:本例中我想把IP固定成「192.168.0.150」
  • NETMASK:網路遮罩
  • GATEWAY:預設閘道的位址,可填入剛剛從「 ip r 」取得IP資訊
  • DNS1:第一台DNS伺服器
  • DNS2:第一台DNS伺服器

方便大家Copy,我把我的設定檔案以文字的方式列於下方:

# 固定IP參數設定範例
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
TYPE=Ethernet
NM_CONTROLLED=no
IPADDR=192.168.0.150
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=1.1.1.1
DNS2=8.8.8.8

補充資訊:DNS設定

剛剛設定的DNS伺服器部分,不一定要在「ifcfg-XXX」中設定,你也可以到/etc/resolve.conf進行修改,指令如下:

vi /etc/resolve.conf

只要按照下圖中的格式,自行新增、修改「nameserver」的值即可

CentOS設定固定IP

設定好之後,重啟系統或重啟網路卡即可,指令範例如下:

systemctl restart network

延伸閱讀:
[Linux] Ubuntu 如何利用Netplan設定固定IP
SETTING UP STATIC IP ADDRESS FOR LINUX: EASIER THAN YOU THINK