スタッフブログ

ローハイドのスタッフが、日常のこと、ネットで見つけた便利な情報、仕事に役立つとっておきのテクニックを紹介します。

Fight! the Rawhide

2006年10月24日1:29

iptablesとの格闘

STAFF BLOG Comments (1)

よこはま

せっかくさっきまで、iptablesと格闘していたので、残しておきます。久々にiptablesを触ったのですが、iptables-saveやらあるし、さらにここ何年もポートフォワーディングについて大きく勘違いをしていたことに気がつきました。いや、おはずかいし・・・

で、今回はいたってフツーのこんな感じの構成なんです。

20061023.gif

ようは、外部からxxx.xxx.xxx.xxx:3000とwebrickへのアクセスがあった場合、LAN内の192.168.0.2:3000に転送してあげようって感じです。192.168.0.2では、実際に3000番を開放しwebrickが稼動しています。この192.168.0.2のiptablesの設定は、

『192.168.0.0/24からはいかなるINPUTも受け付ける』

と、なっていますので、xxx.xxx.xxx.xxxのマシーンのPREROUTINGは、以下のように3000に対するフォワーディングを設定しました。

iptables -t nat -A PREROUTING -p tcp –dport 3000 -i ppp0 \
-j DNAT –to-destination 192.168.0.2:3000
iptables -A FORWARD -p tcp –dport 3000 -i ppp0 -j ACCEPT

これで、OKでしょって思ったのが甘かったです。まったく接続が出来ず、1時間たっても、2時間たっても全く解決しない。 iptablesで、 -j LOG やら、tcpdump やら、駆使した挙句、

『あれ!?フォワードのSIPって、生?』。。。 このログで、気がつきました。

Oct 24 00:27:12 hoge kernel: IN=eth2 OUT=eth2 xsrc=aaa.bbb.ccc.ddd DST=192.168.0.2 LEN=312 TOS=0×00 PREC=0×00 TTL=127 ID=14352 DF PROTO=TCP SPT=1927 DPT=3000 WINDOW=16586 RES=0×00 ACK PSH URGP=0

てっきり、この2時間IPマスカレードと同じ考えでIPアドレスはルーターによって上書きされるため、SIPは192.168.0.1になっているものかと思い込んで作業をしていました。。。

よく考えたら、んなわけないですよね。もしそうなら、サーバーのアクセスログは全てルーターからのものになってしまうし^^

と、言うことで、webrickサーバーで、

iptables -A INPUT -p tcp –dport 3000 -j ACCEPT

を追加して、無事完了した。早速はじめてのiptables-saveをつかって、しっかり保存もして見ました。iptables-saveって、昔からあったのだろうか・・・・?ま、とりあえず結果オーライです。

今日の作業で現場を離れると感が鈍るもだなと感じました。なんとか、上手く両立して行きたいな・・・
早くパケットを手でつかみたいな・・・・

この記事のフィードバック

wowouyreさんからのコメント

Goog morning!
Have you ever tried to loose weight fast? You may run 3 km in the morning but the fastest method is cheap viagra i guess. viagra is the most powerful weight loss pill that could save you a lot of time. You may get buy viagra discount for quick weight loss.
There is no need for prescription cause you may purchase cheap viagra without prescription online. Does anyone already tried these pills ?

コメントする