インターネットでiptables(※Linuxに実装されているファイアーウォール機能)の設定について検索すると、解説とサンプルのページがたくさん出てくる。
しかし、そこに書いてある通りに設定しても、うまく行かないで、ハマってしまう事が多い。
何故か?
やっと分かった。
(今頃かい!!)
前の記事で書いたとおり、ポートの指定が、サーバーとクライアント、そしてインとアウトで逆になるのだ。
解説を書いている人が、どちらの立場で書いているのかで、設定が逆になってしまうということ。(※解説はほとんど、サーバー設置のためのものである事が多い)
初めてLinuxに触る初心者の方は、まずは自分がインターネットに接続するための設定をしたいのかも知れない。そのような時に、サーバー設置のための設定解説を読んでそのまま使うと、間違ってしまうというわけだ。
例えば---
自分がクライアントでサーバーに問い合わせに行く立場の場合
-A OUTPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT (※確立した接続の返信を受付許可する設定)
自分がサーバーでクライアントから問い合わせを待ち受ける立場の設定では
-A INPUT -p tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp --sport 80 -j ACCEPT
となる。
サーバーであっても、自分もクライアントとして問い合わせに行く立場になる事も必要になる。
(例えば時刻合わせのために外部のNTPサーバーに問い合わせに行くときは、自分はクライアントになる。)
プロキシサーバーなど、自身がサーバーでもあり、クライアントでも有るような場合、設定がややこしくなってしまうわけだ・・・orz
#何事も、自分(や相手)の立場、立ち位置を考えないといけない
コメント