私は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
とseeそれらの出力ですが、私が探しているのは、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
私が探していたものを正確に提供します:/etc/sysconfig/iptables
。のようなファイルに通常あるiptablesルール
以前に見つけた this :
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
コマンドが実際に実行する動作することも発見しました私が最後に試したときはうまくいかなかったと誓った。 Mea maxima culpa。]grep
を使用して、
/lib/services.so
また、その中には豊富なiptables
構成があります。
* WRTディストリビューションには多くのバリエーションがあり、さまざまなデバイスがさまざまな方法でセットアップされているため、これが構成に適用されるかどうかはわかりませんが、おそらくそうです。
基本的な* WRT構成には読み取り専用のルートファイルシステムがあるため、カスタマイズをファイルシステムに保存できません。代わりに、 startup は [〜#〜] nvram [〜#〜] からさまざまな(バリアントに依存する)設定をロードします。これは、Key-Valueの単純なリストとして構成されていますペア。ファイアウォールルールは、バリアントに依存する NVRAMエントリ に保存されます。名前にfirewall
が含まれているもの、または値にiptables
が含まれているものなどを探します。
ssh ROUTER_HOSTNAME nvram export --dump >nvram.txt
を実行して、ルーターのNVRAMコンテンツを自由に探索してください。
私は同じ問題を抱えており、iptables
からiptables-save
へのシンボリックリンクを作成しようとしましたが、wikiページ DD-WRT_V24_.26_iptables-save でアドバイスされましたが、実際には私のために働かない。
これを解決するために、/tmp/.ipt
の内容を示すシェルファイルを作成しました。
/ jffs/bin/iptables-save:
#!/bin/sh
cat /tmp/.ipt
注:Wikiページ( DD-WRT_V24_.26_iptables-save )は「ファイアウォールビルダー」に関するものです-「ファイアウォールビルダー」でこのソリューションをテストしていません。