前言
在 Ubuntu 18.04 LTS 中配置 IP 地址的方法和以往使用的配置方法有很大的不同。和舊版本的不同之處在于,Ubuntu 18.04 使用 Netplan 來配置 IP 地址,Netplan 是一個(gè)新的命令行網(wǎng)絡(luò)配置工具。其實(shí)在 Ubuntu 17.10 的時(shí)候 Ubuntu 開發(fā)者就已經(jīng)介紹過 Netplan 了。接下來要介紹的新的 IP 配置方法不會再用到 /etc/network/interfaces 這個(gè)文件,取而代之的是一個(gè) YAML 文件。默認(rèn)的 Netplan 配置文件一般在 /etc/netplan 目錄下。
在這篇教程中,我們會去學(xué)習(xí)在 Ubuntu 18.04 LTS 的最小化服務(wù)器中配置靜態(tài) IP 和動(dòng)態(tài) IP 。
在 Ubuntu 18.04 LTS 中配置靜態(tài) IP 地址
首先先找到 Netplan 默認(rèn)的網(wǎng)絡(luò)配置文件所在之處:
$ ls /etc/netplan/
50-cloud-init.yaml
我們可以看到,默認(rèn)的網(wǎng)絡(luò)配置文件是 50-cloud-init.yaml ,這是一個(gè) YAML 文件。
然后我們再看一下這個(gè)文件的內(nèi)容是什么:
$ cat /etc/netplan/50-cloud-init.yaml
我在之前安裝 Ubuntu 18.04 的時(shí)候?yàn)榱藦?DHCP 服務(wù)器獲取 IP 地址已經(jīng)已經(jīng)做過了網(wǎng)卡的相關(guān)配置,所以詳細(xì)配置直接看下圖:
可以看到這邊有兩個(gè)網(wǎng)卡,分別是 enp0s3 和 enp0s8 ,并且這兩個(gè)網(wǎng)卡都配置為從 DHCP 服務(wù)器中獲取 IP。
現(xiàn)在我們給這兩個(gè)網(wǎng)卡都配置為靜態(tài) IP 地址,先用任意一種編輯器來編輯配置文件。
$ sudo nano /etc/netplan/50-cloud-init.yaml
接下來我們分別添加 IP 地址、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS 服務(wù)器等配置。分別用 192.168.225.50 作為網(wǎng)卡 enp0s3 的 IP 地址, 192.168.225.51 作為網(wǎng)卡 enp0s8 的 IP 地址, 192.168.225.1 作為網(wǎng)關(guān)地址, 255.255.255.0 作為子網(wǎng)掩碼。然后用 8.8.8.8 、 8.8.4.4 這兩個(gè) DNS 服務(wù)器 IP。
要注意的一點(diǎn)是,在 Ubuntu 18.04 里,這個(gè)配置文件的每一行都必須靠空格來縮進(jìn),不能用 TAB 來代替,否則配置會不起作用。如上圖所示的配置文件中每行的縮進(jìn)都是靠空格鍵實(shí)現(xiàn)的。
同時(shí),在 Ubuntu 18.04 中,我們定義子網(wǎng)掩碼的時(shí)候不是像舊版本的那樣把 IP 和子網(wǎng)掩碼分成兩項(xiàng)配置。在舊版本的 Ubuntu 里,我們一般配置的 IP 和子網(wǎng)掩碼是這樣的:
address = 192.168.225.50
netmask = 255.255.255.0
而在 netplan 中,我們把這兩項(xiàng)合并成一項(xiàng),就像這樣:
addresses : [192.168.225.50/24]
配置完成之后保存并關(guān)閉配置文件。然后用下面這行命令來應(yīng)用剛才的配置:
如果在應(yīng)用配置的時(shí)候有出現(xiàn)問題的話,可以通過如下的命令來查看剛才配置的內(nèi)容出了什么問題。
$ sudo netplan --debug apply
這行命令會輸出這些 debug 信息:
** (generate:1556): DEBUG: 09:14:47.220: Processing input file //etc/netplan/50-cloud-init.yaml..
** (generate:1556): DEBUG: 09:14:47.221: starting new processing pass
** (generate:1556): DEBUG: 09:14:47.221: enp0s8: setting default backend to 1
** (generate:1556): DEBUG: 09:14:47.222: enp0s3: setting default backend to 1
** (generate:1556): DEBUG: 09:14:47.222: Generating output files..
** (generate:1556): DEBUG: 09:14:47.223: NetworkManager: definition enp0s8 is not for us (backend 1)
** (generate:1556): DEBUG: 09:14:47.223: NetworkManager: definition enp0s3 is not for us (backend 1)
DEBUG:netplan generated networkd configuration exists, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:device enp0s3 operstate is up, not replugging
DEBUG:netplan triggering .link rules for enp0s3
DEBUG:device lo operstate is unknown, not replugging
DEBUG:netplan triggering .link rules for lo
DEBUG:device enp0s8 operstate is up, not replugging
DEBUG:netplan triggering .link rules for enp0s8
如果配置正常且生效的話,我們可以用下面這個(gè)命令來查看一下 ip:
在我的 Ubuntu 18.04 中配置完之后執(zhí)行命令輸出的信息如下:
到此為止,我們已經(jīng)成功地在 Ubuntu 18.04 LTS 中用 Netplan 完成了靜態(tài) IP 的配置。
更多關(guān)于 Netplan 的信息,可以在用 man 命令在手冊中查看:
在 Ubuntu 18.04 LTS 中配置動(dòng)態(tài) IP 地址
其實(shí)配置文件中的初始配置就是動(dòng)態(tài) IP 的配置,所以你想要使用動(dòng)態(tài) IP 的話不需要再去做任何的配置操作。如果你已經(jīng)配置了靜態(tài) IP 地址,想要恢復(fù)之前動(dòng)態(tài) IP 的配置,就把在上面靜態(tài) IP 配置中所添加的相關(guān)配置項(xiàng)刪除,把整個(gè)配置文件恢復(fù)成上面的圖 1 所示的樣子就行了。
現(xiàn)在你已經(jīng)學(xué)會在 Ubuntu 18.04 中配置靜態(tài)和動(dòng)態(tài) IP 地址了。個(gè)人而言,我其實(shí)不太喜歡這種方式,舊的配置方式反而來得簡單。你們覺得呢 ?
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。