CentOS7でdhcpサーバを動かしている。
[root@c ~]# yum install dhcp
[root@c ~]#
[root@c ~]# vi /etc/dhcp/dhcpd.conf
option domain-name "sybyl.local";
option domain-name-servers 192.168.0.3, 192.168.0.1;
subnet 192.168.0.0 netmask 255.255.255.0 {
option domain-name-servers 192.168.0.3, 192.168.0.1;
option domain-name "sybyl.local";
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
default-lease-time 6000;
max-lease-time 72000;
range 192.168.0.128 192.168.0.160;
}
host c101 {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 192.168.0.101;
}
[root@c ~]#
[root@c ~]# systemctl start dhcpd
default gatewayへの経路情報は当然定義できるが、追加で付けたい経路情報は定義できるのか?
下図のようなネットワーク構成において、c101がc102へアクセスするには追加の経路情報が必要となる。
マシン個別に route add ... とするのもいいが、どうやら dhcpd.conf にて定義ができるようで、試してみた。
[root@c ~]# vi /etc/dhcp/dhcpd.conf
option domain-name "sybyl.local";
option domain-name-servers 192.168.0.3, 192.168.0.1;
option ms-classless-static-routes code 249 = array of integer 8; #windows向け
option rfc3442-classless-static-routes code 121 = array of integer 8; #それ以外向け
subnet 192.168.0.0 netmask 255.255.255.0 {
option domain-name-servers 192.168.0.3, 192.168.0.1;
option domain-name "sybyl.local";
option routers 192.168.0.1; # default gateway
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
default-lease-time 6000;
max-lease-time 72000;
option ms-classless-static-routes 24, 192, 168, 1, 192, 168, 0, 22 ; #192.168.1.0/24には192.168.0.22を経路に
option rfc3442-classless-static-routes 24, 192, 168, 1, 192, 168, 0, 22 ; # windows以外向け
range 192.168.0.128 192.168.0.160;
}
host c101 {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 192.168.0.101;
}
[root@c ~]#
[root@c ~]# systemctl start dhcpd
c101マシンにて確認してみると
[root@c101 ~]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 router.sybyl.lo 255.255.255.0 UG 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
default gw.sybyl.local 0.0.0.0 UG 0 0 0 eth0
[root@c101 ~]#
と大丈夫みたい。
次に、windowsマシン(192.168.0.47)にて ifconfig /renew で更新して、route printを実施すると、
とこちらも正しく反映された。
確かめてみた。dhcpd.confにOS未インストールマシンのMACアドレスと指定したいIPアドレス・ホスト名を記載した
[root@c ~]# vi /etc/dhcp/dhcpd.conf
(前略)
host c107 {
hardware ethernet 00:0c:29:28:76:05;
fixed-address 192.168.0.107;
option host-name "c107.sybyl.local";
}
[root@c ~]#
[root@c ~]# systemctl restart dhcpd
これでCentOSをインストールしてみる。
すると、当然ながらネットワーク関係はすんなりと反映され
ホスト名も「option host-name」にて指定された値が反映される
DNSの逆引きが存在していれば、IPアドレスからホスト名が代入されるが、dhcpd.confからの指定もできるようだ。
DNSの逆引きがなく、DHCPからのホスト名指定もなければ「localhost.localdomain」が定義される
*っと言ってもDNSを正しく整備するのが筋でしょうけど
windowsで言うところのipアドレスの解放は
「dhclient -r」
その後にipアドレスを取得するには
「dhclinet」
を行う