
私はTomatoを実行している無線ルーター/ファイアウォールをDebianサーバーに置き換えようとしており、Tomatoのiptables設定を見つけて興奮しました。新しいサーバーに直接インポートする(この前の私の質問)。Tomato の iptables 設定ファイル (下部) はiptables-restoreDebian では失敗します。
# iptables-restore < iptables.eth0-eth1
iptables-restore v1.4.14: Couldn't load match `mport':No such file or directory
Error occurred at line: 7
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
mport を「最新の」iptables に導入する方法はありますか?
mport
または、への翻訳を手伝っていただけますかmultiport
?
グーグルで探すのはiptables mport
かなり大変でしたが、結局誰かが不満を言う mport がなくなったそしてマルチポートチュートリアルmport 拡張機能について少し触れたところ、モジュールを探すために 2 つのボックスのファイルシステムを詮索し、Debian が持っているすべての「ファイアウォール」ツールを試し、そのうちの 1 つが魔法のように付属することを願いましたmport
。Tomato のユーザー インターフェイスにかなり甘やかされていたことを認めます。それ以来試したすべての Debian パッケージは、ますます私を混乱させました (GUI または CLI)。サーバーにすべてを簡単にルーティングさせることができれば、mason
うまくいくと思います。誰もが iptables を嫌うのも不思議ではありません。
エラーの解決に必要以上に時間を費やしてしまいました。 を理解するのにそれだけの時間を費やしていたら、おそらく のルールを にiptables
翻訳できたでしょう。また、SuperUser に投稿することも考えましたが、iptables タグの付いた質問は、ServerFault で読んでいる質問と同レベルのものではありませんでした。mport
multiport
モジュールを探しています:
ファームウェアがインストールされた無線ルーターに ssh で接続するとtomato
、 のモジュールが見つかりました。しかし、ディレクトリにはlibipt_mport.soはなく、 しかありません。/usr/lib/iptables
/lib/modules/2.4.20/kernel/net/ipv4/netfilter
libipt_mport.soipt_multiport.o
Debian ボックス (wheezy の新規インストール) で、updatedb
とlocate
を使用して (MASQUERADE オブジェクト) を検索したMASQ
ところ、ディレクトリにと のファイルが/lib/modules/3.2.0-4-amd64/kernel/net/ipv4/netfilter
多数あることがわかりました。検索ではも見つかりましたが、 のオブジェクト モジュールへの参照はありませんでした。iptable_*
nf_nat_*
ko
libxt_multiport.so
/lib/xtables
mport
さらに、以下に他の問題はありますか? レイヤー 7 の内容を見ると、これが次にさらに複雑化するのではないかという気がします。
Tomato の設定ファイル:
注:
» 99.1.81.209 は WAN IP です
» 10.0.0.2 はこの Debian ファイアウォールの IP です
» 10.0.0.20 はサーバーです
» tomato のパブリック インターフェイスはvlan0
次のように変更されましたeth0
» tomato の内部インターフェイスはbr0
次のように変更されましたeth1
» ポート 5060:5090 は VoIP 用です (おそらくその範囲全体は必要ないのでしょうか?)
*mangle
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:QOSO - [0:0]
-A QOSO -j CONNMARK --restore-mark --mask 0xff
-A QOSO -m connmark ! --mark 0/0xff00 -j RETURN
-A QOSO -p tcp -m mport --dports 80,443 -m bcount --range 0x0-0x7ffff -j CONNMARK --set-return 0x2/0xFF
-A QOSO -p tcp -m mport --dports 80,443 -m bcount --range 0x80000 -j CONNMARK --set-return 0x4/0xFF
-A QOSO -p udp --dport 53 -m bcount --range 0x0-0x7ff -j CONNMARK --set-return 0x1/0xFF
-A QOSO -p tcp --dport 53 -m bcount --range 0x0-0x7ff -j CONNMARK --set-return 0x1/0xFF
-A QOSO -p udp --dport 53 -m bcount --range 0x800 -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p tcp --dport 53 -m bcount --range 0x800 -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p udp --dport 1024:65535 -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p tcp --dport 1024:65535 -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p udp -m mport --ports 5060:5090 -m layer7 --l7dir /etc/l7-protocols --l7proto sip -j CONNMARK --set-return 0x101/0xFF
-I QOSO -j BCOUNT
-A QOSO -j CONNMARK --set-return 0x4
-A FORWARD -o eth0 -j QOSO
-A OUTPUT -o eth0 -j QOSO
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -i eth0 -d 10.0.0.2/255.255.255.0 -j DROP
-A PREROUTING -p icmp -d 99.1.81.209 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -p tcp -m tcp -d 99.1.81.209 --dport 22 -j DNAT --to-destination 10.0.0.2:22
-A PREROUTING -p tcp -d 99.1.81.209 --dport 10022 -j DNAT --to-destination 10.0.0.20:22
-A POSTROUTING -p tcp --dport 22 -s 10.0.0.2/255.255.255.0 -d 10.0.0.20 -j SNAT --to-source 99.1.81.209
:upnp - [0:0]
-A PREROUTING -d 99.1.81.209 -j upnp
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i eth1 -d 99.1.81.209 -j DROP
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-N shlimit
-A shlimit -m recent --set --name shlimit
-A shlimit -m recent --update --hitcount 3 --seconds 60 --name shlimit -j DROP
-A INPUT -p tcp --dport 22 -m state --state NEW -j shlimit
-A INPUT -i eth1 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp -d 10.0.0.2 --dport 22 -j ACCEPT
:FORWARD DROP [0:0]
-A FORWARD -i eth1 -o eth1 -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1461: -j TCPMSS --set-mss 1460
:L7in - [0:0]
-A FORWARD -i eth0 -j L7in
-A L7in -m layer7 --l7dir /etc/l7-protocols --l7proto sip -j RETURN
:wanin - [0:0]
:wanout - [0:0]
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -j wanin
-A FORWARD -o eth0 -j wanout
-A FORWARD -i eth1 -j ACCEPT
:upnp - [0:0]
-A FORWARD -i eth0 -j upnp
-A wanin -p tcp -m tcp -d 10.0.0.20 --dport 22 -j ACCEPT
COMMIT
答え1
私の知る限り、モジュールのパラメータは、あなたが示したモジュールmultiport
のパラメータと同一です。mport
簡単な検索と置換を試してください:
s/-m mport/-m multiport/g
追伸:もちろん違いますみんなiptablesが嫌いです。個人的には愛iptables ;-)