[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:13222] Re: IPMasqueradeの設定の件
-
From:KUSAKABE -bourbon!- Toshiaki
-
Date:Mon, 4 Mar 2002 15:59:30 +0900
- Subject: [plamo:13222] Re: IPMasqueradeの設定の件
- From: KUSAKABE -bourbon!- Toshiaki <kusakabe@xxxxxxxxxx>
- Date: Mon, 4 Mar 2002 15:59:30 +0900
- Posted: Mon, 04 Mar 2002 15:59:27 +0900 (JST)
日下部です。
小楠さん、
まず、朝のメールについてドタバタしてしまい、文面に対する配慮が足りず、
少々意地悪なメールになってしまったかも知れないことを(本人は意識してな
かったです、、、)お詫びします。
さて、
>>> 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 公開システム