会社のネットワークで(個人的に使ってるとこ)DHCP使いたくて、CentOS 7で構築したので、メモを。
もちろん、もっとセキュアに!とか、もっと細やかな設定をしなきゃダメだよ!というお叱りはあると思うけど、とりあえず僕の環境では
・接続したマシンに適当なIPv4のアドレスを振ってほしい
というだけなのでこの程度でいいかな、と。
それに、アドレスが自動で振れてしまえばその先はさらなるカスタマイズをしていけばいいだけだと思うのです。何事もまずは基礎から。
さて、手順に入る前に、準備から。
ネットではyumを使う方法はたくさん書いてあるんだけど、会社のプライベート試験環境なのでネットへの接続は許されていない。
そこで今回は、インストールDVDに入っているrpmを使うことにする。
なので、DVDはもしかするとフルイメージのやつをダウンロードしないとダメかも。
イメージをダウンロードして、ディスクに焼いてドライブに入れるなど、マシンにマウントしたら手順開始。
DHCP構築手順
- CentOS をインストールする。
GUIなんて軟弱なものはインストールしないので、なんとなく、ネットワークインフラとして使う場合の最小オプションを選択しておく。 - インストール中、ネットワーク設定が出てくるが、適切に行う。
二つ目のネットワークのゲートウェイとして使いたい!とかいろいろあると思うけど、ちゃんとした知識ある人はこんなところ見てないと思うので、ひとまず僕の場合の設定(プライベート)を記す。
IPv4設定
IP : 192.168.0.1
サブネットマスク : 255.255.128.0
ゲートウェイ : 192.168.0.1 (DHCPとゲートウェイは同じにすることにする) - インストールが無事に完了したら、CentOS に管理者ログイン
- /media に /dvd とか /cdrom とか、それっぽいディレクトリがなければディレクトリを作成する (以下、コマンド例)
[hogehoge]# cd /media
この先はとりあえず、ディレクトリを「dvd」という名前で作成したものとして話を進める
[hogehoge]# mkdir dvd -
インストールに使ったDVDを /media/dvd にマウント
[hogehoge]# mount /dev/cdrom /media/dvd
→あたりまえだけど、read-onlyだよ、というメッセージが表示される。 - DHCPのインストールパッケージがある場所に移動
[hogehoge] # cd /media/dvd/Packages - DHCPパッケージをrpmでインストール
[hogehoge]# rpm -ihv dhcp-4.2.5-42.el7.centos.x86_64.rpm
→DHCPのバージョンはパッケージによって違うかも。そんときは
[hogehoge]# ls dhcp*
とかってやって調べてみて - /etc/dhcp/dhcpd.conf を編集
僕はプライベートアドレス空間でDHCPしたかったので、こんな感じ。
設定内容としては、192.168.0.0〜192.168.127.255までの間のネットワークセグメントで、192.168.0.200〜192.168.0.250という51台文、DHCPとして使う、という設定。
行末のセミコロンは忘れがちなので注意。
subnet 192.168.0.0 netmask 255.255.128.0 {
1行目 : サブネットと、サブネットマスクを指定。サブネット・ネットマスクが矛盾しないように注意
range 192.168.0.200 192.168.0.250;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
}
各行注意点と説明
2行目 : DHCPで自動割り当てしたいIPアドレスの範囲だが、サブネット範囲と矛盾しないように
3行目 : routersとありますが、要はデフォルトゲートウェイです。
4行目 : DNSのアドレスです。 ←当然と言えば当然ですが、DNS使わないなら指定しなくて大丈夫です (2017/5/23 修正)
※読んで字のごとく、3行目と4行目はオプションです。 - DHCPを起動する
[hogehoge]# systemctl start dhcpd
ここで何かしらのエラーメッセージが表示される場合、大体はdhcpd.confの設定がおかしい。行末のセミコロンが抜けてない?サブネットの設定はちゃんとあってる?などなどチェックしてみましょう。
[hogehoge]# systemctl status dhcpd
又は
[hogehoge]# journalctl -xe
で何が起きているのか確認できるので、確認してみるのも吉。 - システム起動時にDHCPが立ち上がるようにする
[hogehoge]# systemctl enable dhcpd
以上、終了。
既に有効になってると思うけど、一応再起動しておくのがこういう時のコンピューターに対する最低限の礼儀。
一部、こちらの記事を参考にさせていただきました。ありがとうございます。
DHCPサーバー構築(dhcp) - CentOSで自宅サーバー構築
2017/05/17 追記
DHCPで割り当てられたアドレスを確認するためには、
/var/lib/dhcpd/
にある
dhcpd.leases
を表示すればよい。
2017/05/23 追記
DNSについて、そもそもDNSなんて使ってないからいらないということで、削除。
DHCPDが立ち上がらないときの状況確認コマンドを追記。