- - PR -
SSHで複数のサーバーに別々のポートを割り当てて接続したい
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-26 03:09
私が言いたかったのはLinuxはドキュメントが多いので、
安易に質問されず、ご自身でいろいろ調べることができると いいたかったのです。まぁ確かにそんなこといったら この掲示板は存在しませんねw ですので、アドバイスさせていただきます。 listを公開していただいたのですが、 iptables --list -v と iptables -t nat --list -v としていただくか、スクリプトを公開していただけますか。 例えばINPUTの ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 たぶんデバイスを設定されているのだと思うのですがiptables --listだけでは デバイス指定が出力されませんので、こちらから見るとすべてを許可しているように 認識してしまいます。(ちなみに私はそう思ってました) | ||||||||||||
|
投稿日時: 2006-04-26 11:58
アドバイスありがとうございます。
一応、自分なりに調べてみたのですが理解できないことが多く、この場に頼ってしまった次第です。 問題を解決しながら理解を深めたいと思っております。 情報が不足していて申し訳ございませんでした。 以下、よろしくお願いいたします。 # iptables --list -v ---- Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 OTHERFILTER all -- any any 222.251.128.0/17 anywhere : ---- OTHERFILTERが多くて、1時間たっても終わらないので、割愛させていただきます。 後方にスクリプトを掲載します。 # iptables -t nat --list -v ---- Chain PREROUTING (policy ACCEPT 5225 packets, 524K bytes) pkts bytes target prot opt in out source destination 6 448 REDIRECT tcp -- ppp0 any anywhere anywhere tcp dpt:ssh redir ports 22 0 0 DNAT tcp -- ppp0 any anywhere anywhere tcp dpt:ssh to:192.168.1.2:22 186 12203 DNAT udp -- ppp0 any anywhere anywhere udp dpt:domain to:192.168.1.3 7 420 DNAT tcp -- any any ns.maihama-net.com anywhere tcp dpt:domain to:192.168.1.3 99 4832 DNAT tcp -- ppp0 any anywhere anywhere tcp dpt:http to:192.168.1.3 1 52 DNAT tcp -- ppp0 any anywhere anywhere tcp dpt:https to:192.168.1.3 73 4260 DNAT tcp -- ppp0 any anywhere anywhere tcp dpt:smtp to:192.168.1.3 0 0 DNAT tcp -- ppp0 any anywhere anywhere tcp dpt:smtps to:192.168.1.3 105 6720 DNAT tcp -- ppp0 any anywhere anywhere tcp dpt:pop3 to:192.168.1.3 24 1152 DNAT tcp -- ppp0 any anywhere anywhere tcp dpt:pop3s to:192.168.1.3 0 0 DNAT tcp -- ppp0 any anywhere anywhere tcp dpt:imap to:192.168.1.3 0 0 DNAT tcp -- ppp0 any anywhere anywhere tcp dpt:imaps to:192.168.1.3 2 140 DNAT udp -- ppp0 any anywhere anywhere udp dpt:1194 to:192.168.1.3 0 0 DNAT udp -- ppp0 any anywhere anywhere udp dpt:svn to:192.168.1.3 Chain POSTROUTING (policy ACCEPT 864 packets, 52738 bytes) pkts bytes target prot opt in out source destination 4655 279K MASQUERADE all -- any ppp0 anywhere anywhere Chain OUTPUT (policy ACCEPT 908 packets, 50578 bytes) pkts bytes target prot opt in out source destination ---- iptablesのスクリプトです。 ---- # デフォルトルール(下記にマッチしない場合のルール) iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP # フラグメント化されたパケットはログを記録して破棄 iptables -N LOG_FRAGMENT iptables -A LOG_FRAGMENT -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES FRAGMENT] : ' iptables -A LOG_FRAGMENT -j DROP iptables -A INPUT -f -j LOG_FRAGMENT iptables -A FORWARD -f -j LOG_FRAGMENT # 外部からの送信元がプライベートIPアドレスのパケットはログを記録して破棄 iptables -N LOG_SPOOFING iptables -A LOG_SPOOFING -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES SPOOFING] : ' iptables -A LOG_SPOOFING -j DROP iptables -A INPUT -i ppp0 -s 127.0.0.0/8 -j LOG_SPOOFING iptables -A INPUT -i ppp0 -s 10.0.0.0/8 -j LOG_SPOOFING iptables -A INPUT -i ppp0 -s 172.16.0.0/12 -j LOG_SPOOFING iptables -A INPUT -i ppp0 -s 192.168.0.0/16 -j LOG_SPOOFING iptables -A FORWARD -i ppp0 -s 127.0.0.0/8 -j LOG_SPOOFING iptables -A FORWARD -i ppp0 -s 10.0.0.0/8 -j LOG_SPOOFING iptables -A FORWARD -i ppp0 -s 172.16.0.0/12 -j LOG_SPOOFING iptables -A FORWARD -i ppp0 -s 192.168.0.0/16 -j LOG_SPOOFING # 外部とのNetBIOS関連のアクセスはログを記録せずに破棄 iptables -A INPUT -i ppp0 -p tcp -m multiport --dports 135,137,138,139,445 -j DROP iptables -A INPUT -i ppp0 -p udp -m multiport --dports 135,137,138,139,445 -j DROP iptables -A OUTPUT -o ppp0 -p tcp -m multiport --sports 135,137,138,139,445 -j DROP iptables -A OUTPUT -o ppp0 -p udp -m multiport --sports 135,137,138,139,445 -j DROP iptables -A FORWARD -i ppp0 -p tcp -m multiport --dports 135,137,138,139,445 -j DROP iptables -A FORWARD -i ppp0 -p udp -m multiport --dports 135,137,138,139,445 -j DROP iptables -A FORWARD -o ppp0 -p tcp -m multiport --sports 135,137,138,139,445 -j DROP iptables -A FORWARD -o ppp0 -p udp -m multiport --sports 135,137,138,139,445 -j DROP # 1秒間に4回を超えるpingはログを記録して破棄 iptables -N LOG_PINGDEATH iptables -A LOG_PINGDEATH -m limit --limit 1/s --limit-burst 4 -j ACCEPT iptables -A LOG_PINGDEATH -j LOG --log-prefix '[IPTABLES PINGDEATH] : ' iptables -A LOG_PINGDEATH -j DROP iptables -A INPUT -p icmp --icmp-type echo-request -j LOG_PINGDEATH iptables -A FORWARD -o ! ppp0 -p icmp --icmp-type echo-request -j LOG_PINGDEATH # 送信元IPアドレスが内部ネットワーク範囲外のアクセスはログを記録して破棄 iptables -N LOG_INGRESS iptables -A LOG_INGRESS -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES INGRESS] : ' iptables -A LOG_INGRESS -j DROP iptables -A FORWARD -i eth0 -s ! 192.168.1.0/255.255.255.0 -j LOG_INGRESS # パスMTU問題対策 iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu # 自ホストからのアクセスをすべて許可 iptables -A INPUT -i lo -j ACCEPT # 内部からのアクセスをすべて許可 iptables -A INPUT -i eth0 -j ACCEPT iptables -A FORWARD -i eth0 -j ACCEPT # IPマスカレード(NAPT) iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE # 内部から行ったアクセスに対する外部からの返答アクセスを許可 iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT # 外部からの必須ICMPパケットを許可 iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT iptables -A INPUT -p icmp --icmp-type source-quench -j ACCEPT iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT iptables -A INPUT -p icmp --icmp-type parameter-problem -j ACCEPT iptables -A FORWARD -p icmp --icmp-type destination-unreachable -j ACCEPT iptables -A FORWARD -p icmp --icmp-type source-quench -j ACCEPT iptables -A FORWARD -p icmp --icmp-type time-exceeded -j ACCEPT iptables -A FORWARD -p icmp --icmp-type parameter-problem -j ACCEPT # 113番ポート(IDENT)へのアクセスには拒否応答 iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset iptables -A FORWARD -p tcp --dport 113 -j REJECT --reject-with tcp-reset # 22番ポート(SSH)へのアクセスを許可 iptables -A INPUT -i ppp0 -p tcp --dport 22 -j ACCEPT # PCルータ:10122番ポート(SSH)へのアクセスを許可 iptables -A FORWARD -i ppp0 -p tcp -d 192.168.1.1 --dport 10122 -j ACCEPT iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 10122 -j REDIRECT --to-port 22 # サーバ:10222番ポート(SSH)へのアクセスを許可 iptables -A FORWARD -i ppp0 -p tcp -d 192.168.1.2 --dport 10222 -j ACCEPT iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 10222 -j DNAT --to 192.168.1.2:22 # サーバ2へのアクセス制限:省略 # 指定したIPアドレスからのアクセスはログを記録せずに破棄 iptables -N OTHERFILTER iptables -A OTHERFILTER -j DROP iptables -I INPUT -s 222.251.128.0/17 -j OTHERFILTER iptables -I FORWARD -s 222.251.128.0/17 -j OTHERFILTER :省略 # 上記のルールにマッチしなかったアクセスはログを記録して破棄 iptables -A INPUT -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES INPUT] : ' iptables -A INPUT -j DROP iptables -A FORWARD -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES FORWARD] : ' iptables -A FORWARD -j DROP ---- | ||||||||||||
|
投稿日時: 2006-04-26 12:05
と書いている間に終わりましたので、掲載させていただきます。 見辛くて申し訳ございませんが、よろしくお願いいたします。 # iptables --list -v ---- Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 OTHERFILTER all -- any any 222.251.128.0/17 anywhere :中略 0 0 LOG_FRAGMENT all -f any any anywhere anywhere 0 0 LOG_SPOOFING all -- ppp0 any 127.0.0.0/8 anywhere 0 0 LOG_SPOOFING all -- ppp0 any 10.0.0.0/8 anywhere 0 0 LOG_SPOOFING all -- ppp0 any 172.16.0.0/12 anywhere 0 0 LOG_SPOOFING all -- ppp0 any 192.168.0.0/16 anywhere 161 7824 DROP tcp -- ppp0 any anywhere anywhere multiport dports 135,netbios-ns,netbios-dgm,netbios-ssn,microsoft-ds 6 468 DROP udp -- ppp0 any anywhere anywhere multiport dports 135,netbios-ns,netbios-dgm,netbios-ssn,microsoft-ds 26 2392 LOG_PINGDEATH icmp -- any any anywhere anywhere icmp echo-request 58 18531 ACCEPT all -- lo any anywhere anywhere 5960 886K ACCEPT all -- eth0 any anywhere anywhere 20256 9668K ACCEPT all -- ppp0 any anywhere anywhere state RELATED,ESTABLISHED 3 224 ACCEPT icmp -- any any anywhere anywhere icmp destination-unreachable 0 0 ACCEPT icmp -- any any anywhere anywhere icmp source-quench 0 0 ACCEPT icmp -- any any anywhere anywhere icmp time-exceeded 0 0 ACCEPT icmp -- any any anywhere anywhere icmp parameter-problem 0 0 REJECT tcp -- any any anywhere anywhere tcp dpt:auth reject-with tcp-reset 35 2292 ACCEPT tcp -- ppp0 any anywhere anywhere tcp dpt:ssh 480 189K LOG all -- any any anywhere anywhere LOG level warning tcp-options ip-options prefix `[IPTABLES INPUT] : ' 480 189K DROP all -- any any anywhere anywhere Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 OTHERFILTER all -- any any 222.251.128.0/17 anywhere :中略 0 0 LOG_FRAGMENT all -f any any anywhere anywhere 0 0 LOG_SPOOFING all -- ppp0 any 127.0.0.0/8 anywhere 0 0 LOG_SPOOFING all -- ppp0 any 10.0.0.0/8 anywhere 0 0 LOG_SPOOFING all -- ppp0 any 172.16.0.0/12 anywhere 0 0 LOG_SPOOFING all -- ppp0 any 192.168.0.0/16 anywhere 0 0 DROP tcp -- ppp0 any anywhere anywhere multiport dports 135,netbios-ns,netbios-dgm,netbios-ssn,microsoft-ds 0 0 DROP udp -- ppp0 any anywhere anywhere multiport dports 135,netbios-ns,netbios-dgm,netbios-ssn,microsoft-ds 0 0 DROP tcp -- any ppp0 anywhere anywhere multiport sports 135,netbios-ns,netbios-dgm,netbios-ssn,microsoft-ds 0 0 DROP udp -- any ppp0 anywhere anywhere multiport sports 135,netbios-ns,netbios-dgm,netbios-ssn,microsoft-ds 0 0 LOG_PINGDEATH icmp -- any !ppp0 anywhere anywhere icmp echo-request 34 8127 LOG_INGRESS all -- eth0 any !192.168.1.0/24 anywhere 1489 74748 TCPMSS tcp -- any any anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU 20740 5472K ACCEPT all -- eth0 any anywhere anywhere 18727 6324K ACCEPT all -- ppp0 any anywhere anywhere state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- any any anywhere anywhere icmp destination-unreachable 0 0 ACCEPT icmp -- any any anywhere anywhere icmp source-quench 0 0 ACCEPT icmp -- any any anywhere anywhere icmp time-exceeded 0 0 ACCEPT icmp -- any any anywhere anywhere icmp parameter-problem 0 0 REJECT tcp -- any any anywhere anywhere tcp dpt:auth reject-with tcp-reset 0 0 ACCEPT tcp -- ppp0 any anywhere 192.168.1.1 tcp dpt:ssh 0 0 ACCEPT tcp -- ppp0 any anywhere 192.168.1.2 tcp dpt:ssh 68 4532 ACCEPT udp -- ppp0 any anywhere 192.168.1.3 udp dpt:domain 7 420 ACCEPT tcp -- any any ns.maihama-net.com 192.168.1.3 tcp dpt:domain 97 4752 ACCEPT tcp -- ppp0 any anywhere 192.168.1.3 tcp dpt:http 1 52 ACCEPT tcp -- ppp0 any anywhere 192.168.1.3 tcp dpt:https 68 4020 ACCEPT tcp -- ppp0 any anywhere 192.168.1.3 tcp dpt:smtp 0 0 ACCEPT tcp -- ppp0 any anywhere 192.168.1.3 tcp dpt:smtps 104 6656 ACCEPT tcp -- ppp0 any anywhere 192.168.1.3 tcp dpt:pop3 24 1152 ACCEPT tcp -- ppp0 any anywhere 192.168.1.3 tcp dpt:pop3s 0 0 ACCEPT tcp -- ppp0 any anywhere 192.168.1.3 tcp dpt:imap 0 0 ACCEPT tcp -- ppp0 any anywhere 192.168.1.3 tcp dpt:imaps 2 140 ACCEPT udp -- ppp0 any anywhere 192.168.1.3 udp dpt:1194 0 0 ACCEPT udp -- ppp0 any anywhere 192.168.1.3 udp dpt:svn 0 0 LOG all -- any any anywhere anywhere LOG level warning tcp-options ip-options prefix `[IPTABLES FORWARD] : ' 0 0 DROP all -- any any anywhere anywhere Chain OUTPUT (policy ACCEPT 24357 packets, 3013K bytes) pkts bytes target prot opt in out source destination 0 0 DROP tcp -- any ppp0 anywhere anywhere multiport sports 135,netbios-ns,netbios-dgm,netbios-ssn,microsoft-ds 0 0 DROP udp -- any ppp0 anywhere anywhere multiport sports 135,netbios-ns,netbios-dgm,netbios-ssn,microsoft-ds Chain LOG_FRAGMENT (2 references) pkts bytes target prot opt in out source destination 0 0 LOG all -- any any anywhere anywhere LOG level warning tcp-options ip-options prefix `[IPTABLES FRAGMENT] : ' 0 0 DROP all -- any any anywhere anywhere Chain LOG_INGRESS (1 references) pkts bytes target prot opt in out source destination 34 8127 LOG all -- any any anywhere anywhere LOG level warning tcp-options ip-options prefix `[IPTABLES INGRESS] : ' 34 8127 DROP all -- any any anywhere anywhere Chain LOG_PINGDEATH (2 references) pkts bytes target prot opt in out source destination 26 2392 ACCEPT all -- any any anywhere anywhere limit: avg 1/sec burst 4 0 0 LOG all -- any any anywhere anywhere LOG level warning prefix `[IPTABLES PINGDEATH] : ' 0 0 DROP all -- any any anywhere anywhere Chain LOG_SPOOFING (8 references) pkts bytes target prot opt in out source destination 0 0 LOG all -- any any anywhere anywhere LOG level warning tcp-options ip-options prefix `[IPTABLES SPOOFING] : ' 0 0 DROP all -- any any anywhere anywhere Chain OTHERFILTER (2796 references) pkts bytes target prot opt in out source destination 418 47511 DROP all -- any any anywhere anywhere ---- [ メッセージ編集済み 編集者: Jumpin' Jack Flash 編集日時 2006-04-26 12:06 ] | ||||||||||||
|
投稿日時: 2006-04-28 01:28
引用:
OTHERFILTERが多くて、1時間たっても終わらないので、割愛させていただきます。 ==================================================== 1時間もかかったのはドメインの逆引きを行っていたためで、[-n]オプションをつけると早くおわりますよ。 IPアドレスとポート番号の変換自体は下記の2つの設定を行うことで正常に行えます。 # PCルータ:10122番ポート(SSH)へのアクセスを許可 iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 10122 -j REDIRECT --to-port 22 # サーバ:10222番ポート(SSH)へのアクセスを許可 iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 10222 -j DNAT --to 192.168.1.2:22 したがって、フィルタリングに問題がありそうです。詳細を見てみると Chain FORWARDで 0 0 ACCEPT tcp -- ppp0 any anywhere 192.168.1.1 tcp dpt:ssh 0 0 ACCEPT tcp -- ppp0 any anywhere 192.168.1.2 tcp dpt:ssh になっている事から、ここに来るまでのどこかで引っかかっている模様ですので、 この設定をもっと頭のほうへ持ってきて試されてはいかがでしょうか? また、カウントを一度リセットし、どこに検出されているか確かめることをお勧めいたします。 [ メッセージ編集済み 編集者: 未記入 編集日時 2006-04-28 11:31 ] | ||||||||||||
|
投稿日時: 2006-04-28 01:46
今気づいたんですが
PREROUTINGで 6 448 REDIRECT tcp -- ppp0 any anywhere anywhere tcp dpt:ssh redir ports 22 0 0 DNAT tcp -- ppp0 any anywhere anywhere tcp dpt:ssh to:192.168.1.2:22 ってなってますよね、これちょっとおかしくないですか? 両方「tcp -- ppp0 any anywhere anywhere tcp dpt:ssh」でかぶってますね。 これだと上にあるほうしか反応しませんよね。 それにdportがsshってのもおかしいですね。 新しい設定が反映されず、過去の変なものが残ったままになってませんか? スクリプトの頭に -Fと-Xオプションを入れてリセットされたほうが、 よろしいかと思います。 [ メッセージ編集済み 編集者: 未記入 編集日時 2006-04-28 02:03 ] | ||||||||||||
|
投稿日時: 2006-04-29 02:15
ご対応ありがとうございます。
いろいろ設定を変えていた中で、/etc/services に、 ---- ssh 10122/tcp # SSH Remote Login Protocol ssh 10122/udp # SSH Remote Login Protocol ssh 10222/tcp # SSH Remote Login Protocol ssh 10222/udp # SSH Remote Login Protocol ---- このように追加していたためでした。 ---- ssh1 10122/tcp # SSH Remote Login Protocol ssh1 10122/udp # SSH Remote Login Protocol ssh2 10222/tcp # SSH Remote Login Protocol ssh2 10222/udp # SSH Remote Login Protocol ---- このように設定すると、 ---- Chain PREROUTING (policy ACCEPT 51 packets, 5121 bytes) pkts bytes target prot opt in out source destination 4 280 REDIRECT tcp -- ppp0 any anywhere anywhere tcp dpt:ssh1 redir ports 22 3 144 DNAT tcp -- ppp0 any anywhere anywhere tcp dpt:ssh2 to:192.168.1.2:22 ---- このようになりました。
スクリプトの先頭に、追加しました。 ---- iptables -F iptables -X ----
# iptables -Z でカウンタをクリアして試してみました。 CASE 1. 10122ポートへの接続(2回トライし、2回とも接続できた) ---- Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 OTHERFILTER all -- * * 222.251.128.0/17 0.0.0.0/0 :中略 0 0 LOG_FRAGMENT all -f * * 0.0.0.0/0 0.0.0.0/0 0 0 LOG_SPOOFING all -- ppp0 * 127.0.0.0/8 0.0.0.0/0 0 0 LOG_SPOOFING all -- ppp0 * 10.0.0.0/8 0.0.0.0/0 0 0 LOG_SPOOFING all -- ppp0 * 172.16.0.0/12 0.0.0.0/0 0 0 LOG_SPOOFING all -- ppp0 * 192.168.0.0/16 0.0.0.0/0 0 0 DROP tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 multiport dports 135,137,138,139,445 0 0 DROP udp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 multiport dports 135,137,138,139,445 0 0 LOG_PINGDEATH icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 8 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 130 18696 ACCEPT all -- eth0 * 0.0.0.0/0 0.0.0.0/0 34 3980 ACCEPT all -- ppp0 * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 3 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 4 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 11 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 12 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:113 reject-with tcp-reset 2 96 ACCEPT tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 6 level 4 prefix `[IPTABLES INPUT] : ' 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ---- 10122ポートへ接続しているのに、WANの22ポートに引っかかっています。なんでだろう? CASE 2. 10222ポートへの接続(1回トライし、接続エラー) ---- Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 OTHERFILTER all -- * * 222.251.128.0/17 0.0.0.0/0 :中略 0 0 LOG_FRAGMENT all -f * * 0.0.0.0/0 0.0.0.0/0 0 0 LOG_SPOOFING all -- ppp0 * 127.0.0.0/8 0.0.0.0/0 0 0 LOG_SPOOFING all -- ppp0 * 10.0.0.0/8 0.0.0.0/0 0 0 LOG_SPOOFING all -- ppp0 * 172.16.0.0/12 0.0.0.0/0 0 0 LOG_SPOOFING all -- ppp0 * 192.168.0.0/16 0.0.0.0/0 0 0 DROP tcp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 multiport dports 135,137,138,139,445 0 0 DROP udp -- ppp0 * 0.0.0.0/0 0.0.0.0/0 multiport dports 135,137,138,139,445 0 0 DROP tcp -- * ppp0 0.0.0.0/0 0.0.0.0/0 multiport sports 135,137,138,139,445 0 0 DROP udp -- * ppp0 0.0.0.0/0 0.0.0.0/0 multiport sports 135,137,138,139,445 0 0 LOG_PINGDEATH icmp -- * !ppp0 0.0.0.0/0 0.0.0.0/0 icmp type 8 0 0 LOG_INGRESS all -- eth0 * !192.168.1.0/24 0.0.0.0/0 3 144 TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU 1 58 ACCEPT all -- eth0 * 0.0.0.0/0 0.0.0.0/0 1 105 ACCEPT all -- ppp0 * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 3 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 4 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 11 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 12 0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:113 reject-with tcp-reset 0 0 ACCEPT tcp -- ppp0 * 0.0.0.0/0 192.168.1.1 tcp dpt:10122 0 0 ACCEPT tcp -- ppp0 * 0.0.0.0/0 192.168.1.2 tcp dpt:10222 :略 3 144 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 6 level 4 prefix `[IPTABLES FORWARD] : ' 3 144 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ---- WANの10222ポートには引っかからず、デフォルトルールになります。 この時の /var/log/messages の内容は、下記のとおりです。 ---- Apr 29 02:06:40 <router> kernel: [IPTABLES FORWARD] : IN=ppp0 OUT=eth0 SRC=xxx.xxx.xxx.xxx DST=192.168.1.2 LEN=48 TOS=0x00 PREC=0x00 TTL=118 ID=57292 DF PROTO=TCP SPT=1216 DPT=22 WINDOW=62216 RES=0x00 SYN URGP=0 OPT (0204058401010402) Apr 29 02:06:43 <router> kernel: [IPTABLES FORWARD] : IN=ppp0 OUT=eth0 SRC=xxx.xxx.xxx.xxx DST=192.168.1.2 LEN=48 TOS=0x00 PREC=0x00 TTL=118 ID=57296 DF PROTO=TCP SPT=1216 DPT=22 WINDOW=62216 RES=0x00 SYN URGP=0 OPT (0204058401010402) Apr 29 02:06:49 <router> kernel: [IPTABLES FORWARD] : IN=ppp0 OUT=eth0 SRC=xxx.xxx.xxx.xxx DST=192.168.1.2 LEN=48 TOS=0x00 PREC=0x00 TTL=118 ID=57298 DF PROTO=TCP SPT=1216 DPT=22 WINDOW=62216 RES=0x00 SYN URGP=0 OPT (0204058401010402) ---- ちょっと混乱しています。 | ||||||||||||
|
投稿日時: 2006-04-29 03:52
なぜ「/etc/services」をいじられてるんでしょうか。
いじる必要はありませんよ。 自分で試してみてやっとわかりました、私の理解不足だったんですが FORWARDはNATで変換した後に適応されるようです。 ですので # PCルータ:10122番ポート(SSH)へのアクセスを許可 iptables -A INPUT -i ppp0 -p tcp --dport 22 -j ACCEPT iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 10122 -j REDIRECT --to 22 # サーバ:10222番ポート(SSH)へのアクセスを許可 iptables -A FORWARD -i ppp0 -p tcp -d 192.168.1.2 --dport 22 -j ACCEPT iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 10222 -j DNAT --to 192.168.1.2:22 で、うまくいくはずです。 | ||||||||||||
|
投稿日時: 2006-05-08 11:12
お返事が遅くなり、申し訳ございませんでした。
ご指摘の設定で問題なく動作するようになりました。 言われてみれば、そのとおりでした。 長々とお付き合いいただきありがとうございました。 なお、/etc/services は元に戻しました。 正しく動くようになった今となっては、iptablesのlistを 表示するとポート番号をサービス名に逆引きしてくれて、 それはそれでわかりやすかったかもしれません。 [ メッセージ編集済み 編集者: Jumpin' Jack Flash 編集日時 2006-05-08 11:13 ] |