Linux 如何設定網路連線?


為了讓Linux可以使用或是提供網路服務,必須要設定Linux使其能夠連上網路。Linux可以透過圖形化桌面環境所提供的網路管理工具或是終端機的文字介面來輕鬆完成網路設定。

使用圖形使用者介面(GUI)設定Linux的網路連線

大多數的Linux桌面環境都有提供網路管理工具,可以很直覺地進行網路連線的設定。下圖即為Cinnamon的時間與時區設定視窗:

linux-network

linux-network

使用命令列介面(CLI)設定Linux的網路連線

顯示出所有的網路連線介面

如果不確定自己的系統擁有哪些網路連線介面,可以使用以下指令來查看:

ip link show

linux-network

在這裡簡單說明一下不同名稱的網路介面所代表的網路類型:

顯示出目前啟用的網路連線介面的連線狀態

使用以下指令可以查看目前啟用的網路連線介面的連線狀態:

ifconfig

linux-network

顯示出目前啟用的網路連線介面的路由方式

使用以下指令可以查看目前啟用的網路連線介面的路由方式:

route -n

linux-network

使用動態主機設定協定(DHCP)完成網路設定

大多數的路由器會使用動態主機設定協定(DHCP, Dynamic Host Configuration Protocol)來與底下的其它裝置完成內部連線設定。要在Linux上透過DHCP來設定網路介面,可以使用以下指令:

sudo dhclient 網路介面名稱

例如要透過DHCP來設定eth1網路介面,可以執行以下指令:

sudo dhclient eth1

linux-network

指令執行後,可以再次使用上面提到的「ifconfig」指令來查看DHCP設定的結果。

linux-network

開啟網路介面

想要透過命令列開啟網路介面的話,可以使用以下指令:

sudo ifconfig 網路介面名稱 up

例如要開啟eth1網路介面,可以執行以下指令:

sudo ifconfig eth1 up

linux-network

關閉網路介面

想要透過命令列關閉網路介面的話,可以使用以下指令:

sudo ifconfig 網路介面名稱 down

例如要關閉eth1網路介面,可以執行以下指令:

sudo ifconfig eth1 down

linux-network

設定網路介面的參數

路由器無法透過DHCP來自動設定連線參數,或是不想使用DHCP的話,也可以使用以下指令來手動指定連線參數:

sudo ifconfig 網路介面名稱Linux裝置的IP位址 [broadcast 廣播的IP位址] [netmask IP位址遮罩]

例如:

sudo ifconfig eth1 192.168.56.103 broadcast 192.168.56.255 netmask 255.255.255.0

linux-network

如果需要指定通往其他網域的閘道器(Gateway),可以使用以下指令來設定:

sudo route add default gw 閘道器IP位址

例如:

sudo route add default gw 192.168.56.1

linux-network

修改網路介面設定檔

透過「ifconfig」設定好的網路,重新開機之後依然需要再下指令重新設定。如果要對網路做永久的改變,建議使用文字編輯器修改「/etc/network/interfaces」檔案。可以使用類似以下的指令來修改檔案:

sudo vim /etc/network/interfaces

例如設定eth1網路介面使用DHCP:

linux-network

例如手動設定eth1網路介面的參數:

linux-network

修改設定檔之後,重啟要套用的網路介面,或是重新開機,即可套用新的設定。

設定PPPoE連線

如果要使用軟體撥接建立PPPoE連線,用上面的方式設定好乙太網路之後,可以再使用以下指令來設定PPPoE

sudo pppoeconf

linux-network

接著照著文字圖形介面上的步驟進行設定即可。

linux-network

設定無線網路連線

使用命令列介面設定無線網路有點麻煩,在此只介紹常用的WPA(Wi-Fi Protected Access)/WPA2連線的方式。首先必須先確認無顯網路介面的名稱,這裡以wlan0為例。接著藉由上面提到的方法,用以下指令嘗試啟用它:

sudo ifconfig wlan0 up

linux-network

若出現如上圖的RF-kill問題,需要先解除RF-kill對wlan0無線網路介面的軟體關閉功能。首先輸入以下指令來查看所有RF-kill可控制的網路介面:

rfkill list all

linux-network

接著記下wlan0的號碼(這邊的例子是1),再套用到下面這個解除RF-kill軟體關閉功能的指令中:

sudo rfkill unblock 1

指令中的「1」即為網路介面的號碼。

linux-network

成功啟動無線網路介面之後,可以先使用以下的指令來掃描附近可見的無線網路:

sudo iwlist scan

linux-network

由於我們使用的是WPA連線,因此要先用以下指令來產生WPA的通行密鑰檔案。此處以連接到SSID為「magiclen.org」,密碼為「12345678」的AP(Access Point)為例。

wpa_passphrase magiclen.org 12345678 > ~/wpa.conf

指令執行後,便能在家目錄中產生出通行密鑰檔案,檔名為「wpa.conf」。

然後再使用以下指令進行WPA連線:

sudo wpa_supplicant -D wext -i wlan0 -c ~/wpa.conf

linux-network

如果關閉這支行程,連線將會中斷。因此也可以加上「-B」參數,讓「wpa_supplicant」在背景中執行。

最後用先前提到的方式,輸入以下指令,使用DHCP進行連線。

sudo dhclient wlan0

linux-network

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章