上下文:
我有以下配置:
这Main router
是我的互联网提供商的财产,我无法修改其配置。这Personal Router
是我的华硕 RT-AC88U 路由器,我可以修改其配置。
我想访问我的 192.168.1。n来自我的服务器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
(来自这篇文章)但是,这并没有解决问题。使用重新启动iptablesservice restart_firewall
会丢弃自定义配置。
我该怎么办?由于 wifi 已启用,因此无法禁用防火墙。
编辑-解决方案:
iptables -I FORWARD -s 192.168.0.2 -d 192.168.1.0/24 -j ACCEPT
答案1
请尝试:
iptables -I FORWARD -s 192.168.0.2 -d 192.168.1.0/24 -j ACCEPT
正如您自己发现的,需要使用 -I 将规则置于 FORWARD 链的顶部。请注意,这样您就可以跳过任何依赖防火墙的安全性。