[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:38120] <Q> How to make a dhcp server for two subnets?
柴田(あ)です。
■設定ついて
二つのサブネット向けの 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