Networking

通過私有 IP 的 IP 路由子網

  • May 5, 2018

我有 2 台執行DebianLinux 的伺服器:

Server 01 with private IP 10.0.10.10 on eth0
Server 02 with private IP 10.10.10.10 on eth0, and also subnet 100.0.0.0/10 on tun-test

Server 01我可以pingServer 0210.10.10.10。但我也希望能夠對Server 02子網內的任何 IP 地址進行 ping 操作100.0.0.0/10

我試圖添加以下內容Server 01

ip route add 100.0.0.0/10 via 10.10.10.10 dev eth0

但是正在獲取RTNETLINK answers: Network is unreachable

Server 02可以pingServer 0110.0.10.10

伺服器不在同一台上VLAN

該怎麼辦?

似乎可以解決問題:

ip tunnel add tunnel mode ipip remote 10.10.10.10
ip addr add 10.1.1.1/24 dev tunnel
ifconfig tunnel up
ip route add 100.0.0.0/10 via 10.1.1.1

如果我理解正確,您正在嘗試通過 10.10.10.10 將流量從 10.0.10.10 路由到 100.0.0.0/10。您的路由添加看起來是正確的,但 Debian 上預設的 linux 網路堆棧不允許在同一伺服器上的網路之間遍歷。cat /proc/sys/net/ipv4/ip_forward 您可以通過執行If this return 0 ip forwarding is not allowed來檢查它是否已打開。讓它執行echo 1 > /proc/sys/net/ipv4/ip_forward並再次嘗試路由。如果您希望此行為在重新啟動後持續存在,那麼您需要添加net.ipv4.ip_forward=1到 /etc/sysctl.conf

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