如何在Ubuntu Server 18.04 LTS中配置靜態IP地址


安裝Ubuntu Server 18.04后需要分配一個的靜態IP地址。先前的LTS版本Ubuntu 16.04使用/etc/network/interfaces文件配置靜態IP地址,但是Ubuntu 18.04使用稱為netplan的新方法。

在本教程中,我們將學習如何使用netplan在Ubuntu Server 18.04中配置網絡接口。我們將研究如何設置靜態IP地址,默認網關和DNS名稱服務器。

  • 使用ip命令標識可用的網絡接口
  • Netplan和YAML格式的界面配置文件
  • 分配靜態IP地址(IPv4)
  • 在Ubuntu Server上配置靜態IPv6地址
  • 將多個IP地址分配給一個網絡接口
  • 配置多個網絡接口

使用ip命令識別可用的網絡接口

在配置靜態IP地址之前,需要標識Ubuntu Server 18.04上的可用網絡接口以及分配給特定網絡接口的設備ID是什么。

運行 ip link show命令,它將列出服務器上所有可用的網絡接口。
ip link show
使用ip命令識別可用的網絡接口

要查看當前的IP配置,運行ip addr命令:

ip addr

輸出將顯示所有網絡接口的當前分配的IP配置。

ubuntu網絡接口

Netplan和YAML格式的界面配置文件

Ubuntu 18.04使用一種稱為netplan的新方法。在netplan中,接口配置文件位於/etc/netplan目錄中,並且配置文件具有.yaml擴展名。YAML語法非常容易理解,只需要知道網絡配置所需的內容。

列出/etc/netplan目錄的內容,看到帶有yaml擴展名的接口配置文件。

在netplan中,接口配置文件位於/ etc / netplan目錄中,並且配置文件具有.yaml擴展名

在我的Ubuntu Server中,該文件的名稱為50-cloud-init.yaml,但可以根據安裝類型使用其他名稱進行保存。

安裝類型 接口文件名
Ubuntu服務器實時ISO /雲 50-cloud-init.yaml
Ubuntu Server ISO(備用Ubuntu Server安裝程序) 01-netcfg.yaml
Ubuntu桌面ISO 01-網絡管理器-all.yaml

在我的Ubuntu Server上,文件內容如下所示:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: yes
 

通過僅查看最后一行:“ dhcp4:yes”,可以說以太網接口enp0s3已配置為從DHCP服務器租用IP地址。如果打算從DHCP服務器分配動態IP地址,則需要此配置。

分配靜態IP地址(IPv4)

這是帶有靜態IP分配(IPV4)的樣本netplan配置文件,在此配置中,接口enp0s3已配置為IP 192.168.1.100和默認網關192.168.1.1。

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 4.4.4.4]

為了應用配置,運行netplan命令:

sudo netplan apply

然后,運行ip add命令以確保已應用更改:

ip add

如何運作

在上面的示例中,將enp0s3以太網接口配置為使用靜態IP地址192.168.1.100。

第一行:“版本:2”表示此配置塊使用netplan版本2格式。

network:
  version: 2

下一行:“ renderer:networkd”告訴此接口由systemd-networkd服務管理。

renderer: networkd

如果接口由NetworkManager管理,則networkd的替代選項是NetworkManager。如果查看Ubuntu 18.04桌面的netplan配置文件,則將renderer選項設置為NetworkManager,因為在圖形桌面環境中,界面由NetworkManager管理。

接下來,開始接口配置:

ethernets:
    enp0s3:

這里,enp0s3是接口的名稱,可以運行ip link show命令來列出Ubuntu Server上的網絡接口。

接着,將靜態IP設置為192.168.1.100,網絡掩碼為24:

addresses:
  - 192.168.1.100/24

地址選項也可以按以下格式定義:

addresses: [192.168.0.101/24]

接下來,將默認網關設置為192.168.1.1:

gateway4: 192.168.1.1

使用選項gateway4,因為它是IPv4網關。對於IPv6網關,需要使用gateway6選項。

接下來,將DNS服務器設置為8.8.8.8和4.4.4.4。

nameservers:
  addresses: [8.8.8.8, 4.4.4.4]

應用新的接口配置,運行netplan命令:

sudo netplan apply

該命令會將當前的netplan配置應用於正在運行的系統。不再需要重新啟動網絡來應用更改。

在Ubuntu Server上配置靜態IPv6地址

使用相同的netplan格式分配IPv6地址,唯一的區別是,需要使用gateway6選項而不是gateway4。

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 2001:1::1/64
      gateway6: 2001:1::2
      nameservers:
        addresses: [8.8.8.8, 4.4.4.4]

將多個IP地址分配給單個網絡接口

單個網絡接口配置有多個IP地址是很常見的。以下是示例Ubuntu netplan配置文件,其中將兩個IPv4地址分配給一個網絡接口。

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.100/24
        - 192.168.1.101/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 4.4.4.4]
 

地址選項也可以采用以下格式編寫:

addresses: [192.168.1.100/24, 192.168.1.101/24]

可以使用IPv4和IPv6地址配置單個網絡接口,如以下netplan文件所示:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.100/24
        - 2001:1::1/64
      gateway4: 192.168.1.1
      gateway6: 2001:1::2
      nameservers:
        addresses: [8.8.8.8, 4.4.4.4]

配置多個網絡接口

在單個服務器上安裝多個網絡接口是很常見的。這是一個示例netplan文件,為兩個網卡配置了靜態地址:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 4.4.4.4]
    enp0s8:
      addresses:
        - 10.10.10.2/24

注意,只有主接口已配置了默認網關,在本例中為enp0s3。有多個默認網關是不實際的,默認網關是沒有其他路由時發送流量的地址。

再看另一個同時使用靜態和DHCP地址的netplan示例:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
          addresses: [8.8.8.8, 4.4.4.4]
  wifis:
    wlp3s0:
      dhcp4: yes
      access-points:
        #configure SSID and wifi password
        "my_ssid":
          password: "my-wifi-password"

在前面的示例中,wifi接口wlp3s0已配置為從DHCP服務器租用IP地址。

總結

在本教程中,我們學習了如何在Ubuntu 18.04上配置靜態IP地址,在該版本中不再使用舊的/etc/network/interfaces文件。Ubuntu 18現在使用稱為netplan的新方法來管理網絡。使用Netplan,網絡接口的配置文件以YAML數據格式放在/etc/netplan目錄中,而netplan命令用於在配置更改后重新啟動網絡。


免責聲明!

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



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