CentOS 7でDHCPサーバーを構築する(基本的なやつ)

会社のネットワークで(個人的に使ってるとこ)DHCP使いたくて、CentOS 7で構築したので、メモを。

もちろん、もっとセキュアに!とか、もっと細やかな設定をしなきゃダメだよ!というお叱りはあると思うけど、とりあえず僕の環境では

 

・接続したマシンに適当なIPv4のアドレスを振ってほしい

 

というだけなのでこの程度でいいかな、と。

 

それに、アドレスが自動で振れてしまえばその先はさらなるカスタマイズをしていけばいいだけだと思うのです。何事もまずは基礎から。

 

さて、手順に入る前に、準備から。

ネットではyumを使う方法はたくさん書いてあるんだけど、会社のプライベート試験環境なのでネットへの接続は許されていない。

そこで今回は、インストールDVDに入っているrpmを使うことにする。

なので、DVDはもしかするとフルイメージのやつをダウンロードしないとダメかも。

 

イメージをダウンロードして、ディスクに焼いてドライブに入れるなど、マシンにマウントしたら手順開始。

 

 DHCP構築手順

  1. CentOS をインストールする。
    GUIなんて軟弱なものはインストールしないので、なんとなく、ネットワークインフラとして使う場合の最小オプションを選択しておく。


  2. インストール中、ネットワーク設定が出てくるが、適切に行う。
    二つ目のネットワークのゲートウェイとして使いたい!とかいろいろあると思うけど、ちゃんとした知識ある人はこんなところ見てないと思うので、ひとまず僕の場合の設定(プライベート)を記す。

    IPv4設定
    IP : 192.168.0.1
    サブネットマスク : 255.255.128.0
    ゲートウェイ : 192.168.0.1 (DHCPゲートウェイは同じにすることにする)


  3. インストールが無事に完了したら、CentOS に管理者ログイン


  4. /media に /dvd とか /cdrom とか、それっぽいディレクトリがなければディレクトリを作成する (以下、コマンド例)

    [hogehoge]# cd /media
    [hogehoge]# mkdir dvd

    この先はとりあえず、ディレクトリを「dvd」という名前で作成したものとして話を進める


  5. インストールに使ったDVDを /media/dvd にマウント
    [hogehoge]# mount /dev/cdrom /media/dvd
     →あたりまえだけど、read-onlyだよ、というメッセージが表示される。


  6. DHCPのインストールパッケージがある場所に移動
    [hogehoge] # cd /media/dvd/Packages


  7. DHCPパッケージをrpmでインストー
    [hogehoge]# rpm -ihv dhcp-4.2.5-42.el7.centos.x86_64.rpm

     →DHCPのバージョンはパッケージによって違うかも。そんときは

      [hogehoge]# ls dhcp*

     とかってやって調べてみて


  8. /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 {
        range 192.168.0.200 192.168.0.250;
        option routers 192.168.0.1;
        option domain-name-servers 192.168.0.1;
    }

    各行注意点と説明
     1行目 : サブネットと、サブネットマスクを指定。サブネット・ネットマスクが矛盾しないように注意
     2行目 : DHCPで自動割り当てしたいIPアドレスの範囲だが、サブネット範囲と矛盾しないように
     3行目 : routersとありますが、要はデフォルトゲートウェイです。
     4行目 : DNSのアドレスです。 ←当然と言えば当然ですが、DNS使わないなら指定しなくて大丈夫です (2017/5/23 修正)

     ※読んで字のごとく、3行目と4行目はオプションです。


  9. DHCPを起動する
    [hogehoge]# systemctl start dhcpd

    ここで何かしらのエラーメッセージが表示される場合、大体はdhcpd.confの設定がおかしい。行末のセミコロンが抜けてない?サブネットの設定はちゃんとあってる?などなどチェックしてみましょう。
    [hogehoge]# systemctl status dhcpd
    又は
    [hogehoge]# journalctl -xe
    で何が起きているのか確認できるので、確認してみるのも吉。


  10. システム起動時にDHCPが立ち上がるようにする
    [hogehoge]# systemctl enable dhcpd

 

 

以上、終了。

既に有効になってると思うけど、一応再起動しておくのがこういう時のコンピューターに対する最低限の礼儀。

 

 

一部、こちらの記事を参考にさせていただきました。ありがとうございます。

DHCPサーバー構築(dhcp) - CentOSで自宅サーバー構築

 

 

2017/05/17 追記

DHCPで割り当てられたアドレスを確認するためには、

/var/lib/dhcpd/

にある

dhcpd.leases

を表示すればよい。

 

2017/05/23 追記

DNSについて、そもそもDNSなんて使ってないからいらないということで、削除。

DHCPDが立ち上がらないときの状況確認コマンドを追記。