Linux 中的網路介面
Nilesh Katuwal
2023年1月30日
2022年5月11日
- Linux 中的物理和虛擬網路介面
-
在 Linux 中使用
ifconfig
命令診斷和配置網路介面 -
在 Linux 中設定
eth0
-
Linux 中
dhcp
的介面設定 -
編輯
/etc/network/interfaces
檔案以建立靜態
地址介面
本教程將在 Debian 及其衍生版本的 /etc/network/interfaces
中檢視完整的語法解釋。
檔案 /etc/network/interfaces
允許你為介面指定靜態和動態 IP 地址,配置路由資訊、預設閘道器、偽裝網路繫結等。
Linux 中的物理和虛擬網路介面
TCP/IP
實現定義了一個介面,該介面掩蓋了網路供應的變化,並將網路通訊減少為與抽象實體的資料交換。
Linux 核心區分物理網路介面和虛擬網路介面。
在 Linux 中使用 ifconfig
命令診斷和配置網路介面
ifconfig
是一個類 UNIX 系統命令列程式,用於診斷和配置網路介面。
$ ifconfig
輸出:
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:72:4e:1a:db txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp3s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether d4:81:d7:bd:c6:ef txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 11182 bytes 1139133 (1.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11182 bytes 1139133 (1.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.69 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 2403:3800:3217:204b:3be8:d506:7950:933c prefixlen 64 scopeid 0x0<global>
inet6 fe80::4cd5:8a62:8187:55fc prefixlen 64 scopeid 0x20<link>
inet6 2403:3800:3217:204b:9902:5eba:d521:1d6b prefixlen 64 scopeid 0x0<global>
ether 3c:f8:62:e5:d7:e2 txqueuelen 1000 (Ethernet)
RX packets 521763 bytes 557860095 (557.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 288568 bytes 61590689 (61.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我們可以看到有四個網路介面。
docker0
是一個 docker 的虛擬橋接介面,它為 Docker 容器建立一個獨特的網路,允許它們連線。enp3s0
以前稱為eth0
。此物理介面代表乙太網。lo
是一個虛擬網路介面,主要用於診斷和故障排除,並連線到在 localhost 上執行的服務。wlp2so
是你的 wifi 介面。
在 Linux 中設定 eth0
在以下示例中,使用 192.168.1.5
IP 地址和到 192.168.1.254
的閘道器(路由)設定 eth0
(初始網路介面卡):
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
gateway 192.168.1.254
Linux 中 dhcp
的介面設定
使用以下命令將 eth0
轉為 dhcp
。
auto eth0
iface eth0 inet dhcp
編輯 /etc/network/interfaces
檔案以建立 靜態
地址介面
如果你想配置靜態
IP 地址和閘道器而不是使用 DHCP
,請將前面的說明替換為以下內容(將 192.168.0.8/24
和 192.168.0.1
更改為你的實際 IP 地址):
auto <Interface>
iface <Interface> inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8