Networking
多個介面:將數據包路由到特定介面
我的網路上有 2 個網際網路連接。我的路由器正在執行 Debian。eth0 是我的網路(192.168.0.0/16)。eth1 和 eth2 連接到 2 個不同的網際網路提供商(使用動態 IP)。
這是我的配置的小圖
PC1 ---| |-eth1- DynIP 提供者 1 PC2 ---|-eth0- 路由器 --- | PCn ---| |-eth2- DynIP 提供者 2
我正在嘗試將其配置如下:我希望所有數據包預設通過 eth1。來自地址為 192.168.2.0/24 的 PC 的所有數據包都通過 eth2 傳輸。
在尋找了一段時間並在其他論壇上發帖後,我已經有了以下內容(在我的 rc.local 文件中):
迴聲“1”> /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE iptables -A FORWARD -i eth1 -j 接受 iptables -A FORWARD -i eth2 -j 接受
帶路由表:
核心IP路由表 目標網關 Genmask 標誌 Metric Ref Use Iface 10.0.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 172.16.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 172.16.1.50 0.0.0.0 UG 0 0 0 eth1 0.0.0.0 10.0.4.2 0.0.0.0 UG 0 0 0 eth2 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
我試著玩,
route
但ip route
我找不到它工作……
路由決策基於目標地址。如果要根據源地址路由流量,則需要配置基於策略的路由。看一下:
http://www.linuxhorizon.ro/iproute2.html
幾週前我回答了這些類似的問題: