iptables 腳本儲存在 DD-WRT 文件系統的什麼位置?
我有一個華碩 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
往裡看
/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
命令確實有效*$$ my apologies for initially stating that it didn’t– I would’ve sworn it didn’t work the last times I had tried. Mea maxima culpa. $$* 使用grep
,我發現/lib/services.so
裡面也有豐富的
iptables
配置。