Debian

出現雙介面網卡正在為同一個埠分配兩個地址,而不是每個埠一個

  • June 12, 2021

我有一個英特爾雙埠 10GB 網卡。

作業系統:Debian GNU/Linux 9 (stretch)

核心:Linux 4.9.0-7-amd64

 01:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)

一個埠配置了靜態 IP,1000 Mb/s 連接到 Cisco 交換機並且工作正常。(我已經刪除了mac資訊)

3: enp1s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
   link/ether xxxxxxxxxxxxxxx brd ff:ff:ff:ff:ff:ff  
   inet 192.168.69.224/24 brd 192.168.69.255 scope global enp1s0f0
      valid_lft forever preferred_lft forever
   inet6 xxxxxxxxxxxxxx scope link
      valid_lft forever preferred_lft forever

我正在以 10000Mb/s 的速度工作,雖然是不同的交換機,但在同一個網路中。這是為了利用更高的速度,其他 10000Mb/s 設備將安裝在該速度上。

10Gb/s 交換機尚未連接到 LAN。

它也有一個我通過命令行命令設置的靜態 IP。

ip addr add 192.168.69.6/24 dev enp1s0f1


4: enp1s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
   link/ether xxxxxxxxxxxxxxx brd ff:ff:ff:ff:ff:ff
 inet 192.168.69.6/24 scope global enp1s0f1
      valid_lft forever preferred_lft forever
 inet6 xxxxxxxxxxxxxxxxxx scope link
      valid_lft forever preferred_lft forever

這是意想不到的部分。我可以從生產網路上的筆記型電腦 ping 10Gb/s 的 IP 地址(見下文)。我在其他使用兩個埠/多個連接的 Debian 系統上看到過這種情況,但由於沒有足夠的時間而從未調查過,​​只要連接了麻煩的埠,一切正常。也許我弄錯了,其他 Debian compuyers 只有一個埠真正工作。

在這種情況下,因為 10 Gb/s 埠與不同的速度和交換機連接,所以這是一個問題。

Pinging 192.168.69.6 with 32 bytes of data:
Reply from 192.168.69.6: bytes=32 time<1ms TTL=64
Reply from 192.168.69.6: bytes=32 time<1ms TTL=64
Reply from 192.168.69.6: bytes=32 time<1ms TTL=64
Reply from 192.168.69.6: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.69.6:
   Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
   Minimum = 0ms, Maximum = 0ms, Average = 0ms

感謝您的任何幫助。

這是意想不到的部分。我可以從生產網路上的筆記型電腦 ping 10Gb/s 的 IP 地址(見下文)。

192.168.69.224這並不意外:兩個 IP 地址都在同一個子網中,因此後面“生產網路”中的任何 ARP 請求enp1s0f1都將廣播到該地址,Linux 核心將為任何本地 IP 地址回答這個問題。

如果您真的想將兩個埠後面的網路分開,您需要為它們提供不同的子網範圍(但您沒有描述網路其餘部分的拓撲)。如果您將它們放在同一個子網中,這與說明您的意圖“我希望通過首先獲得它們的任何交換機從該子網訪問兩個地址”相同。

引用自:https://unix.stackexchange.com/questions/653855