Networking

兩個網卡可以有相同的子網但不同的網路嗎?

  • October 24, 2015

商業案例:

一台電腦有 eth0 和 eth1,eth0 地址是 192.168.1.2(靜態)。eth0被配置軟體用來在欄位中配置eth1的地址。eth0 僅用於此目的。

     PC ----  [eth0 Linux Computer  eth1]  ----- server  

eth1 是連接到伺服器,客戶將從這台電腦獲取數據儲存在伺服器上。PC 不得以任何方式到達伺服器。Linux 電腦不應將任何數據包從 PC 重新傳送到伺服器,或從伺服器重新傳送到 PC。Linux 電腦不是橋樑。

問題一:

如果在欄位中分配的 eht1 IP 是 192.168.1.100 並且與 eth0 在同一子網中,是否會導致問題?如果應用軟體監聽192.168.1.2,並通過PC 192.168.1.3連接,如果應用軟體使用這個連接發回PC,作業系統會知道它應該使用哪個網卡嗎?

如果現場人們將 eth1 設置為 192.168.1.2,這是相同的 IP 地址,Linux 應用程序會在 eth0 上偵聽並仍然正確響應 PC 嗎?

或者,我應該限制現場人員將 eth1 分配給相同的子網嗎?

問題2:

因為相信問題1是可能的。現在 eth0 和 eth1 可以有相同的 IP 地址嗎?

該計劃是讓 Linux PC 僅偵聽 TCP 埠,並且僅響應來自 PC 或伺服器的連接。所以一旦連接,軟體就知道要通過哪個網卡來回复。

此外,如果 Linux PC 從不啟動任何 IP 活動,甚至 Ping,PC 和伺服器是否也可以具有相同的 IP。

如果您談論的是兩個(物理上)分離的網路,它們都具有相同的子網和相同的子網遮罩,Eth0 具有 192.168.1.0/24 子網,而 Eth1 具有相同的 192.168.1.0/24 子網,即使兩者網路在物理上是分開的:

是的。這會給你帶來問題,你的 linux 電腦不一定知道使用哪個介面來處理 192.168.1.0 子網上的請求,事實上,它可能會假設兩個介面都連接到同一個物理網路,優先考慮一個介面,然後忽略另一個。

最簡單的解決方法是更改​​ eth1 或 eth0 的 IP 地址的第三位,以確保它們位於不同的子網中,以免 linux 機器不知道使用哪個介面發送數據包。

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