我有一个正在运行的 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
现在一切顺利。:)