在 Ubuntu 系統中,配置網絡接口端點通常指的是為您的有線或無線網卡設置一個固定的 IP 地址、子網掩碼、網關以及 DNS 服務器。這對于服務器或者需要穩定網絡標識的設備來說非常重要。
- 使用 Netplan (Ubuntu 17.10 及更高版本的默認方式)
- 使用 ifupdown (通過
/etc/network/interfaces
文件,適用于 Ubuntu 16.04 及更早版本,或某些特定場景下仍可能使用)
Ubuntu博客: https://cn.ubuntu.com/blog/
Ubuntu文檔: https://ubuntu.com/blog/tag/documentation/
Ubuntu教程: https://ubuntu.com/tutorials/
步驟一:識別您的網絡接口名稱
在開始配置之前,您需要知道要配置的網絡接口的名稱。
打開終端,輸入以下命令之一:
ip addr
或者,如果 ifconfig
已安裝(較舊的系統或手動安裝):
ifconfig -a
在輸出中,您會看到類似 eth0
, enp0s3
, wlp2s0
(無線網卡) 等名稱。記下您希望配置靜態 IP 的那個接口的名稱。例如,我們假設您的接口名稱是 enp0s3
。
方法一:使用 Netplan 配置靜態 IP (Ubuntu 17.10 及更高版本)
Netplan 是 Ubuntu 較新版本中用于網絡配置的工具。它使用 YAML 格式的配置文件。
1. 定位并備份 Netplan 配置文件:
Netplan 的配置文件通常位于 /etc/netplan/
目錄下。文件名可能有所不同,常見的有 01-netcfg.yaml
, 50-cloud-init.yaml
, 或其他以 .yaml
結尾的文件。
首先,列出該目錄下的文件以確定您的配置文件名:
ls /etc/netplan/
假設您的配置文件是 01-netcfg.yaml
。在編輯之前,強烈建議備份它:
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
2. 編輯 Netplan 配置文件:
使用您喜歡的文本編輯器(如 nano
或 vim
)打開配置文件。這里以 nano
為例:
sudo nano /etc/netplan/01-netcfg.yaml
3. 配置靜態 IP 地址:
您需要修改文件內容,使其包含靜態 IP 的配置。以下是一個示例,請根據您的實際網絡環境和需求進行修改:
network:version: 2renderer: networkd # 或者 network-manager,取決于您的系統,通常服務器為 networkdethernets:enp0s3: # <-- 將 'enp0s3' 替換為您的實際網絡接口名稱dhcp4: no # 關閉 IPv4 DHCPdhcp6: no # 可選:關閉 IPv6 DHCPaddresses:- 192.168.1.100/24 # <-- 設置您的靜態 IP 地址和子網掩碼 (CIDR 格式)# - 2001:db8::c001/64 # 可選:IPv6 地址示例# routes: # 舊版 Netplan 使用 'gateway4:',新版傾向于使用 'routes:'# - to: default# via: 192.168.1.1 # <-- 設置您的默認網關gateway4: 192.168.1.1 # <-- 設置您的 IPv4 默認網關 (對于較新版 Netplan,可注釋掉此行,使用上面的 routes)# gateway6: 2001:db8::1 # 可選:IPv6 網關示例nameservers:addresses: [8.8.8.8, 1.1.1.1] # <-- 設置您的 DNS 服務器地址 (例如 Google DNS 和 Cloudflare DNS)# search: [mydomain.local] # 可選:DNS 搜索域
關鍵參數解釋:
* version: 2
: Netplan 配置文件的版本。
* renderer
: 指定后端網絡管理工具。服務器通常使用 networkd
,桌面版可能使用 NetworkManager
。您可以通過 cat /etc/netplan/your-config-file.yaml
查看當前 renderer。如果您的系統使用 NetworkManager 并且希望繼續由它管理,請將 renderer
設置為 NetworkManager
。
* ethernets
: 定義有線網絡接口的配置。如果是無線接口,這里可能是 wifis
。
* enp0s3
: 將此替換為您的實際網絡接口名稱。
* dhcp4: no
: 禁用 IPv4 DHCP。如果您希望通過 DHCP 獲取 IP,請設置為 yes
,并刪除 addresses
和 gateway4
/routes
的配置。
* addresses
: 一個列表,包含一個或多個 IP 地址及其子網掩碼(使用 CIDR 表示法)。
* 例如 192.168.1.100/24
表示 IP 地址 192.168.1.100
,子網掩碼 255.255.255.0
。
* gateway4
: IPv4 默認網關的 IP 地址。
* 注意: 較新版本的 Netplan 推薦使用 routes
來定義默認網關,如下所示:
yaml routes: - to: default via: 192.168.1.1
如果同時存在 gateway4
和 routes
中定義的默認網關,Netplan 可能會報錯或行為不確定。建議使用其中一種。
* nameservers
:
* addresses
: 一個 DNS 服務器 IP 地址的列表。
4. 應用 Netplan 配置:
保存并關閉文件后(在 nano
中是 Ctrl+O
保存, Enter
確認, Ctrl+X
退出),應用新的網絡配置:
sudo netplan apply
如果命令執行成功且沒有錯誤提示,那么配置應該已經生效。
如果遇到問題,可以使用以下命令來獲取更詳細的調試信息:
sudo netplan --debug apply
這將幫助您定位 YAML 文件中的語法錯誤或其他配置問題。
5. 驗證網絡配置:
使用以下命令檢查 IP 地址是否已正確設置:
ip addr show enp0s3 # 將 'enp0s3' 替換為您的接口名稱
您應該能看到您配置的靜態 IP 地址。
測試網絡連接和 DNS 解析:
ping -c 3 192.168.1.1 # ping 您的網關
ping -c 3 google.com # ping 一個外部地址以測試 DNS 和外網連接
方法二:使用 ifupdown (通過 /etc/network/interfaces
) 配置靜態 IP (Ubuntu 16.04 及更早版本或特定情況)
對于較舊的 Ubuntu 版本,或者在某些特定情況下(例如,如果系統明確配置為不使用 Netplan),您可能需要編輯 /etc/network/interfaces
文件。
1. 備份 /etc/network/interfaces
文件:
sudo cp /etc/network/interfaces /etc/network/interfaces.bak
2. 編輯 /etc/network/interfaces
文件:
sudo nano /etc/network/interfaces
3. 配置靜態 IP 地址:
您需要修改或添加與您的網絡接口相關的配置段。以下是一個示例:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).source /etc/network/interfaces.d/*# The loopback network interface
auto lo
iface lo inet loopback# The primary network interface (將 'enp0s3' 替換為您的接口名稱)
auto enp0s3
iface enp0s3 inet staticaddress 192.168.1.100 # <-- 您的靜態 IP 地址netmask 255.255.255.0 # <-- 您的子網掩碼gateway 192.168.1.1 # <-- 您的默認網關dns-nameservers 8.8.8.8 1.1.1.1 # <-- 您的 DNS 服務器 (用空格分隔多個)# dns-search mydomain.local # 可選:DNS 搜索域
關鍵參數解釋:
* auto enp0s3
: 表示在系統啟動時自動啟用名為 enp0s3
的接口。
* iface enp0s3 inet static
: 表示將 enp0s3
接口配置為使用靜態 IPv4 地址。
* address
: 您的靜態 IP 地址。
* netmask
: 您的子網掩碼。
* gateway
: 您的默認網關 IP 地址。
* dns-nameservers
: 一個或多個 DNS 服務器的 IP 地址,用空格分隔。
如果您的接口之前是通過 DHCP 配置的,相關的行可能看起來像:
# iface enp0s3 inet dhcp
您需要注釋掉(在行首加 #
)或刪除 DHCP 配置行,然后添加上面的靜態配置。
4. 應用網絡配置:
保存并關閉文件后,您需要重新啟動網絡服務或單獨重置該接口以使更改生效。
-
重啟網絡服務 (可能會短暫中斷所有網絡連接):
sudo systemctl restart networking.service
或者在非常舊的系統上:
sudo /etc/init.d/networking restart
-
單獨重置接口 (推薦,影響范圍較小):
sudo ifdown enp0s3 && sudo ifup enp0s3
這會先禁用接口,然后再啟用它,加載新的配置。如果
ifdown
失敗(例如,因為接口正忙),您可能需要先sudo ifconfig enp0s3 down
再sudo ifup enp0s3
,或者直接重啟網絡服務/系統。
5. 驗證網絡配置:
使用以下命令檢查 IP 地址是否已正確設置:
ip addr show enp0s3 # 或者 ifconfig enp0s3
您應該能看到您配置的靜態 IP 地址。
測試網絡連接和 DNS 解析:
ping -c 3 192.168.1.1 # ping 您的網關
ping -c 3 google.com # ping 一個外部地址以測試 DNS 和外網連接