- - PR -
2台のDHCPサーバを利用するには?
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-08-02 19:13
はじめまして、こちらの会議室でははじめての投稿になります。
いのつちといいます。宜しくお願いいたします。 2台のDHCPサーバを利用する方法を教えてください。 現在、DHCPサーバが2台あり,それぞれ別ネットワークの割当をおこなおうとしています。 便宜上それぞれのサーバをdhcp1 dhcp2 とします。 dhcp1 eth0=192.168.0.1 ネットワーク192.168.0.0/24 割当は、192.168.0.20-120 dhcp2 eth0=192.168.0.2 eth1=192.168.30.254 でeth1側のネットワークは、192.168.30.0/24 割当は、192.168.30.20-240 としています。 dhcp1 は、インターネットとつながるデフォルトゲートウェイです。 (dhcp1には eth1があり、そちらはグローバルIPが割当られています。) dhcp2 は、192.168.0.0/24 と192.168.30.0/24 のネットワークをつなぐルータとして機能しています。 問題は、192.168.0.0/24 のネットワーク上のクライアントが、dhcp2 に反応してしまい、 192.168.30.X が割り当てられてしまうことにあります。 192.168.30.0/24上のクライアントは、問題なく、192.168.30.Xとして割り当てられているのですが・・・。 一応、dhcp2サーバのeth1(192.168.30.254)からのみ受付けるようにしているのですが、 192.168.0.0/24上のクライアントが、255.255.255.255 で送信した場合も、eth1で受け取られているので、 これを受けないようにすれば、解決できそうなのですが・・。 ルーティングの設定の問題でしょうか・・。それとも、iptablesなどで何らか拒否すればよいのでしょうか。 ログなどを見ていると、192.168.0.0/24上のクライアントが、問い合わせすると、両方のdhcpサーバが 反応しています。(それぞれ、192.168.0.X 192.168.30.X )と別々のものを与えようとしています。 で、クライアント側は受付けられないときもあれば、どちらかで対応できている場合もあるようです。 環境ですが、 dhcp1 : LASER5 Secure Server 6.9 Kernel 2.2.19-6.2.7.LS2 on an i686 dhcp2 : VINE LINUX 2.6 Kernel 2.4.22-0vl2.14 on an i586 でdhcpd を利用しています。
宜しくお願い申し上げます。 | ||||||||||||
|
投稿日時: 2004-08-03 00:51
こんばんわ.
疲労困憊なのでひとつだけ気が付いたことを. dhcp2 で # /sbin/route add -host 255.255.255.255 dev eth1 したら如何でしょう? host に 複数の interface がある場合の dhcpd に対するおまじないです. | ||||||||||||
|
投稿日時: 2004-08-03 11:21
こんにちは。
まず、ネットワークの場合はなるべく簡単な図をつけましょう^^; たくさんの文章より効果的なことが多いです。…で、以下の図で問題ないでしょうか? だとすれば、次のような設定はいかがでしょう?
設定: 対象サーバ:dhcp2 対象インタフェース:eth0 設定内容:「iptables」の「input」項目にて「ポート67-68」、「アドレス255.255.255.255」をフィルタする。 ※「forward」もフィルタした方がよいかも知れません # 注意書きを追加 ## 編集したら、レイアウトが崩れるんですが…なんで?^^; | ||||||||||||
|
投稿日時: 2004-08-03 12:00
kaz様 水無月 遊々様
長文にも関わらず、ご回答いただきありがとうございます。 すみません、うまくテキストで図が描けませんでした・・。 図示いただきありがとうございます。 アドバイスを元に、次の追加を行いましたが、やはり、192.168.0.0/24の ネットワーク上のクライアントが、dhcp2のeth1 で反応してしまい 両方からのdhcpサーバからの回答でクライアントが混乱してしまっています・。 引き続き何かご指導いただけましたら幸いです。 dhcp2サーバへの設定追加
iptables で 192.168.0.0/24 側から eth1 のIP宛の場合は、 通過するチェインはどうなるのでしょうか。 INPUT だけでしょうか。 それとも FORWARDとINPUT でしょうか。
| ||||||||||||
|
投稿日時: 2004-08-03 12:28
こんにちわ.
# /sbin/iptables -A INPUT -i eth0 -p udp --dport 67:68 -j DROP で良いのではないかと思われます. でも,手元では interface 3つでそのような事は起きいない...
どっちもじゃないかと. | ||||||||||||
|
投稿日時: 2004-08-03 16:19
こんにちは。
テキストの図は手で書くと大変ですので、なにかツールを見つけられるとよいかも知れませんね。私の場合は、秀丸の罫線マクロをカーソルキーに登録して利用しています。こういう場面では結構利用することが多いと思います。(表現がきつかったなら申し訳ありませんでした…)
うーん、なんででしょうね。とりあえず、kaz様のご意見を取り入れまして、以下のように書いてみてください。すると、syslogにドロップしたパケットが記録されるはずですので、iptablesにてきちんとパケットがドロップされていることを確認しましょう。 syslogに残っていない場合は、パケットが通過していると思われます。 ↓iptables iptables -A INPUT -i eth0 -d 0/0 -p udp --dport 67:68 -j LOG iptables -A INPUT -i eth0 -d 0/0 -p udp --dport 67:68 -j DROP iptables -A FORWARD -i eth0 -d 0/0 -p udp --dport 67:68 -j LOG iptables -A FORWARD -i eth0 -d 0/0 -p udp --dport 67:68 -j DROP パケットが、きちんとドロップできているなら、どこかのHUBが2つのセグメントを繋いでいないですかね? 「192.168.0.0/24」と「192.168.30.0/24」のセグメントが混在しているような気がします…。
私も、両方関係したと思います。 | ||||||||||||
|
投稿日時: 2004-08-03 16:49
すいません、追記です。
eth0のPort 67-68をOUTPUTチェインで塞いでしまうのもよいかも知れませんね。これで、他のセグメントを割り当てている場合は、同一セグメントが混在している可能性があるかと。 | ||||||||||||
|
投稿日時: 2004-08-03 18:51
kaz 様 水無月 遊々様 ご回答いただきありがとうございました。
答えはこれでした。。お恥ずかしい限りです。ネットワークを今回分離したのですが、 1本だけ別ネットワークのケーブルがHUBにささっていたのが原因でした。 いくら塞いでいても、回り道されていたら意味がありませんね。 最終的には、設定は次のとおりで問題なく対処できました。 route add -host 255.255.255.255 dev eth1 iptables -A INPUT -i eth0 -p udp --dport 67:68 -j DROP iptables -A FORWARD -i eth0 -p udp --dport 67:68 -j DROP iptables -A OUTPUT -o eth0 -p udp --dport 67:68 -j DROP # 設定が1になっていたので、0にしました。 echo 0 > /proc/sys/net/conf/all/accept_redirects 本当にありがとうございました。今後とも宜しくお願い申し上げます。 |
1