iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0

設定網路

Linux網路設定涉及到以下幾個方面:

  • 網路介面卡(NIC)的驅動程式和模組的安裝和載入
  • 網路介面卡的IP位址、子網遮罩、預設閘道、DNS伺服器等參數的設定
  • 網路服務的啟動和停止,如SSH、FTP、HTTP等

本文將介紹Linux網路設定的基本概念和常用的命令。

網路介面卡(NIC)的驅動程式和模組的安裝和載入

Linux網路設定的第一步是確認網路介面卡(NIC)的驅動程式和模組是否正確安裝和載入。Linux系統通常會自動偵測和配置網路介面卡,但有時也可能需要手動操作。我們可以使用lspci命令來查看系統中安裝的網路介面卡的型號和廠商,例如:

$ lspci | grep -i ethernet
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)

這個命令會列出系統中所有包含"ethernet"字串的設備,並顯示其控制器型號和廠商。我們可以根據這些資訊,到廠商的官網或其他來源下載相對應的驅動程式,並按照說明安裝。

另一個查看網路介面卡的命令是ip link,例如:

$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 3c:97:0e:9a:d1:a2 brd ff:ff:ff:ff:ff:ff

這個命令會列出系統中所有的網路介面,並顯示其名稱、屬性、狀態和MAC位址等資訊。我們可以看到,系統中有兩個網路介面:loenp0s25。其中,lo是本地回送介面,用於本機通訊;enp0s25是實體網路介面卡,用於連接外部網路。我們可以看到,這個介面的狀態是UP,表示已經啟動並正常工作。

如果我們想要查看或修改某個網路介面的參數,我們可以使用ip link set命令,例如:

$ sudo ip link set enp0s25 down # 關閉網路介面
$ sudo ip link set enp0s25 up # 開啟網路介面
$ sudo ip link set enp0s25 mtu 1400 # 設定最大傳輸單元(MTU)

這些命令需要使用root權限執行,因為它們會影響系統的網路配置。

網路介面卡的IP位址、子網遮罩、預設閘道、DNS伺服器等參數的設定

在Linux系統中,我們可以使用ip命令來設定網路介面卡的IP位址、子網遮罩、預設閘道和DNS伺服器。以下是一些基本的操作:

  1. 設定IP位址和子網遮罩:我們可以使用ip addr add命令來設定網路介面卡的IP位址和子網遮罩,例如:
$ sudo ip addr add 192.168.1.100/24 dev enp0s25

這個命令會將IP位址192.168.1.100和子網遮罩255.255.255.0(即/24)設定到網路介面卡enp0s25上。這個命令需要使用root權限執行,因為它會影響系統的網路配置。

  1. 設定預設閘道:我們可以使用ip route add命令來設定預設閘道,例如:
$ sudo ip route add default via 192.168.1.1

這個命令會將預設閘道設定為192.168.1.1。所有未指定路由的網路流量都會通過這個閘道。

  1. 設定DNS伺服器:DNS伺服器的設定通常在/etc/resolv.conf文件中。我們可以使用文本編輯器打開這個文件,並添加如下行來設定DNS伺服器:
nameserver 8.8.8.8
nameserver 8.8.4.4

這兩行會將DNS伺服器設定為Google的公共DNS伺服器8.8.8.8和8.8.4.4。

網路服務的啟動和停止

在Linux系統中,我們可以使用systemctl命令來管理系統服務,包括網路服務如SSH、FTP、HTTP等。

注意: 這個命令需要使用root權限執行

以下是一些基本的操作:

  1. 啟動服務:
# systemctl start ssh

這個命令會啟動SSH服務。
2. 停止服務

# systemctl stop ssh

這個命令會停止SSH服務。
3. 重啟服務:我們可以使用systemctl restart命令來重啟一個服務,例如:

# systemctl restart ssh

這個命令會重新啟動SSH服務。這對於應用新的配置變更很有用。

  1. 查看服務狀態:我們可以使用systemctl status命令來查看一個服務的狀態,例如:
# systemctl status ssh

這個命令會顯示SSH服務的當前狀態,包括是否正在運行、是否啟動於開機時、最近的日誌條目等。

  1. 設定開機自動啟動:我們可以使用systemctl enable命令來設定一個服務在開機時自動啟動,例如:
# systemctl enable ssh

這個命令會設定SSH服務在開機時自動啟動。這對於伺服器來說很有用,因為它允許我們在系統重啟後自動恢復網路連接。


設定完後可以使用ping來測試連線狀態

$ ping -c5 www.google.com

如果你是用有線網路的話,上面設定完後就可以聯網了。但如果是無線網路可能需要進行其他設定。這個我們在Day27會提到


上一篇
Day23: 設定排程
下一篇
Day25: 切割與掛載硬碟
系列文
I Use Linux BTW: 談Linux與其指令30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言