昨天從新安裝了下系統,發現虛擬機中安裝的Linux系統ip地址被從新分配,開始沒有以爲什麼,但是打算鏈接虛擬機中搭建的solr集羣時候發現悲劇了,緣由是使用zookeeper搭建的solr集羣,在zookeeper的配置文件中,設置的ip地址和如今系統的地址徹底不同,雖然能夠手動一個個修改。但是依然以爲太麻煩,最後決定直接修改Linux的ip地址得了,如下是修改方法。vim
注:修改必須使用 root權限,不然沒法修改爲功。網絡
1. 在開始操做以前,先在命令行中 輸入命令 ifconfig 查看網卡名稱,以下圖所示編輯器
如圖中所示,能夠看到兩個網卡名稱:ens33 和 lo。 而咱們須要的就是修更名爲ens33的網卡設置oop
注:這裏有個坑,若是在Ubuntu 16.04以前的版本 此處顯示的網卡名稱是enth0, 而不是如今顯示的ens33.。spa
在網上找了張圖片,以前的網卡名稱確實和如今的網卡名稱不同命令行
2. 在命令行輸入 vim /etc/network/interfaces , 使用 編輯器打開interfaces配置文件,而後輸入如下代碼。rest
1 # interfaces(5) file used by ifup(8) and ifdown(8) 2 auto lo 3 iface lo inet loopback 4
5 auto ens33 6 iface ens33 inet static 7 address 192.168.1.7 8 netmask 255.255.255.0 9 gateway 192.168.1.1 10 dns-nameservers 218.85.157.99 218.85.152.99
設置網卡名稱爲 ens33 靜態ip地址, 網關 , DNS地址等。注意這裏的網卡名稱須要根據你本身的網卡名稱修改。若是將網卡名稱ens33 改爲eth0, 那麼會出現以下的錯誤code
[....] Restarting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code. server
See "systemctl status networking.service" and "journalctl -xe" for details. failed!blog
修改後以下圖所示
3.設置DNS服務地址
DNS地址已經在第二步設置過了,這裏說下注意的地方
1. 查看DNS地址能夠在Windown的 命令窗口中輸入 ipconfig /all 查看DNS服務地址。
2. 不要手動在配置文件 /etc/resolv.conf 中設置 nameserver,不然重啓系統以後,全部的DNS地址都會被覆蓋。因此若是要設置DNS服務地址,請在第二步的 配置文件interfaces 中設置 dns-nameservers 屬性,每一個DNS服務地址用空格間隔,從新網絡服務以後,全部的nameserver會被添加到 /etc/resolv.conf配置文件中。
下面是 /etc/resolv.conf 重啓網絡以後的 DNS服務地址
4. 設置完成以後,輸入命令 /etc/init.d/networking restart 從新啓動網絡
看到OK說明重啓成功了, 繼續經過 ifconfig 命令查看如今網卡狀況
能夠看到ip地址已修改爲功。 我以前的地址是192.168.1.6
注:若是啓動不成功,或者出錯。在命令行輸入 systemctl restart network-manager.service 將網絡服務從新啓動
修改ip的過程很簡單,可是修改的過程須要注意 網卡名稱 和 DNS服務的設置,別踩坑了。
文章有不少不足的地方,歡迎你們指正。謝謝!