1. 程式人生 > >Linux 雙網絡卡配置兩個IP同時只有一個會通的原因

Linux 雙網絡卡配置兩個IP同時只有一個會通的原因

根本原因:

Linux預設啟用了反向路由檢查

如果2個網絡卡在一個Lan裡面,那麼伺服器可能從eth0或者eth1發現閘道器, 如果一個包從eth0進入了, 而閘道器在eth1上, 那麼從eth1是出不去的, 就不通了.  反向路由檢查要求從哪裡來的才能回哪去.

關閉反向路由檢查(根據自己的情況替換第二第三行的網絡卡名):

echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter

每次開機自動關閉反向路由檢查, 加入 /etc/rc.local 即可.

雙線雙IP在Linux這種有靈活路由功能的環境下可以玩出很多花樣的, 可以任意調節流量, 但是如果折騰的不好, 也會出現很多奇怪的故障, 大家繼續努力吧.