centos 7 更改ip地址和dns設置

我是在虛擬機中安裝的CentOS7,採用的是橋接模式。起初CentOS內的地址是動態獲取的,想把它固定下來。


按照網上查到的資料,通過修改/etc/sysconfig/network-scripts/下的配置文件,重啓後網絡服務,暫時能把IP地址修改了,但是配置中的DNS始終沒有生效,這樣就無法訪問外部網絡(實際上也不是不能訪問,只是不能通過域名訪問,比如你要ping一個外部公網上的ip地址是通的,但你要訪問一個網址需要域名解析就不行了)


還有的問題是,這個虛擬機重啓後,發現修改的配置文件中的設置還是沒有生效,還是需要重啓網絡服務,折騰好久,一直不明白爲什麼。後來終於知道,是因爲NetManager在搗鬼。




下面是轉載的:https://linux.cn/article-3977-1.html,有較大的參考價值,前面的第一種方法我試過了,對我的機器不管用,重啓後依然設置無效。第二種方法是可以的。


如果你想要爲CentOS 7中的某個網絡接口設置靜態IP地址,有幾種不同的方法,這取決於你是否想要使用網絡管理器。






網絡管理器(Network Manager)是一個動態網絡的控制器與配置系統,它用於當網絡設備可用時保持設備和連接開啓並激活。默認情況下,CentOS/RHEL 7安裝有網絡管理器,並處於啓用狀態。


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


$ systemctl status NetworkManager.service
運行以下命令來檢查受網絡管理器管理的網絡接口:


$ nmcli dev status 




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


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


不使用網絡管理配置靜態IP地址
進入/etc/sysconfig/network-scripts目錄,找到該接口的配置文件(ifcfg-enp0s3)。如果沒有,請創建一個。






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






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


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


# systemctl restart network.service
現在驗證接口是否配置正確:


# ip add 




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


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


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


# yum install NetworkManager-tui
然後繼續去編輯enp0s3接口的網絡管理器配置:


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


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






最後,重啓網絡服務。


# systemctl restart network.service
好了,現在一切都搞定了。




另外,純粹修改DNS的話,下面這個方發是永久生效的:


#顯示當前網絡連接
#nmcli connection show
NAME UUID                                 TYPE           DEVICE
eno1 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eno1


#修改當前網絡連接對應的DNS服務器,這裏的網絡連接可以用名稱或者UUID來標識
#nmcli con mod eno1 ipv4.dns "114.114.114.114 8.8.8.8"


#將dns配置生效
#nmcli con up eno1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章