[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:13222] Re: IPMasqueradeの設定の件



日下部です。

小楠さん、
まず、朝のメールについてドタバタしてしまい、文面に対する配慮が足りず、
少々意地悪なメールになってしまったかも知れないことを(本人は意識してな
かったです、、、)お詫びします。

さて、

>>> Mon, 4 Mar 2002 14:19:30 +0900 頃に
>>> pc8m-ogs@asahi-net.or.jpさんは書きました
> 
> 小楠です。
> 
> 日下部さん、よろしくお願いします。
> 自分でも"なにかきちんと理解できていない気がする"という話で(つまり"ずば
> りの質問を描けていない)、質問の背景すらまともに説明できず、すみません。
> まず、質問に対する確認事項から。

私の「上文」を踏まえて、小楠さんの、紳士的な対応に感謝しています。

> >小楠さんの結論として出された部分と思われる箇所を引用します:
> >> 1.IP Masquerade ルールの一括定義をして個別のサービス毎に ACCEPT を定義
> >> するとIPは変更されずにそのままルータを通過してしまう。
> >
> >IP Masq. ルール一括定義と、個別のサービス毎に、の部分、それぞれ
> >「どのインターフェイスのどのチェイン」について言ってますか?
> 
> "インターフェイス"にピンとこない辺り、私がきちんと理解できていない気が
> します。eth0 or eth1 を指しておられると思って進めますね。ここでは

はい、lo, eth0, eth1, ppp0, ul0, ... と、御理解の通りです。

> forward のチェインのみを考えており、eht0 or eth1 は意識していませんで
> した。

もう一度読み直して、了解しました。
このメールの最後の
> #/sbin/ipchains -A forward -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQ
> #/sbin/ipchains -A forward -i eth1(内部) 1024:65535 \
> -o eth0(外部) dns -j ACCEPT 
> #/sbin/ipchains -A forward -i eth0(外部) dns\
> -o eth1(内部) 1024:65535 -j ACCEPT 
のことですね。
(-o は用法が違いますけど… ^^;;;)

で、再度の返事は下にて…

> >> 2.したがって現実的なルールは個別のサービス毎に target を MASQ として定
> >> 義するものである。
> >
> >現実的なルールとはなんでしょうか。
> 
> 解説ドキュメントや書籍が"説明のために示した使用例"とは別に"実際の設定
> で使うルール"を表現するつもりで"現実的なルール"を使いました。

なるほど。まあそうかも知れません。(これも下で別途お答えします。)

/*
しかしですよ、、、
  「説明のために示した使用例」
がなんの前置きもなく
  「実際の設定で使うルール」と掛けはなれていたら、
それは読み手(特に初めて使う人、初心者じゃないかも)混乱を招くので、問題
かと思います。

#すいません、全ての書籍に目を通したわけではなく、一部の本と、
#FAQ/JFを元に話をしています。
*/

> ---
> 具体的な目標ルールを挙げてみます。
> 内部からの要求に対して、IPマスカレードを使って、
> DNS,smtp,pop3,ssh,http,ftp のサービスのみを通過させたい、というフィル
> タリングを実現したいと考えています。

はい。

> 日下部さんが示された"チェイン forward について -j MASQ を適用して、チェ
> イン input に...."という方法でも同じ結果が得られればOKです。ですから質
> 問の意図としては、私が設定しようとしている例が問題の無いIPマスカレード
> の設定例であるか(例えば、日下部さんの例と私の例で同値か否か)、にありま
> す。(ですから日下部さん指摘の例では"確実でない"という意見は私にはあり
> ません。そもそも考えていなかった(下記)という...^^; )

了解です。いや、御回答は予想通りでした。
あれは私の単純に確認でしたので…(とはいえ、言葉が足りなかったのですけど)

> 私の今までの発想は、チェイン input 、output はいじらずにチェイン
> forward のみでルールを設定しようとしていました。日下部さんの例を拝見す
> るとチェイン forward は( eth1 から eth0 に向かって) -j MASQ を適用して、
> チェイン input (または output )でポート毎にルールを適用されていました。
> 指摘頂いて初めて思ったことは、後者(日下部さん指摘)の視点のほうがより一
> 般的な(というよりも考え易い)のでしょうか?(Q1)

