DHCPの設定
DHCPとは
DHCPとは化粧品のメーカーではなく(それはDHC)、ネットワーク内で他と重複する事のないユニークなIPアドレスを自動的に発行してくれるサーバーの事です。IPアドレスは、ローカルエリアではそのLAN内で、また、グローバルアドレスでは、世界で中で他とバッティングする事のない、ユニークなIPアドレスが必要となります。
グローバルアドレスは、プロバイダーから与えられたアドレスを、サーバー機1台1台に固定で割り当てれば良いでしょう。しかし、LAN内のパソコンで、いちいち誰がどのIPアドレスを使うのかを、固定しなければならないのは、非常に不便です。とくに、中規模~大規模の社内で、ローカルアドレスを固定しようとすると、新人が増えたり、人がやめたり、新しいパソコンを設置したり、また、普段は外出が多い社員がノートパソコンをつないだり、とにかく、そのつど他とバッティングしないIPアドレスを割り振る必要があります。
もし、それをネットワーク管理者が管理していたのでは大変です。今どのIPアドレスが空いているかどうか調べ、空いているIPアドレスを間違いなく与えなければなりません。そのために、部署ごとに桁をわけて、各デスクごと、あるいは、HUBのポートごとにIPアドレスを決めたりもしている所もあるようです。
ここでは、IPアドレスを自動的にルーター機に管理させるために、DCHPサーバーという機能をルーター機に導入します。
DHCPサーバーはIPアドレスを管理していて、端末から要求があると現在空いているIPアドレスを自動的に貸与します。このサーバーを起動させておけば、LAN内で(LANでなくても良いのですが)IPアドレスがバッティングする事を防ぐ事ができます。
市販のルーターを買えば、ほぼDHCPの機能はついてくるでしょう。しかし、ここではLinuxを使ってルーターを自作しますので、DHCPも自分でインストールして設定します。
グローバルアドレスは、プロバイダーから与えられたアドレスを、サーバー機1台1台に固定で割り当てれば良いでしょう。しかし、LAN内のパソコンで、いちいち誰がどのIPアドレスを使うのかを、固定しなければならないのは、非常に不便です。とくに、中規模~大規模の社内で、ローカルアドレスを固定しようとすると、新人が増えたり、人がやめたり、新しいパソコンを設置したり、また、普段は外出が多い社員がノートパソコンをつないだり、とにかく、そのつど他とバッティングしないIPアドレスを割り振る必要があります。
もし、それをネットワーク管理者が管理していたのでは大変です。今どのIPアドレスが空いているかどうか調べ、空いているIPアドレスを間違いなく与えなければなりません。そのために、部署ごとに桁をわけて、各デスクごと、あるいは、HUBのポートごとにIPアドレスを決めたりもしている所もあるようです。
ここでは、IPアドレスを自動的にルーター機に管理させるために、DCHPサーバーという機能をルーター機に導入します。
DHCPサーバーはIPアドレスを管理していて、端末から要求があると現在空いているIPアドレスを自動的に貸与します。このサーバーを起動させておけば、LAN内で(LANでなくても良いのですが)IPアドレスがバッティングする事を防ぐ事ができます。
市販のルーターを買えば、ほぼDHCPの機能はついてくるでしょう。しかし、ここではLinuxを使ってルーターを自作しますので、DHCPも自分でインストールして設定します。
DCHPのインストール
DHCPDはこの辺からソースを持ってきてコンパイルしても良いのですが、今回はRedHatのパッケージを使う事にします。
mount /mnt/cd-rom
cd /mnt/cd-rom/RedHat/RPMS
rpm -ivh dhcp-2.0pl5-8.i386.rpm
mount /mnt/cd-rom
cd /mnt/cd-rom/RedHat/RPMS
rpm -ivh dhcp-2.0pl5-8.i386.rpm
/etc/dhcpd.confファイルを作る
dchpサーバーを起動するために、設定ファイルを作成します。
/etc/dhcpd.conf
option domain-name "(自ドメイン名)"; option domain-name-servers (ネームサーバーのアドレス); shared-network ネットワーク名 { subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.254; option routers 192.168.0.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; } } |
※意味
192.168.0.0/255.255.255.0のネットワークに対して、192.168.0.100~192.168.0.254のアドレスを与える。
デフォルトのゲートウェイは、192.168.0.1ネットマスクは255.255.255.0ブロードキャストアドレスは192.168.0.255。
これは例です。ご自身のネットワークに合わせて設定を変更してください。複数のネットワークに対してDHCPサーバーを起動させたい時は、subne { } をその分だけ記述してください。
192.168.0.0/255.255.255.0のネットワークに対して、192.168.0.100~192.168.0.254のアドレスを与える。
デフォルトのゲートウェイは、192.168.0.1ネットマスクは255.255.255.0ブロードキャストアドレスは192.168.0.255。
これは例です。ご自身のネットワークに合わせて設定を変更してください。複数のネットワークに対してDHCPサーバーを起動させたい時は、subne { } をその分だけ記述してください。
空のファイルを作る
dhcpd.leasesという空のファイルを作っておきます。
touch /var/state/dhcp/dhcpd.leases
touch /var/state/dhcp/dhcpd.leases
dhcpdが起動するネットワークカードを指定する
WAN側にもDHCPが起動してしまうと、上位回線に迷惑がかかってしまいます。WAN側は動的IP契約ならばプロバイダ側にDHCPがあるでしょうし、固定IP契約だったとしても、こちらからプロバイダに対してDHCPを提供したりはしません。また、ローカルエリア同士を結ぶゲートサーバーに導入する場合、すべてのゲートサーバーでネットワークカード両方にDHCPを導入してしまうと、1つのネットワークに複数のDHCPが起動する事になってしまいます。
1つのネットワークに複数のDHCPが起動してはいけません。船頭多くして船山に登るというように、1つのネットワーク内にIPアドレスを管理するサーバーが複数あると、端末がIPアドレスを要求した際にたまたまつ先にながった方のDHCPからIPアドレスを取得してしまいます。例えるなら、会社にネットワーク管理者が2人いて、双方がお互いに連絡を取り合う事なく勝手にIPアドレスを貸し与えているような状態になり、社内の端末がユニークなIPアドレスになりません。
それなので、片側のLANカードに対してのみ、DHCPを起動するようにします。
/etc/sysconfig/dhcpd
1つのネットワークに複数のDHCPが起動してはいけません。船頭多くして船山に登るというように、1つのネットワーク内にIPアドレスを管理するサーバーが複数あると、端末がIPアドレスを要求した際にたまたまつ先にながった方のDHCPからIPアドレスを取得してしまいます。例えるなら、会社にネットワーク管理者が2人いて、双方がお互いに連絡を取り合う事なく勝手にIPアドレスを貸し与えているような状態になり、社内の端末がユニークなIPアドレスになりません。
それなので、片側のLANカードに対してのみ、DHCPを起動するようにします。
DHCPDARGS=eth1 |
デフォルトでは、DHCPDARGS= となっていますので、=の後にDHCPを使う側のNICのデバイス名を書いてください。この設定をしておかないと、DHCPDは双方のネットワークカードに対して起動を試み、subset宣言がないという旨のエラーを出力して起動しなくなってしまいます。
dhcpサーバーの起動
RedHat系(EnterpriseやCentOS)でRPMでインストールした場合は簡単です。起動スクリプト
/etc/rc.d/init.d/dhcpd start
で起動できます。
また、サーバー起動時にスタートするようにするために、
chkconfig dhcpd on
としておきます。
このページの先頭へ
/etc/rc.d/init.d/dhcpd start
で起動できます。
また、サーバー起動時にスタートするようにするために、
chkconfig dhcpd on
としておきます。
広告