WindowsだとOpenDHCPServerだったけど
Ubuntuだとisc-dhcp-serverがデファクトスタンダード?
自分のPCと何かデバイスをつなげたりしてローカルなIPを振る時用のめも
なのでちゃちゃっと準備しちゃう
- パッケージをinstall
- 今から作るDHCPの設定を編集
- どのつなげてるLANで設定するかを編集
- (必要があれば)logファイルを分離して保存
- isc-dhcp-serverを再起動
こんな感じで終わる-!あとはlogを見ながらちゃんと振られるか確認するだけ.
1. パッケージをinstall
ubuntuならいつも通り
apt-get install isc-dhcp-server
以上!
2.今から作るDHCPの設定を編集
/etc/dhcp/dhcpd.confを編集します.
例えば今UbuntuのGUIでネットワークの設定を既にしてあって,自分のPCをわかりやすいように192.168.5.5に設定しているとする.
また、192.168.5.0のSubnetで255.255.255.0 (24)のNetmaskを設定することを想定.
新しくipを振る値は192.168.5.100~150にしたい時の設定が以下.
ゲートウェイとかdnsとかは設定しないものとするとシンプルに以下.
192.168.5.5が設定されているインターフェースのMACADDRESSをifconfigコマンドで探して
xx:xx:xx:xx:xx:xxで設定. このタイミングでインターフェースの名前をチェック.
subnet 192.168.5.0 netmask 255.255.255.0 { #←192.168.5.5にするとエラーなので注意 range 192.168.5.100 192.168.5.150; #ここに範囲を書く } host mypc { #ここはホスト名(mypc). $hostnameで出てくる名前 hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address 192.168.5.5; #ここは自分のPCのipアドレス }
3.どのつなげてるLANで設定するかを編集
明示的に示しておくためにどのLAN(ネットワークのインターフェース)でIPアドレスを振ってほしいかを指定しておきます.
/etc/default/isc-dhcp-serverファイルを編集します.
INTERFACESでifconfigで調べたネットワークインターフェースの名前を書き込んでおきます.
INTERFACES=”eth0″
4.(必要があれば)logファイルを分離して保存
最初なぜかipアドレスが振られないといった現象のデバッグをするときのためにもやっておくのが吉.面倒臭くないので…
デフォルトではrsyslogの雑多なログの中にisc-dhcp-serverのログも一緒に紛れ込んで出力される設定になっています.それを/var/log/dhcpd.logのように別ファイルに出してもらうようにします.
まず、/etc/dhcp/dhcpd.confに以下の記述があるかを確認します.これはlogを識別するときの目印になっています.
log-facility local7;
/etc/rsyslog.conf ないし /etc/rsyslog.d/50-default.confの中で2箇所編集します.
そのままではlocal7の識別が付いているログは全て*.*や*.noticeで吸い込まれたlogファイルに出力されます. それの行に以下のような記述を追記します.
*.* …. *.notice; local7.none; 出力ファイル名
また、今度はlocal7の内容を全て自分が指定したファイルに書き出すように指示します.
local7.* /var/log/dhcpd.log
これで準備完了.
設定を反映するためにrsyslogを再起動します.
sudo service rsyslog restart
5. isc-dhcp-serverを再起動
最後に変更をisc-dhcp-serverに反映します.
sudo systemctl enable isc-dhcp-server
sudo systemctl restart isc-dhcp-server