- PR -

iptablesで 10022ポートから22ポートへ転送

1
投稿者投稿内容
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-04-06 17:48
このような構成です。
-----------------------
PCルータ :192.168.1.1
  |
内部サーバ:192.168.1.2
-----------------------

iptablesで、
外部からのSSHポート(22)へのアクセスを内部サーバへ転送したい場合、
このように書けば良いと思います。
----
iptables -A FORWARD -i eth0 -p tcp -d 192.168.1.2 --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to 192.168.1.2
----

外部からのSSHポート(10022)へのアクセスを内部サーバのSSHポート(22)
へ転送したい場合、どのように書けば良いでしょうか?
自分なりにいろいろ調べたのですが、このように書けば良いのでしょうか?
----
iptables -A FORWARD -i eth0 -p tcp -s 192.168.1.1 --sport 10022 -d 192.168.1.2 --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --sport 10022 --dport 22 -j DNAT --to 192.168.1.2
----

「試してみりゃいいじゃんっ!」とも思うのですが、ルーティングおよび
セキュリティの根幹にあたる部分なので、詳しい方の添削を受けてから
実施したいのです。

すいませんが、よろしくお願いいたします。


[ メッセージ編集済み 編集者: Jumpin' Jack Flash 編集日時 2006-04-06 17:49 ]
未記入
常連さん
会議室デビュー日: 2006/04/11
投稿数: 21
投稿日時: 2006-04-11 01:17
たぶん、だめだと思います。
iptablesでNAT変換する場合IPアドレスのIPアドレスの後に
ポート番号を指定しなければなりません。なので

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 10022 -j DNAT --to 192.168.1.2:22

が正しいと思いますよ。

[ メッセージ編集済み 編集者: 未記入 編集日時 2006-04-11 09:41 ]
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-04-11 12:27
その後、自分でも調べてみていろいろ試してみましたので、
ご報告いたします。
----
iptables -A FORWARD -i eth0 -p tcp -d 192.168.1.2 --dport 10022 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10022 -j DNAT --to 192.168.1.2:22
----
としましたが、繋がりませんでした。

----
iptables -A FORWARD -i eth0 -p tcp -d 192.168.1.2 --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to 192.168.1.2
----
では、繋がります。

10022ポートを明示的に外部に開放する設定が/etc/なんたらとかに
あるのでしょうか?

試しに、sshのポートを10022に設定し、
22ポートから10022ポートへ転送することはできました。
----
iptables -A FORWARD -i eth0 -p tcp -d 192.168.1.2 --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to 192.168.1.2:10022
----
この設定でつながりました。
未記入
常連さん
会議室デビュー日: 2006/04/11
投稿数: 21
投稿日時: 2006-04-12 18:22
私も試してみましたが
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10022 -j DNAT --to 192.168.1.2:22

で正常にNAT変換とポート変換されて接続できましたよ?。
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2006-04-20 01:18
引用:

未記入さんの書き込み (2006-04-12 18:22) より:
私も試してみましたが
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10022 -j DNAT --to 192.168.1.2:22

で正常にNAT変換とポート変換されて接続できましたよ?。



すいません、遅くなりましたが、いろいろ調べてみた結果、
私が試していたクライアント環境が10022ポートで出て行けない
ようで、失敗していたようです。
別の環境からは、正常に繋がりました。

で、新たな質問なのですが、

新しいスレッドを立てます。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30056&forum=10&
1

スキルアップ/キャリアアップ(JOB@IT)