(A1)
私の参考文献では
「説明のために示した使用例」
として、僕の挙げた例が一般的ですので、そう僕は信じています。

> もとの質問にこだわりますと、チェイン forward のみで目標を達成しようと
> すると私の設定例は有効でしょうか?(Q2)

(A2)
元の質問って、これのことだとします。
> /sbin/ipchains -P forward DENY
> #例えば DNS(53/udp)
> /sbin/ipchains -A forward -j MASQ -p udp -s 192.168.1.0/24 1024:65535\
>  -d 0.0.0.0/0 domain 
> #以下 DNS と同様にhttp,smtp,pop3,sshなどの定義が続きます。

これだと、
  -i ethx 
がないけど、-s と -d 区別が ??? なのと(多分、ethxの解釈はその都度変わ
るのですかね?)、
  MASQってこんな使い方できるの? (c.f. man 8 ipchains)
っていう疑問があります。

/sbin/ipchains -A forward -j MASQ -p udp -i eth1 -s 192.168.1.0/24 1024:65535\
 -d 0/0 domain
/sbin/ipchains -A forward -j MASQ -p udp -i eth0 -s 192.168.1.0/24 1024:65535\
 -d 0/0 domain
ならひょっとしたらうまく行くかもしれません(全く自信ないです)。

> 以下のように設定することは、DNSのポートについては ACCEPT してしまうた
> め、DNS に関しては無意味(無効なルール)と考えています。私の理解は妥当で
> しょうか?(Q3)

(A3)
-o は外部インターフェイスを指定するオプションではありません。(man 8 ipchains)
ということで、これを無視したとして、

> #/sbin/ipchains -A forward -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQ

これはいいですよね。

> #/sbin/ipchains -A forward -i eth1(内部) 1024:65535 \
> -o eth0(外部) dns -j ACCEPT 

送信されたeth1を通過する forward は port 1024 - 65535 について許可する
となります。

> #/sbin/ipchains -A forward -i eth0(外部) dns\
> -o eth1(内部) 1024:65535 -j ACCEPT 

送信されたeth0を通過する forward は port 1024 - 65535 について許可する
となります。

ポリシーで forward チェインは全部 DENY とすると
これでは、お望みのパケットは入っても出ても行きません…

--
ちょっと考えましたが、
#/sbin/ipchains -A forward -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQ
#/sbin/ipchains -A forward -p udp -i eth0 domain -j ACCEPT
#/sbin/ipchains -A forward -p udp -i eth1 domain -j ACCEPT
とやれば、お望みの結果になるのかな?
でも、「MASQ ... forward チェックから外すfrom manpage」が気になるので、
だめですかね...。
(iptables に移行済みなので実験してません_ _;;)

でも、これならば、
#/sbin/ipchains -P input DENY
#/sbin/ipchains -A input -i eth0 -j firewall
#/sbin/ipchains -A firewall -p tcp -s 0/0 -d 0/0 domain -j ACCEPT
#/sbin/ipchains -A firewall -p udp -s 0/0 -d 0/0 domain -j ACCEPT
#/sbin/ipchains -A forward -s 192.168.1.0/24 -d 0/0 -j MASQ
と書いた方がいいのではないでしょうか…

#私、小楠さんの質問を、まだちょっと理解できてないかも…
-- 
//                   東京都練馬区   ぶるぼん企画                   //
//                 日下部 俊昭 <kusakabe@reccoa.net>               //

Follow-Ups
[plamo:13256] Re: IPMasqueradeの設定の件, KUSAKABE -bourbon!- Toshiaki
References
[plamo:13186] IP Masqueradeの設定の件, pc8m-ogs
[plamo:13188] Re: IPMasqueradeの設定の件, KUSAKABE -bourbon!- Toshiaki
[plamo:13218] Re: IPMasqueradeの設定の件, pc8m-ogs

[検索ページ] [メール一覧]
Plamo ML 公開システム