Linux-Networking

一個網卡上的多個介面

  • May 1, 2020

我設法在我的 Banana Pi R2 上安裝了 Debian。

該設備有兩個物理網卡:一個用於 WAN(1 個埠),一個用於 LAN(4 個埠)。

  • eth0
  • eth1

如果我執行ip address,我可以看到,“本機”介面“上”有多個介面,我可以將其辨識為板上的各個 LAN 埠:

root@bpi-r2:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff
   inet6 fe80::2:2ff:fe02:202/64 scope link
      valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   link/ether 36:d1:02:41:61:c9 brd ff:ff:ff:ff:ff:ff
   inet6 fe80::34d1:2ff:fe41:61c9/64 scope link
      valid_lft forever preferred_lft forever
4: wan@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
   link/ether 36:d1:02:41:61:c9 brd ff:ff:ff:ff:ff:ff
   inet 10.20.0.88/24 brd 10.20.0.255 scope global wan
      valid_lft forever preferred_lft forever
   inet6 fe80::34d1:2ff:fe41:61c9/64 scope link
      valid_lft forever preferred_lft forever
5: lan0@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN group default qlen 1000
   link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff
   inet 192.168.0.1/24 brd 192.168.0.255 scope global lan0
      valid_lft forever preferred_lft forever
6: lan1@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
   link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff
7: lan2@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
   link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff
8: lan3@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
   link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff
root@bpi-r2:~#

我在…中找不到這些“lan*”和“wan”介面的任何提示/etc/network/interfaces我知道如何創建和管理虛擬介面,但我只知道它們eth0:2,例如…當我嘗試分配靜態 IP 時將以下內容寫入/etc/network/interfaces,網路服務無法調出界面:

iface lan0 inet dhcp
iface wan inet static
   ...

那麼這些介面來自哪里以及如何管理它們(添加靜態 IP 或 DHCP 等)

編輯1:輸出ls /sys/class/net

root@bpi-r2:~# ls /sys/class/net
eth0  eth1  lan0  lan1  lan2  lan3  lo  wan
root@bpi-r2:~#

找到一個工作配置:

auto lan0 wan

iface wan inet static
       address 137.226.214.58
       netmask 255.255.254.0
       pre-up ip link set $IFACE up
       post-down ip link set $IFACE down
       gateway 137.226.214.1

iface lan0 inet static
       address 10.20.0.88
       netmask 255.255.255.0
       pre-up ip link set $IFACE up
       post-down ip link set $IFACE down

由於新的“mdio-bus”接縫將在最新的 Buster 版本中實現,我通過安裝舊版本 (Debian Jessie) 而不是 Buster 來修復它。之後,我對 Buster 進行了手動 dist 升級,並將圖像保存在我的 NAS 上,以便以後在另一個 Banana Pi R2 上使用……

在沒有看到實際輸出的情況下ip addr很難確定;但我懷疑你會發現你只需要在 @… 之後使用介面號所以 wan@eth1 將是:

iface eth1:0 inet 靜態

編輯 更正,根據您更新的 ip addr 輸出,我希望您的/etc/network/interfaces文件看起來像這樣:

auto wan0@eth1
iface wan0@eth1 inet static
...
auto lan0@eth0
iface lan0@eth0 inet dhcp
auto lan1@eth0
iface lan1@eth0 inet static
...
auto lan2@eth0
iface lan2@eth0 inet static
...
auto lan3@eth0
iface lan3@eth0 inet static

等等。如果這不起作用,你能提供輸出ls /sys/class/net嗎?

EDIT2 好的,根據 的內容/sys/class/net,這是我修改後的記錄(首先確保 , 中沒有 eth0 或 eth1 引用/etc/network/interfaces):

auto wan0
iface wan0 inet static
...
auto lan0
iface lan0 inet dhcp
auto lan1
iface lan1 inet static
...
auto lan2
iface lan2 inet static
...
auto lan3
iface lan3 inet static

TBH,如果這不起作用,我的下一個想法是看看你從嘗試對任一 lanX 介面執行 ifup 得到什麼輸出 - 看看你是否從中獲得更多有用的資訊。

引用自:https://serverfault.com/questions/1014995