Ubuntu 從 17.10 版開始使用 Netplan 作為系統預設的網路設定方式。如果您使用的 Ubuntu 為 17.10 以後的版本,建議參考這篇文章進行設定。
使用 ifconfig
指令查看網路卡狀態
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
eth0 Link encap:Ethernet HWaddr 08:00:27:51:3c:5b
inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe51:3c5b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1460 errors:0 dropped:0 overruns:0 frame:0
TX packets:1406 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:127041 (127.0 KB) TX bytes:299866 (299.8 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
|
網路卡設定在 /etc/network/interfaces
,以編輯器開啟 (e.g. vim, nano … etc),預設應該長的像這樣:
1
2
3
4
5
6
7
8
9
10
11
12
|
# 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
auto eth0
iface eth0 inet dhcp
|
針對幾個設定檔中出現的關鍵字簡單說明:
auto
:網路介面卡應該在系統啟動時自動套用設定並啟用,這個設定就是來自於 /etc/network/interfaces
這個檔案
lo
/ eth0
:網路卡介面名稱
iface
:介面 (interface) 的簡稱
inet
:在介面上使用 TCP/IP 網路
loopback
:回送,此類型介面為虛擬介面,經由此介面送出的封包會直接傳給自己,通常作業系統都預設有一個 loopback 介面,其 IP 為 127.0.0.1,一種簡單的網路卡功能檢測方式為 ping 127.0.0.1,這個動作就是在網路卡上藉由測試傳送與接收 ping 封包是否正常來驗證網路卡功能是否出問題
dhcp
:使用 DHCP 自動取得網路設定
依照關鍵字說明,解讀上面的設定檔具有:
- 有2個介面 (網路介面卡),一個是實體網路卡
eth0
,一個是虛擬網路卡 lo
- 實體網路卡
eth0
為自動取得網路設定,若區域網路內有 DHCP Server,則網路卡啟用後應該要能自動向 DHCP Server 取得一組 IP
若需要將網路卡設定為固定 IP,設定大概是長這樣 (以 eth0 為例):
1
2
3
4
5
|
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.254
dns-nameservers 192.168.0.254 168.95.1.1 8.8.8.8
|
針對新出現的關鍵字做簡單說明:
static
:使用固定 IP 設定
address
:固定 IP 位址
netmask
:網路遮罩
gateway
:網路閘道
dns-nameservers
:DNS 伺服器,若要使用多個 DNS,則使用空格區隔
其他更進階的設定,可以參考 Debain Wiki:
修改完網路設定後,需要使用以下指令重新讀取網路設定:
1
|
sudo /etc/init.d/networking restart
|
上面的指令是 for all interface,可能會造成部分連線中斷
也可以透過 ifdown
與 ifup
指令關閉與開啟網路卡來套用新設定
避免其他沒有進行異動的介面卡網路中斷
References: