HOME / 日記 / Solaris11にdhcpサーバ(dhcpd)をインストールする

Date: 2011/11/16 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris11, dhcpd

Solaris11にdhcpサーバ(dhcpd)をインストールする

ご家庭サーバを作る際に、必要なdnsをやったので、次はdhcpサーバをやってみます。これだけやれば、defaultgatewayをルータにしておいて、ルータビルトインのdns/dhcpを無効にできると思います。

Solaris11には、dhcpdは2つ入っています。

pkg list -a | grep dhcp                                                
network/dhcp/dhcpmgr                              0.5.11-0.175.0.0.0.2.0     i--
network/dhcp/dhcpmgr/locale                       0.5.11-0.175.0.0.0.2.765   ---
service/network/dhcp                              0.5.11-0.175.0.0.0.2.0     i--
service/network/dhcp/isc-dhcp                     4.1-0.175.0.0.0.2.530      i--

service/network/dhcpが、Solarisに元々あったdhcpdです。

このdhcpサーバはGUIとCLIで設定ができるのが特徴ですが、設定ファイルを書くのではなく、コマンドで制御できるので、設定ミスによってdhcpdが落ちてしまったりすることを防げるメリットもあります。

isc-dhcpdをつかってもいいのですが、それは至る所に説明があるとおもうので、こっちを使ってみましょう。GUIは設定するまでもないので、CLIでの設定を記述します。

インストール

sudo pkg install -v pkg:/service/network/dhcp 

設定

manは、下記のように見ることができます。

man -s 4 dhcpsvc.conf

初期化はコマンドで行います。-Dでconfigure、-rはdatastore形式、-pはPATHを設定します。datastoreにSUNWfiles形式を選べば、設定ファイルが/var/dhcp以下に保存されます。技術的には、dhcpdをdisableし、このファイルを勝手に書き換えてenableすれば設定は読み込まれますが、基本はdhcpconfigをつかうように。

sudo /usr/sbin/dhcpconfig -D -r SUNWfiles -p /var/dhcp

dhcpリクエストを受け取るINTERFACESの設定、-Pで設定します。

sudo /usr/sbin/dhcpconfig -P INTERFACES=net0

基本的なネットワーク設定。-Nは、ネットワーク、-mはネットマスク、-tは、デフォルトルータですね。

sudo /usr/sbin/dhcpconfig -N 192.168.10.0 -m 255.255.255.0 -t 192.168.10.254

ICMP_VERIFYを有効にします。これは好き好きですね。

sudo /usr/sbin/dhcpconfig -P ICMP_VERIFY=TRUE

とりあえず、ログをたくさんもらっておく。これも好き好きですね。

sudo /usr/sbin/dhcpconfig -P VERBOSE=TRUE
sudo /usr/sbin/dhcpconfig -P LOGGING_FACILITY=0

DHCPのリース条件に名前をつけます。ここではHOMEDHCPという名前にしています。ここからさきは、dhtadmを利用します。

何が配れるかは、/etc/dhcp/initabを参照してください。

sudo dhtadm -A -m HOMEDHCP -d ':LeaseNeg : Timeserv=192.168.10.1 : NTPservs=192.168.10.1 : Router=192.168.10.254 : DNSserv=192.168.10.1 : DNSdmain=ドメイン名 : IRCservs=192.168.10.11 : WWWservs=192.168.10.5 : Logserv=192.168.1.3:' -g

:区切りは、デザインの都合上、スペースを入れていますが、実際には連続して書いてください。

値を変更するには次のように行います。

sudo dhtadm -M -m HOMEDHCP -d '〜〜〜' -g

設定値の一覧を取ります。

sudo dhtadm -P  

サーバ再起動方法。

sudo /usr/sbin/dhcpconfig -S -e

ただ、流儀的にはdhcp-serverをrefreshかrestartするのがいいのではないでしょうか?

svcs -a | grep dhcp
disabled       10月_29 svc:/network/dhcp/server:ipv4
disabled       10月_29 svc:/network/dhcp/server:ipv6
disabled       10月_29 svc:/network/dhcp/relay:ipv4
disabled       10月_29 svc:/network/dhcp/relay:ipv6
online         11月_06 svc:/network/dhcp-server:default
sudo svcadm refresh svc:/network/dhcp-server:default

クライアントの予約IPアドレスを用意

予約のためのIPプールはpntadmで設定します。

このようにやると、192.168.10.51をリースアドレスにすることができます。

sudo pntadm -A 192.168.10.51 -m HOMEDHCP 192.168.1.0

pntadmは複数の範囲設定できなそうなので、シェルの機能を使ってこんな風に設定します。これはzshの例です。かんたん :D

echo 192.168.10.{51..100} | xargs -n1 | sudo xargs -i pntadm -A \{\} -m HOMEDHCP 192.168.10.0 

MACアドレスで固定値を与えることも簡単にできます。-iの値はMACアドレスですが、全て大文字でコロン抜きにし、最初に01をつける必要がアリアス。

たとえば、こんな感じ・・・・*は、適当に。

sudo pntadm -A 192.168.10.35 -i 015C********** -s 192.168.10.1 -m HOMEDHCP 192.168.10.0
sudo pntadm -A 192.168.10.36 -i 015855******** -s 192.168.10.1 -m HOMEDHCP 192.168.10.0
sudo pntadm -A 192.168.10.37 -i 010*********** -s 192.168.10.1 -m HOMEDHCP 192.168.10.0

修正はこんな感じ

sudo pntadm -M 192.168.10.35 -i 015C********** -s 192.168.10.1 -m HOMEDHCP 192.168.10.0

削除はこんな感じ

sudo pntadm -D 192.168.10.35

プールの一覧は、これで取得ができます。

sudo pntadm -P 192.168.10.0 

設定は直ちに反映されます。

参考)DHCPのUncondigure

sudo /usr/sbin/dhcpconfig -U
sudo rm /var/dhcp/* 

これで、完全にいなくなります。

かんたんでしょ?

なお、dhcpmgrを叩くと、GUIでの設定ができます。。X系がいるので、ssh -Xなどではいったりしてみるのもありかと。


Solaris11にdhcpサーバ(dhcpd)をインストールする

  • 記事が0件です

日記

Recent Updates