[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:38169] [Summary] <Q> How to make a dhcp server for two subnets?
柴田(あ)です。
希望通りに動作→成功しました。(実機でも成功)
検討してくださった皆様ありがとうございました。
この場を借りて御礼を述べるとともにサマリの投稿を
することで恩返しに代えたいと思います。
最後の一押しは奈古屋さんのメイル [debian-users:38136] でした。
根拠がよく理解できたような気がしたので、進む方向に確信が
もてたというのが最大の理由です。
ということで、
■回答
<A>
下記の状況では
/etc/dhcpd.conf を次のように書き換えることで
動作するようになりました。
どちらのパターンでも動作します。
●パターン 1 (現状からの変更最小構成)
設定ファイル中の shared-network CM { と対応する } を
抜くだけです。
注意:対応する } を抜き忘れると dhcpd がすぐに exit
してしまいます(ハマりましたが、ログを見ると } が
余計だと書いてあります、手打ちで下に転記)
--------------------------
/etc/dhcpd.conf line 26: expecting a declaration
}
^
Configuration file errors encountered -- exiting
-------------------------- こんな感じ
default-lease-time 60;
max-lease-time 72;
option subnet-mask 255.255.0.0;
option domain-name-servers 127.0.0.1;
option domain-name "intra.hoge.jp";
host 1 {
hardware ethernet 00:e0:98:77:41:56 ;
option domain-name-servers 172.16.241.10 ;
}
subnet 172.16.0.0 netmask 255.255.0.0 {
}
subnet 172.18.0.0 netmask 255.255.0.0 {
range 172.18.200.0 172.18.220.254;
option broadcast-address 172.18.255.255;
option routers 172.18.0.1;
}
subnet 172.20.0.0 netmask 255.255.0.0 {
range 172.20.100.0 172.20.120.254;
option broadcast-address 172.20.255.255;
option routers 172.20.0.1;
}
●パターン 2 ( group を組む構成)
default-lease-time 60;
max-lease-time 72;
option subnet-mask 255.255.0.0;
option domain-name-servers 127.0.0.1;
option domain-name "intra.hoge.jp";
host 1 {
hardware ethernet 00:e0:98:77:41:56 ;
option domain-name-servers 172.16.241.10 ;
}
group {
subnet 172.16.0.0 netmask 255.255.0.0 {
}
subnet 172.18.0.0 netmask 255.255.0.0 {
range 172.18.200.0 172.18.220.254;
option broadcast-address 172.18.255.255;
option routers 172.18.0.1;
}
subnet 172.20.0.0 netmask 255.255.0.0 {
range 172.20.100.0 172.20.120.254;
option broadcast-address 172.20.255.255;
option routers 172.20.0.1;
}
}
●忘れちゃいけない部分
松田陽一@三鷹さんのメイル [debian-users:38131] や
奈古屋さんのメイル [debian-users:38136] には記述されてなくて
引っかかっていて、解決の最後のキーは
subnet 172.16.0.0 netmask 255.255.0.0 {
}
を記述したことでした。
ログをよく読むと (下記は手で写してますので typo 御免)
---------------------
No subnet declaration for eth0 (172.16.241.11).
Please write a subnet declaration in your dhcpd.conf file for the
network segment to which interface eth0 is attached.
------------------------- こんな感じ
なーんてことが書いてあったので 172.16.0.0 ネットを書き加えて
みたら、ビンゴ!だったわけです。
</A>
■おまけ
市中で売っている 1 万円くらいまでのヤスモンルータでは
dhcp をリレーしてくれないことを知らなくて、
dhcp サーバの構築には大変苦労しました。
今回 debian でルータとしようとしたのは dhcp-relay パッケージを
発見したので、実機を導入する前に実験をしておきたかったからです。
直接的には Debian 固有の話題では在りませんでしたが、
・ dhcp サーバは Debian GNU/Linux の woody で
・二台のルータも Debian で構築し、 dhcp-relay パッケージを
導入することで容易に dhcp をリレーしてくれるルータが
構築できました。
これらによって二つのサブネットを持つネットワークを模して
Windows の dhcp client を入れ替えました。
本筋である dhcp サーバの設定に入るまでに実験環境構築では
実質 4 時間程度と大変早くできましたので、 Debian ならではの
部分が生かされたと思います。
以前は Slackware を使っていたので、本筋に入る前にエラく苦労したので
Debian での環境は大変ありがたいと思っています。
あとはいつか google が拾ってくれるとかで同じことで困った人に
再利用されれば、サマリを書いた者としては満足です。
以上ですが、お叱り、ご意見、ご感想、ツッコミ歓迎です。
--
SHIBATA Akira ケーブルテレビはまちづくり
shibata@xxxxxxxxxxxxxx phone : +81-429-74-3611
In message <20030903112013.D687D17BAAE@arashi.debian.or.jp>
"[debian-users:38120] <Q> How to make a dhcp server for two subnets?"
"Wed, 3 Sep 2003 20:20:15 +0900"
"SHIBATA Akira <shibata@xxxxxxxxxxxxxx>" wrote:
> 柴田(あ)です。
>
> ■設定ついて
> 二つのサブネット向けの dhcp サーバの設定でたいへん困っております。
> チェック漏れ等ご指摘いただければ幸いに思います。
> Debian specific か悩んだのですが、 Debian のパッケージの
> 説明を読んでも ISC の DHCP サーバかわからなかったのですが、
> 読んでいくとどうもそのようだし、どこかでそう読んだような
> きがしますが、 man を読むと ISC の設定構文と同じなので ISC の
> DHCP サーバと同じ挙動をするつもりで設定しています。
>
>
> ■質問
> <Q>
> 二つのサブネットに向けて dhcp で IP アドレスを振りたいです。
> どのようにしたらよいでしょうか?
> </Q>
>
>
> ■困っていること
> 下記ネットワーク図で dhcp client A には希望通り 172.18.200.1 のような
> アドレス(希望通り)が振られるのですが、 dhcp client B にも 172.18.200.1 の
> ようなアドレス(希望とは違う)が振られてしまって困っています。
> 希望としては dhcp client B には 172.20.100.1 のようなアドレスになって
> 欲しいと設定をしてるつもりです。
>
>
> ■現状
> ●ディストリビューションとパッケージバージョン
> Debian GNU/Linux 3.0 Woody
> $ dpkg -l | grep dhcp
> ii dhcp 2.0pl5-11 DHCP server for automatic IP address assignm
>
>
> ●実験ネットワーク構造
> dhcp server
> | 172.16.241.11
> |
> +------------------------------+
> | 172.16.240.1/16 | 172.16.240.2/16
> router1 router2
> | 172.18.0.1/16 | 172.20.0.1/16
> | |
> dhcp client A dhcp client B
>
> router1 router2 ともに debian で構築したルータで
> dhcp-relay パッケージにてリレーしておりますので
> dhcp サーバからクライアントは情報をもらっています。
>
> ● dhcp サーバの設定
> (登録していない MAC アドレスには dns の情報を
> あげないようにしています)
> shibata@debian:~$ cat /etc/dhcpd.conf
> default-lease-time 60;
> max-lease-time 72;
> option subnet-mask 255.255.0.0;
> option domain-name-servers 127.0.0.1;
> option domain-name "intra.hoge.jp";
>
> host 1 {
> hardware ethernet 00:e0:98:77:41:56 ;
> option domain-name-servers 172.16.241.10 ;
> }
> shared-network CM {
> subnet 172.16.0.0 netmask 255.255.0.0 {
> }
> subnet 172.18.0.0 netmask 255.255.0.0 {
> range 172.18.200.0 172.18.220.254;
> option broadcast-address 172.18.255.255;
> option routers 172.18.0.1;
> }
> subnet 172.20.0.0 netmask 255.255.0.0 {
> range 172.20.100.0 172.20.120.254;
> option broadcast-address 172.20.255.255;
> option routers 172.20.0.1;
> }
> }
>
> ● dhcp サーバのルーティング情報
> shibata@debian:~$ netstat -r
> Kernel IP routing table
> Destination Gateway Genmask Flags MSS Window irtt Iface
> 172.18.0.0 172.16.240.1 255.255.0.0 UG 40 0 0 eth0
> 172.16.0.0 * 255.255.0.0 U 40 0 0 eth0
> 172.20.0.0 172.16.240.2 255.255.0.0 UG 40 0 0 eth0
> default 172.16.0.2 0.0.0.0 UG 40 0 0 eth0
>
>
> ● /var/lib/dhcp/dhcpd.leases の様子
> (途中で NIC を変えてみたりしました。)
> shibata@debian:~$ sudo cat /var/lib/dhcp/dhcpd.leases
> # All times in this file are in UTC (GMT), not your local timezone. This is
> −略−
> lease 172.18.200.0 {
> starts 3 2003/09/03 09:47:04;
> ends 3 2003/09/03 09:48:04;
> hardware ethernet 00:e0:98:77:41:56;
> uid 01:00:e0:98:77:41:56;
> client-hostname "pc-shibata";
> }
> lease 172.18.200.0 {
> starts 3 2003/09/03 09:47:04;
> −略−
> uid 01:00:90:fe:56:c5:e0;
> client-hostname "pc-shibata";
> }
> lease 172.18.200.1 {
> starts 3 2003/09/03 10:02:48;
> ends 3 2003/09/03 10:03:48;
> hardware ethernet 00:90:fe:56:c5:e0;
> uid 01:00:90:fe:56:c5:e0;
> client-hostname "pc-shibata";
> }
> lease 172.18.200.1 {
> starts 3 2003/09/03 10:02:48;
> ends 3 2003/09/03 10:03:48;
> hardware ethernet 00:90:fe:56:c5:e0;
> uid 01:00:90:fe:56:c5:e0;
> client-hostname "pc-shibata";
> }
>
> ● /var/log/daemon.log の様子
> 多分正常動作してます
> ↓
> Sep 3 18:57:57 debian dhcpd-2.2.x: DHCPREQUEST for 172.18.200.1 from 00:90:fe:56:c5:e0 via eth0
> Sep 3 18:57:57 debian dhcpd-2.2.x: DHCPACK on 172.18.200.1 to 00:90:fe:56:c5:e0 via eth0
> Sep 3 18:57:57 debian dhcpd-2.2.x: DHCPREQUEST for 172.18.200.1 from 00:90:fe:56:c5:e0 via 172.16.240.1
> Sep 3 18:57:57 debian dhcpd-2.2.x: DHCPACK on 172.18.200.1 to 00:90:fe:56:c5:e0 via 172.16.240.1
> Sep 3 18:57:57 debian dhcpd-2.2.x: DHCPREQUEST for 172.18.200.1 from 00:90:fe:56:c5:e0 via 172.18.0.1
> Sep 3 18:57:57 debian dhcpd-2.2.x: DHCPACK on 172.18.200.1 to 00:90:fe:56:c5:e0 via 172.18.0.1
> 差替え
> Sep 3 18:59:47 debian dhcpd-2.2.x: DHCPDISCOVER from 00:90:fe:56:c5:e0 via 172.20.0.1
> Sep 3 18:59:48 debian dhcpd-2.2.x: DHCPOFFER on 172.18.200.1 to 00:90:fe:56:c5:e0 via 172.20.0.1
> Sep 3 18:59:48 debian dhcpd-2.2.x: DHCPREQUEST for 172.18.200.1 from 00:90:fe:56:c5:e0 via 172.20.0.1
> Sep 3 18:59:48 debian dhcpd-2.2.x: DHCPACK on 172.18.200.1 to 00:90:fe:56:c5:e0 via 172.20.0.1
> ↑
> 多分正常動作してない 172.20.0.0/16 の中なのに 172.18.200.1 が振られている
>
> ここで正常動作すると思われるサブネットへと NIC を差替えしました。
>
> 多分正常動作してます
> ↓
> Sep 3 19:00:18 debian dhcpd-2.2.x: DHCPREQUEST for 172.18.200.1 from 00:90:fe:56:c5:e0 via eth0
> Sep 3 19:00:18 debian dhcpd-2.2.x: DHCPACK on 172.18.200.1 to 00:90:fe:56:c5:e0 via eth0
> Sep 3 19:00:18 debian dhcpd-2.2.x: DHCPREQUEST for 172.18.200.1 from 00:90:fe:56:c5:e0 via 172.16.240.1
> Sep 3 19:00:18 debian dhcpd-2.2.x: DHCPACK on 172.18.200.1 to 00:90:fe:56:c5:e0 via 172.16.240.1
> Sep 3 19:00:18 debian dhcpd-2.2.x: DHCPREQUEST for 172.18.200.1 from 00:90:fe:56:c5:e0 via 172.18.0.1
> Sep 3 19:00:18 debian dhcpd-2.2.x: DHCPACK on 172.18.200.1 to 00:90:fe:56:c5:e0 via 172.18.0.1
> Sep 3 19:00:48 debian dhcpd-2.2.x: DHCPREQUEST for 172.18.200.1 from 00:90:fe:56:c5:e0 via eth0
> Sep 3 19:00:48 debian dhcpd-2.2.x: DHCPACK on 172.18.200.1 to 00:90:fe:56:c5:e0 via eth0
> Sep 3 19:00:48 debian dhcpd-2.2.x: DHCPREQUEST for 172.18.200.1 from 00:90:fe:56:c5:e0 via 172.16.240.1
> Sep 3 19:00:48 debian dhcpd-2.2.x: DHCPACK on 172.18.200.1 to 00:90:fe:56:c5:e0 via 172.16.240.1
> Sep 3 19:00:48 debian dhcpd-2.2.x: DHCPREQUEST for 172.18.200.1 from 00:90:fe:56:c5:e0 via 172.18.0.1
> Sep 3 19:00:48 debian dhcpd-2.2.x: DHCPACK on 172.18.200.1 to 00:90:fe:56:c5:e0 via 172.18.0.1
>
> ■参考情報:ルータ用 Debian マシンの dhcp リレーについて
> ●起動スクリプト
> shibata@fuga:~$ cat /etc/init.d/dhcp-relay
> #!/bin/sh
> #
> # $Id: dhcp-relay.init.d,v 1.1.1.1.2.1 2002/02/11 03:44:26 eparis Exp $
> #
>
> # Add all interfaces you want dhcpd to handle here
>
> test -x /usr/sbin/dhcrelay || exit 0
>
> DHCRELAYPID=/var/run/dhcrelay.pid
>
> case "$1" in
> start)
> start-stop-daemon --start --quiet --pidfile $DHCRELAYPID \
> --exec /usr/sbin/dhcrelay -- -q -i eth0 -i eth1 172.16.241.11
> ;;
> stop)
> start-stop-daemon --stop --quiet --pidfile $DHCRELAYPID
> ;;
> restart)
> start-stop-daemon --stop --quiet --pidfile $DHCRELAYPID
> sleep 2
> start-stop-daemon --start --quiet --pidfile $DHCRELAYPID \
> --exec /usr/sbin/dhcrelay -- -q -i eth0 172.16.241.11
> ;;
> *)
> echo "Usage: /etc/init.d/dhcp-relay {start|stop|restart}"
> exit 1
> esac
>
> exit 0
>
> ●動作状況
> shibata@proxy001:~$ ps ax
> PID TTY STAT TIME COMMAND
> 1 ? S 0:03 init [2]
> 2 ? SW 0:00 [keventd]
> −略−
> 195 tty6 S 0:00 /sbin/getty 38400 tty6
> 537 ? S 0:00 /usr/sbin/dhcrelay-2.2.x -q -i eth0 -i eth1 172.16.241.11
> 547 ? S 0:00 /usr/sbin/sshd
> 549 ? S 0:00 /usr/sbin/sshd
> 550 pts/0 S 0:00 -bash
> 552 pts/0 R 0:00 ps ax
>
> shibata@fuga:~$ ps ax
> PID TTY STAT TIME COMMAND
> 1 ? S 0:04 init [2]
> 2 ? SW 0:00 [keventd]
> −略−
> 204 tty5 S 0:00 /sbin/getty 38400 tty5
> 205 tty6 S 0:00 /sbin/getty 38400 tty6
> 223 ? S 0:00 /usr/sbin/dhcrelay-2.2.x -q -i eth0 -i eth1 172.16.241.11
> 1515 ? S 0:00 /usr/sbin/sshd
> 1517 ? R 0:00 [sshd]
> 1518 pts/0 S 0:00 -bash
> 1522 pts/0 R 0:00 ps ax
>
>
> ●参考にした URL
> http://www.matsusaka-u.ac.jp/~okumura/networking/dhcp.html
> http://www.a-yu.com/net/net_dhcp.html
> http://www.linux.or.jp/JM/html/dhcp2/man5/dhcpd.conf.5.html
> http://www.wakhok.ac.jp/netadmin/node290.html
> http://homepage1.nifty.com/Que/plamo/dhcpd/
>
>
>
> --
> SHIBATA Akira ケーブルテレビはまちづくり
> shibata@xxxxxxxxxxxxxx phone : +81-429-74-3611
>
>
>