我有一个华硕 RT-N16 路由器我已经用开源闪现了DD-WRT固件。根据我的ssh
登录信息,我正在运行:
DD-WRT v24-sp2 mega (c) 2010 NewMedia-NET GmbH
Release: 08/07/10 (SVN revision: 14896)
我希望能够自定义 iptables 规则,但在此之前,我希望查看在操作浏览器/GUI 界面设置时配置的内置规则的输出。我知道浏览器界面中的防火墙脚本选项卡用于输入自定义防火墙规则,但我找不到可以查看输出的地方。
在成熟的 Linux 系统上,iptables 规则将存储在类似/etc/sysconfig/iptables
.在 DD-WRT 文件系统上哪里可以找到这些? 我可以
iptables -L -vn --line-numbers
和看它们输出,但我正在寻找更多的是命令iptables-save
可能输出的内容......以便我可以将适当的规则合并到我的自定义脚本中。
据我所知,这个版本没有iptables-save
命令。我不一定想要命令本身,只需要它生成的输出。如果有类似的东西/etc/sysconfig/iptables
,我就不会在意拥有iptables-save
。我已经看到可能有不同版本的 DD-WRT 提供类似的内容iptables-save
,但我还没有准备好或愿意再次刷新路由器。也许作为最后的手段。
编辑:
这通常启动脚本等的 Linux 位置(例如,,,/etc/init.d
... /etc/rc
)似乎没有任何有用的东西(至少在我安装的 DD-WRT 版本中)。例如,查看/etc/init.d
:
[/etc/init.d]# ll
-rwxr-xr-x 1 root root 84 Aug 7 2010 rcS
-rwxr-xr-x 1 root root 10 Aug 7 2010 S01dummy
[/etc/init.d]# cat rcS
#!/bin/sh
for i in /etc/init.d/S*; do
$i start 2>&1
done | logger -s -p 6 -t '' &
[/etc/init.d]# cat S01dummy
#!/bin/sh
答案1
寻找
/tmp/.ipt
/tmp/.rc_firewall
给出了我正在寻找的内容: iptables 规则通常位于/etc/sysconfig/iptables
.
我早些时候发现这:
dd if=/dev/mem | strings | grep -i iptables
...幸运的是,它可以在精简的 DD-WRT 文件系统上运行。它没有准确地给出我正在寻找的内容,但它输出了相当多的信息,我无法以任何其他方式(或至少不能使用单个命令)精确定位。
仍然需要通过与以下输出进行比较来确定哪些东西实际上是有效的
iptables -L -vn --line-numbers
iptables -L -vn -t nat --line-numbers
iptables -L -vn -t mangle --line-numbers
我还发现该grep
命令实际上做工作[我很抱歉最初声明它不起作用——我发誓我上次尝试时它不起作用。我最大的过失。] 使用grep
,我发现
/lib/services.so
iptables
里面还有丰富的配置。
答案2
答案3
我有同样的问题,我尝试创建一个符号链接,iptables
在iptables-save
他们的维基页面上建议DD-WRT_V24_.26_iptables-保存,但它对我不起作用。
为了解决这个问题,我制作了一个 shell 文件,显示/tmp/.ipt
.
/jffs/bin/iptables-save:
#!/bin/sh
cat /tmp/.ipt
注意:维基页面(DD-WRT_V24_.26_iptables-保存)是关于“防火墙生成器”的 - 我尚未使用“防火墙生成器”测试此解决方案。