Ubuntu 20.10設置靜態IP地址


1. 前言

今天有同學發現 Ubuntu 20.10 設置靜態 IP 后沒有生效

於是我就在虛擬機上試驗了一把,發現完全不起作用(網絡上還有很多誤人子弟的文章如此寫...不求甚解很可怕呀)

root@ubuntu20:~# cat /etc/network/interfaces
auto enpos3
iface enpos3 inet static
address 172.18.0.214
netmask 255.255.255.0
gateway 172.18.0.1
dns-nameserver 202.106.0.20
root@ubuntu20:~#

后來在搜索之后才發現,原來自 17.10 開始,Ubuntu 已放棄在 /etc/network/interfaces 里設置靜態 IP 的辦法了,即使配置也不會生效,而是改成 netplan 方式 ,配置寫在 /etc/netplan/01-network-manager-all.yaml 或者類似名稱的 yaml 文件里(此處請注意 yaml 的語法格式)

2. 設置網卡

cat /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
  version: 2   
  ethernets:
    enp0s3:                           # 配置網卡的名稱,通過 ip a 命令查看
      dhcp4: false                    # 關閉 DHCP,如果需要打開 DHCP 則寫 true
      addresses: [172.18.0.214/24]    # 配置的靜態 IP 地址和掩碼
      optional: true
      gateway4: 172.18.0.1            # 網關地址
      nameservers:
        addresses: [202.106.0.20,114.114.114.114]       # DNS 服務器地址,多個 DNS 服務器地址需要用英文逗號分隔開

3. 設置后重啟網卡

root@ubuntu20:~# netplan apply

4. 查看網卡設置是否生效

root@ubuntu20:~# ifconfig enp0s3
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.18.0.214  netmask 255.255.255.0  broadcast 172.18.0.255
        inet6 fe80::a00:27ff:fe7e:6d82  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:7e:6d:82  txqueuelen 1000  (Ethernet)
        RX packets 456385  bytes 52540642 (52.5 MB)
        RX errors 0  dropped 18  overruns 0  frame 0
        TX packets 199715  bytes 19649186 (19.6 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

root@ubuntu20:~#

5. 測試網絡連通性

root@ubuntu20:~# ping -c5 www.baidu.com
PING www.a.shifen.com (110.242.68.4) 56(84) bytes of data.
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=1 ttl=54 time=10.7 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=2 ttl=54 time=12.6 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=3 ttl=54 time=10.6 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=4 ttl=54 time=11.7 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=5 ttl=54 time=11.2 ms

--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 10.582/11.377/12.630/0.741 ms
root@ubuntu20:~#

6. yaml 語法

  • 冒號后面如果跟內容,需要使用空格隔開

  • 使用#號注釋代碼

  • 縮進必須是統一的,不能空格和tab混用

  • 縮進的級別也必須是一致的,同樣的縮進代表同樣的級別,程序判別配置的級別是通過縮進結合換行來實現的

  • YAML文件擴展名通常為yml或yaml


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM