#author("2019-11-13T17:07:22+00:00","default:sysosa","sysosa") CentOS7でdhcpサーバを動かしている。 #code(nonumber){{ [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 }} ***DHCPで経路情報を定義できる? [#obf6b5b2] default gatewayへの経路情報は当然定義できるが、追加で付けたい経路情報は定義できるのか? 下図のようなネットワーク構成において、c101がc102へアクセスするには追加の経路情報が必要となる。 マシン個別に route add ... とするのもいいが、どうやら dhcpd.conf にて定義ができるようで、試してみた。 &ref(2016y04m26d_083110750.png,nolink,noborder); #code(nonumber){{ [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マシンにて確認してみると #code(nonumber){{ [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を実施すると、 &ref(2016y04m26d_101000234.png,nolink); とこちらも正しく反映された。 ***DHCPの設定だけでCentOSのネットワーク設定は完了する? [#ed2a540b] 確かめてみた。dhcpd.confにOS未インストールマシンのMACアドレスと指定したいIPアドレス・ホスト名を記載した #code(nonumber){{ [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をインストールしてみる。 すると、当然ながらネットワーク関係はすんなりと反映され &ref(2016y02m11d_091937694.png,nolink); ホスト名も「&color(red){option host-name};」にて指定された値が反映される &ref(2016y02m11d_100001869.png,nolink); DNSの逆引きが存在していれば、IPアドレスからホスト名が代入されるが、dhcpd.confからの指定もできるようだ。 DNSの逆引きがなく、DHCPからのホスト名指定もなければ「localhost.localdomain」が定義される &color(red){*};&size(10){っと言ってもDNSを正しく整備するのが筋でしょうけど}; ***linuxでdhcp再取得は? [#y39528a7] windowsで言うところのipアドレスの解放は 「dhclient -r」 その後にipアドレスを取得するには 「dhclinet」 を行う