DD-WRTファイルシステムのiptablesスクリプトはどこに保存されていますか?

DD-WRTファイルシステムのiptablesスクリプトはどこに保存されていますか?

ASUS 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内部にも豊富な構成があります。

おすすめ記事