web-dev-qa-db-ja.com

dhcpdでMACアドレスによってIPを割り当てる方法

Dhcpdを使用してMACアドレスに固有のIPアドレスを割り当てるにはどうすればよいですか?

これまで私は試しました

Host blah { hardware ethernet <mac address>; fixed-address <ip address>;}

私のdhcpd.confで。しかし、dhcpdと問題のMACアドレスを持つマシンを再起動した後、再びランダムなIPを取得しました。

9
adampolar

これは完全に素晴らしいフォーマットです-私はまったく同じものを使用しています。 (さらに)行末にコメントを追加するだけです。これは動作中の抜粋ですdhcpd.conf

Host wrt45gl-etika  { hardware ethernet 00:21:29:a1:c3:a1; fixed-address ---.219.43.135; } # MSIE routeris WRT54GL

@Christophが言及しているように、IPの割り当て方法に影響を与えたり、IPを上書きしたりするグローバルオプションが宣言されている(またはサービスのデフォルトが使用されている)可能性があります。

dhcp3-server(v3)からisc-dhcp-server(v4)への移行中に、いくつかの必須オプションを追加し、いくつかの宣言を書き直す必要がありました。しかし、設定ファイルの構造は単純なままでした:

#
# Sample configuration file for ISC dhcpd for Debian
#

# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)

ddns-update-style none;

# option definitions common to all supported networks...

option domain-name "mf.vu.---";
option domain-name-servers ---.219.80.11, ---.219.80.2, ---.171.22.22;

default-lease-time 2678400;
max-lease-time 2678400;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.

authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).

log-facility local7;


# The subnet that shares this physical network

shared-network TOTAL_MF {
 server-name "letta.mf.vu.--";

 subnet ---.219.43.128 netmask 255.255.255.192 {
  option routers ---.219.43.190;
  option broadcast-address ---.219.43.191;

  group {
    Host wrt45gl-etika  { hardware ethernet 00:21:29:a1:c3:a1; fixed-address ---.219.43.135; } # MSIE routeris WRT54GL
    # ...
    Host saulute        { hardware ethernet 00:21:28:10:f4:16; fixed-address ---.219.43.189;  } # Virtual Qemu PC NIC
  }
 }

 subnet 172.16.43.128 netmask 255.255.255.192 {
  option routers 172.16.43.129;
  option broadcast-address 172.16.43.191;

  group{
    Host ligo           { hardware ethernet 08:00:20:7A:E2:70; fixed-address 172.16.43.179;   } #a225 ligo
    # ...
    Host vumfsa2        { hardware ethernet 00:80:48:8d:12:f0; fixed-address 172.16.43.140;   } # 118
  }
 }
}

そこでは、poolrange宣言を使用しませんでした。サブネット宣言は2つしかありません(1つはその後に続きます)。

ここで、ここで宣言されている(MACに関連付けられている)ホストにランダムIPが割り当てられていません。

7
saulius2

dhcpd.confのマニュアルページには明示的な言及はありません(そして、今は試すことができません)が、私は常に1行に1つのステートメントしか許可されていないと想定していました。

Host blah { 
    hardware ethernet <mac address>; 
    fixed-address <ip address>;
}
2
Sven

Dhcpd.confはわかりませんが、allow unknown-clientsステートメントがある場合は、allow known-clientsを追加する必要があります。

私が正しく思い出せば、固定IPはDHCPサーバーがクライアントに渡す範囲内にないはずです。

ホストが同じDHCPサーバーからの古いアドレスを持っている場合、サーバーは古いリースが有効である限り、つまりリース時間が期限切れになっていない限り、それを渡すことができます。

より多くの設定を提供できれば、それは役に立ちます。

2
Christoph