Jun 04

通常猫下面接了个路由器之后,我们不能再通过网络浏览器访问猫的设置界面了。因为通常来说,路由器和猫不在同一个网段,而且路由器通常是设置为网关而不是路由模式。如果你的路由器可以刷 DD-WRT 或者 Tomato 固件,则使用以下方法可以“穿透”路由器访问猫。

DD-WRT:

1. 假设你的路由器 IP 地址为 192.168.1.1 ;

2. 假设你的猫 IP 地址为 192.168.2.1

3. 用浏览器打开 DD-WRT 设置界面, 转到管理员>命令;

4. 键入:


ifconfig vlan1:0 192.168.2.2 netmask 255.255.255.0

然后点击 <保存在启动项>

5. 键入:


/usr/sbin/iptables -I POSTROUTING -t nat -o vlan1 -d 192.168.2.0/24 -j MASQUERADE

然后点击 <保存在防火墙>

注意:脚本中的 IP 子网范围其实只与猫的子网有关,如上例,猫的子网是 192.168.2.X,则脚本中两个涉及子网的参数都为 192.168.2.X;我们只需保证路由器和猫的子网不同即可,这是基本原则。这个规则同样适用于以下 Tomato 的方法;

Tomato:

1.现在我们假设猫的 IP 地址是: 192.168.0.1 ;根据上述规则,我们不必关心路由器的 IP 地址;

2.在浏览器中访问 Tomato 设置界面,转到 管理/脚本 页面:

初始化 或者 外网上线 中键入:


sleep 5
ip addr add 192.168.0.13/24 dev $(nvram get wan_ifname) brd +

防火墙 中键入:

iptables -I POSTROUTING -t nat -o $(nvram get wan_ifname) -d 192.168.0.0/24 -j MASQUERADE

3.重启路由器即可。

2011-06-05 补充一个硬件的方法,适合通用路由器(未测试 2012-02-07 测试有效!):

把猫和路由设置为同一网段但是不同的 IP,例如路由器是 192.168.1.1,猫是 192.168.1.2,注意路由器的 DHCP 不要和猫的 IP 冲突(只在猫或者路由器上启用 DHCP),电脑网卡也要分配同网段的 IP 才能访问。
接线方法是:猫连接到路由器上的任意 LAN 口,路由器的 WAN 口连接到自身的任意 LAN 口,电脑连接到路由器的任意 LAN 口。
电脑设置好 IP 后直接访问猫的 IP 即可,缺点就是你少了两个可用的 LAN 口,优点是可以直接访问猫,而且如果你的帐号如果支持多次拨号的话还可以用电脑直接拨号上网。