上下文:
我有以下配置:
这Main router
是我的互联网提供商的财产,我无法修改其配置。这Personal Router
是我的华硕RT-AC88U路由器,我可以修改它的配置。
我想访问我的 192.168.1。n 个来自 my 的服务器Computer
,它位于不同的子网 (192.168.0.0) 上。
Computer
我使用以下命令将路由添加到我的配置中:
route add 192.168.1.0 MASK 255.255.255.0 192.168.0.3
在禁用防火墙的情况下,Personal Router
一切正常。
问题:
但是,一旦我启用它,它就会丢弃每个包,这里是日志示例:
Aug 2 19:24:41 kernel: DROP IN=eth0 OUT=br0 SRC=192.168.0.2 DST=192.168.1.30 LEN=52 TOS=0x00 PREC=0x00 TTL=127 ID=1369 DF PROTO=TCP SPT=58785 DPT=80 SEQ=2324253310 ACK=0 WINDOW=64240 RES=0x00 SYN URGP=0 OPT (020405B40103030801010402)
我尝试通过 ssh 登录Personal Router
并添加以下规则:
iptables -A INPUT -p tcp -s 192.168.0.2 -j ACCEPT
iptables -A OUTPUT -p tcp -d 192.168.0.2 -j ACCEPT
(来自这篇文章)但是,它并没有解决问题。service restart_firewall
使用丢弃的自定义配置重新启动 iptables 。
我应该怎么办?禁用防火墙不是一个选项,因为 wifi 已启用。
编辑 - 解决方案:
iptables -I FORWARD -s 192.168.0.2 -d 192.168.1.0/24 -j ACCEPT
尝试改为:
正如您自己发现的那样,-I 需要将规则放在 FORWARD 链的顶部。请注意,通过这种方式您可以跳过任何依赖防火墙的安全措施。