使用两个 PPPoE 连接进行分割路由

使用两个 PPPoE 连接进行分割路由

我有一个正在运行的 debian wheezy 盒子,它应该用作路由器/防火墙/网络服务器/samba 服务器 [...]。我有两个来自 ISP 的帐户:acc1 有一个静态 IP,acc2 有动态 IP。盒子有两张以太网卡,eth0 和 eth1。eth0 连接到我的调制解调器,eth1 连接到我的交换机。eth1:ip:192.168.2.1 网络掩码:255.255.255.0 子网:192.168.2.0

我设置了 dnsmasq、基本 iptables 以允许连接以及两个 pppoe 连接;现在我可以将家里的设备连接到 debian 盒了。

我在那里设置了 iproutes 以启用互联网访问。我在主程序中将默认值设置为 ppp1(静态),现在我想通过 ppp2 路由子网 192.168.2.0/24。

# ip rule add from 192.168.2.0/24 table Homenet
# ip route add default via 168.95.98.254 dev ppp2 table Homenet

168.95.98.254 是 pppoe 连接的网关。

这不管用。一旦这些设置生效,我的客户端就无法再 ping 通互联网或 192.168.2.1。但是,它们可以 ping 通 168.95.98.254。

但是,当我用我的一个客户端 IP 替换上述命令中的 192.168.2.0/24 时,一切都顺利进行,我的客户端通过动态 IP 连接,而其他客户端仍然使用静态 IP。

我错过了什么(明白吗)?

谢谢你的帮助!

以下是一些输出:

~$ sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp2
168.95.98.254   0.0.0.0         255.255.255.255 UH    0      0        0 ppp2
168.95.98.254   0.0.0.0         255.255.255.255 UH    0      0        0 ppp1
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

~$ sudo ip rule list
0:      from all lookup local 
32763:  from 192.168.2.0/24 lookup Homenet 
32764:  from 192.168.2.239 lookup Claire 
32766:  from all lookup main 
32767:  from all lookup default

~$ sudo ip route list table Claire
default via 168.95.98.254 dev ppp2  # this one works! the same on table Homenet works not.

~$ sudo ip route list
default dev ppp2  scope link 
168.95.98.254 dev ppp2  proto kernel  scope link  src xx.xxx.170.105 
168.95.98.254 dev ppp1  proto kernel  scope link  src xxx.xx.85.229 
192.168.2.0/24 dev eth1  proto kernel  scope link  src 192.168.2.1 

我确实问过这个问题Debian 论坛以前有过,但没有出现网络大师,因此我想我也可以在这里尝试一下。

答案1

总结一下:我很快就在 lartc 邮件列表上找到了帮助。我的最终 IP 规则和 IP 路由如下:

$ ip rule ls
0:      from all lookup local 
32763:  from all iif ppp2 lookup Homenet 
32764:  from all iif eth1 lookup Homenet 
32766:  from all lookup main 
32767:  from all lookup default

$ ip route ls
default dev ppp1  scope link 
168.95.98.254 dev ppp2  proto kernel  scope link  src w.x.y.z 
168.95.98.254 dev ppp1  proto kernel  scope link  src a.b.c.d 
192.168.2.0/24 dev eth1  proto kernel  scope link  src 192.168.2.1

$ ip route ls table Homenet
default dev ppp2  scope link 
192.168.2.0/24 dev eth1  scope link

现在一切顺利。:)

相关内容