為什么需要靜態(tài)IP地址
在企業(yè)內(nèi)部網(wǎng)絡(luò)中,計(jì)算機(jī)是從本地連接的路由器中獲取IP地址的,默認(rèn)情況下這是一個(gè)動(dòng)態(tài)IP地址,即每次從路由器中獲取IP是隨機(jī)變化的。這種規(guī)則用于普通客戶機(jī)訪問(wèn)網(wǎng)絡(luò)并沒(méi)有什么影響,但如果是一臺(tái)服務(wù)器(如悅庫(kù)企業(yè)網(wǎng)盤服務(wù)端),則需要一個(gè)靜態(tài)的IP地址,以便其他客戶機(jī)以固定方式連接到服務(wù)器,而不是經(jīng)常修改連接服務(wù)器的IP地址。
如何配置靜態(tài)IP地址
Ubuntu18.04以后不再支持ifupdown配置網(wǎng)絡(luò),而改用 Netplan,本教程是基于Netplan的網(wǎng)絡(luò)配置方法,在Ubuntu18.04上驗(yàn)證通過(guò)。
以下例子中,當(dāng)前的動(dòng)態(tài)IP為:192.168.0.13,我們將配置為靜態(tài)IP: 192.168.0.180 。
靜態(tài)IP必須和當(dāng)前動(dòng)態(tài)IP的網(wǎng)段一致,否則可能導(dǎo)致網(wǎng)絡(luò)無(wú)法連接。如果靜態(tài)IP已經(jīng)被分配給網(wǎng)絡(luò)中的其他主機(jī),會(huì)造成IP沖突,網(wǎng)絡(luò)無(wú)法連接,直接將當(dāng)前動(dòng)態(tài)IP配置為靜態(tài)IP可以避免這一情況。
查看當(dāng)前動(dòng)態(tài)IP
ifconfig
輸出內(nèi)容
docker0: flags=4099<UP,BROADCAST,MULTICAST>? mtu 1500
? ? ? ? inet 172.17.0.1? netmask 255.255.0.0? broadcast 172.17.255.255
? ? ? ? ether 02:42:81:00:3f:4b? txqueuelen 0? (以太網(wǎng))
? ? ? ? RX packets 0? bytes 0 (0.0 B)
? ? ? ? RX errors 0? dropped 0? overruns 0? frame 0
? ? ? ? TX packets 0? bytes 0 (0.0 B)
? ? ? ? TX errors 0? dropped 0 overruns 0? carrier 0? collisions 0
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>? mtu 1500
? ? ? ? inet 192.168.0.13? netmask 255.255.255.0? broadcast 192.168.0.255
? ? ? ? inet6 fe80::bd31:b416:5049:bbfc? prefixlen 64? scopeid 0x20<link>
? ? ? ? ether 08:00:27:33:20:75? txqueuelen 1000? (以太網(wǎng))
? ? ? ? RX packets 1882? bytes 257705 (257.7 KB)
? ? ? ? RX errors 0? dropped 0? overruns 0? frame 0
? ? ? ? TX packets 365? bytes 32881 (32.8 KB)
? ? ? ? TX errors 0? dropped 0 overruns 0? carrier 0? collisions 0
其中 enp0s3 是用物理網(wǎng)線連接的網(wǎng)卡,這是一個(gè)局域網(wǎng)IP,地址:192.168.0.13 。
2. 配置靜態(tài)IP地址
列出網(wǎng)絡(luò)配置文件,其在不同Ubuntu版本中可能會(huì)有差異,但一定是.yaml文件。
ls /etc/netplan/
輸出內(nèi)容
01-network-manager-all.yaml
備份現(xiàn)有的配置文件,這樣如果配置錯(cuò)誤可以恢復(fù)。
sudo cp? /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.bak
使用vi編輯器打開
sudo vim /etc/netplan/01-network-manager-all.yaml
如果使用xshell方式,請(qǐng)?jiān)趘i編輯器命令模式下輸入(避免復(fù)制格式混亂):
:set paste
配置文件修改如下:
其中 addresses 是靜態(tài)IP地址,gateway4是網(wǎng)關(guān)地址,nameservers是DNS服務(wù)器地址。
network:
? ? ethernets:
? ? ? ? enp0s3:
? ? ? ? ? ? dhcp4: no
? ? ? ? ? ? addresses: [192.168.0.180/24]
? ? ? ? ? ? optional: true
? ? ? ? ? ? gateway4: 192.168.0.1
? ? ? ? ? ? nameservers:
? ? ? ? ? ? ? ? ? ? addresses: [192.168.0.1,223.6.6.6]
? ? version: 2
3. 重啟網(wǎng)絡(luò)服務(wù)使配置生效
sudo netplan apply
4. 驗(yàn)證結(jié)果
ifconfig
輸出內(nèi)容
docker0: flags=4099<UP,BROADCAST,MULTICAST>? mtu 1500
? ? ? ? inet 172.17.0.1? netmask 255.255.0.0? broadcast 172.17.255.255
? ? ? ? ether 02:42:81:00:3f:4b? txqueuelen 0? (以太網(wǎng))
? ? ? ? RX packets 0? bytes 0 (0.0 B)
? ? ? ? RX errors 0? dropped 0? overruns 0? frame 0
? ? ? ? TX packets 0? bytes 0 (0.0 B)
? ? ? ? TX errors 0? dropped 0 overruns 0? carrier 0? collisions 0
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>? mtu 1500
? ? ? ? inet 192.168.0.180? netmask 255.255.255.0? broadcast 192.168.0.255
? ? ? ? inet6 fe80::bd31:b416:5049:bbfc? prefixlen 64? scopeid 0x20<link>
? ? ? ? ether 08:00:27:33:20:75? txqueuelen 1000? (以太網(wǎng))
? ? ? ? RX packets 1882? bytes 257705 (257.7 KB)
? ? ? ? RX errors 0? dropped 0? overruns 0? frame 0
? ? ? ? TX packets 365? bytes 32881 (32.8 KB)
? ? ? ? TX errors 0? dropped 0 overruns 0? carrier 0? collisions 0