具有多個 NIC 和靜態路由的 CentOS
我正在嘗試設置具有 3 個 NIC 和靜態路由的 CentOS。eth0 的 IP 地址為 192.168.10.2 和 GW:192.168.10.1,eth1 的 IP 地址為 192.168.20.2 和 GW:192.168.20.1,eth2 的 IP 地址為 192.168.10.3 和 GW:192.168.10.1。
我想接受來自其他機器的 eth1 上的流量(我已將伺服器的 eth1 設置為這些客戶端機器的網關)並將其通過 eth2 發送到路由器,反之亦然(反向路徑)。
添加到系統的路線為
ip route add default via 192.168.10.3 dev eth1 proto static metric 1024
現在我面臨的問題是流量在 eth1 上接收但沒有通過 eth2。它看起來像通過 eth0。
我現在不想使用 NAT 或 IPTABLES,是否可以將 eth1 的流量路由到 eth2,反之亦然。
您可以使用以下命令打開 IP 轉發
迴聲 1 > /proc/sys/net/ipv4/ip_forwarding
但這只是事實的一半。不使用 NAT 意味著所有主機都需要知道哪個路由器(網關)正在為哪個網路服務。例如,192.168.10.0/24 中的一台機器,比如 192.168.10.25,希望連接 192.168.20.0/24 中的一台機器,比如 192.168.20.25,在一個網路中使用 192.168.10.3,在另一個網路中使用 192.168.20.2。機器 192.168.10.25 需要這條路由
路由添加 -net 192.168.20.0 網路遮罩 255.255.255.0 gw 192.168.10.3
和機器 192.168.20.25 需要
路由添加 -net 192.168.10.0 網路遮罩 255.255.255.0 gw 192.168.20.2
或者,您可以使用 NAT 和 IPTables
迴聲 1 > /proc/sys/net/ipv4/ip_forward
iptables –flush
iptables -t nat –flush
iptables -t mangle –flush
iptables -A 輸入 -i lo -j 接受
iptables -A 輸出 -o lo -j 接受
iptables –policy 輸入接受
iptables –policy 輸出接受
iptables –policy 轉發接受
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
這樣,您只需配置(假設路由到位)路由器。