Linux
兩個網卡在同一個 ip 段
解決這個問題的最佳技術方案是什麼?
我有一個 /24 段,在一個 Linux 伺服器(我們稱之為
srv
)中有兩個 NIC,在這個段中有兩個 IP 地址。
- 網卡1/eth0
10.10.1.101
//MAC1- 網卡2/eth1
10.10.1.102
//MAC2該段
10.10.1.0 /24
通過一個交換機連結起來,該交換機允許基於 MAC/IP 組合通過它進行訪問,IP 由該交換機的 DHCP 設置(基於單個 MAC)。到目前為止,這似乎工作 -不知何故。我知道,這個設置在技術上是不行的,並且查看
/var/log/messages
顯示eth1
每 500 毫秒的預期碰撞(火星源包):... srv 核心:[1217.220559] 來自 10.10.1.112 的火星源 10.10.1.254,在 dev eth1 上 srv 核心:[1217.220563] ll 標頭:ff:ff:ff:ff:ff:ff:00:1e:68:9d:54:05:08:06 srv 核心:[1218.313186] 來自 10.10.1.59 的火星源 10.10.1.255,在 dev eth1 上 srv 核心:[1218.313190] ll 標頭:ff:ff:ff:ff:ff:ff:00:13:d4:b7:6f:e9:08:00 ...
每個 NIC 都有其特定的職責(連接到由基於 ip 的 vhosts-setup 中的一個 apache2 伺服器服務的不同網站)。
如何解決這個問題?
sysctrl -p
我知道(實際上我確實做到了),可以通過通常的呼叫關閉“火星數據包記錄” :net.ipv4.conf.all.log_martians = 0 net.ipv4.conf.eth0.log_martians = 0 net.ipv4.conf.eth1.log_martians = 0 net.ipv4.conf.lo.log_martians = 0
但問題應該以乾淨的方式解決嗎?或者不是?
問候和感謝
rbo
你真的需要2個網卡嗎?
解決此問題的一種方法是向其中一個介面添加別名以分配額外的 IP 地址:
sudo /sbin/ifconfig eth0:1 10.10.1.102/24 向上