通过私有 IP 进行 IP 路由子网

通过私有 IP 进行 IP 路由子网

我有两台运行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。但我还希望能够 pingServer 02通子网内的任何 IP 地址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.

该怎么办?

答案1

如果我理解正确的话,您正在尝试通过 10.10.10.10 将流量从 10.0.10.10 路由到 100.0.0.0/10。您添加的路由看起来正确,但 Debian 上的 Linux 网络堆栈默认不允许在同一服务器上的网络之间进行遍历。您可以通过运行检查此功能是否已打开cat /proc/sys/net/ipv4/ip_forward 如果返回 0,则不允许 IP 转发。要允许它运行echo 1 > /proc/sys/net/ipv4/ip_forward并尝试再次路由。如果您希望此行为在重启后继续存在,则需要添加net.ipv4.ip_forward=1到 /etc/sysctl.conf

答案2

似乎解决了这个问题:

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

相关内容