インターフェイスの検出に失敗したため、isc-dhcp-server は起動しません。

インターフェイスの検出に失敗したため、isc-dhcp-server は起動しません。

BCM4313ワイヤレスカードにAPモードを設定しようとしています。

私の基本的なhostapd構成は次のとおりです。

interface=wlan0
driver=nl80211
ssid=test
hw_mode=b
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=1234567890
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

ネットワークが正常に設定され、ネットワークに接続できます。ただし、IP アドレスの取得中は接続プロセスが停止します。

したがって、私のdhcpd.confファイルは、次の挿入を含む基本ファイルとほぼ同じように見えます。

# option definitions common to all supported networks...
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;

#default-lease-time 600;
#max-lease-time 7200;
...
option broadcast-address 10.10.0.255;

subnet 10.10.0.0 netmask 255.255.255.0 {
        interface wlan0;
        range 10.10.0.2 10.10.0.16;
        option domain-name-servers 8.8.8.8, 8.8.4.4;
        option routers 10.10.0.1;
}

私のwlan0インターフェースが設定されました(私の考えでは)適切に:

wlan0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        inet 10.10.0.1  netmask 255.255.255.0  broadcast 10.10.0.255
        ether 55:28:cc:23:14:a6  txqueuelen 1000  (Ethernet)

/etc/default/isc-dhcp-server次の行がある場合:

DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
INTERFACESv4="wlan0"

結局、journalctl -xe私には次のような結果が出ました。

Jul 10 10:11:25 srv dhcpd[3296]: Wrote 0 leases to leases file.
Jul 10 10:11:25 srv dhcpd[3296]: 
Jul 10 10:11:25 srv dhcpd[3296]: No subnet declaration for wlan0 (no IPv4 addresses).
Jul 10 10:11:25 srv dhcpd[3296]: ** Ignoring requests on wlan0.  If this is not what
Jul 10 10:11:25 srv dhcpd[3296]:    you want, please write a subnet declaration
Jul 10 10:11:25 srv dhcpd[3296]:    in your dhcpd.conf file for the network segment
Jul 10 10:11:25 srv dhcpd[3296]:    to which interface wlan0 is attached. **
Jul 10 10:11:25 srv dhcpd[3296]: 
Jul 10 10:11:25 srv dhcpd[3296]: 
Jul 10 10:11:25 srv dhcpd[3296]: Not configured to listen on any interfaces!
Jul 10 10:11:25 srv dhcpd[3296]: 
Jul 10 10:11:25 srv dhcpd[3296]: If you think you have received this message due to a bug rather
Jul 10 10:11:25 srv dhcpd[3296]: than a configuration issue please read the section on submitting
Jul 10 10:11:25 srv dhcpd[3296]: bugs on either our web page at www.isc.org or in the README file
Jul 10 10:11:25 srv dhcpd[3296]: before submitting a bug.  These pages explain the proper
Jul 10 10:11:25 srv dhcpd[3296]: process and the information we find helpful for debugging..
Jul 10 10:11:25 srv dhcpd[3296]: 
Jul 10 10:11:25 srv dhcpd[3296]: exiting.
Jul 10 10:11:27 srv isc-dhcp-server[3283]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diagnostics. ... failed!
Jul 10 10:11:27 srv isc-dhcp-server[3283]:  failed!
Jul 10 10:11:27 srv systemd[1]: isc-dhcp-server.service: Control process exited, code=exited status=1
Jul 10 10:11:27 srv systemd[1]: Failed to start LSB: DHCP server.

これは私のものです/etc/network/interfaces

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
address 10.10.0.1
netmask 255.255.255.0

このsudo apt-get install -fコマンドを試しましたが、効果はありません。

私に似た質問をたくさん見ました(12サム)しかし、それらのどれも私の場合に合わなかった。 DHCPサーバーを正しく動作させるには?

答え1

isc-dhcp-serverそしてhostapd(debian sidで)私のために動作しますが、私もdhcpd.conf内部にshared-network定義option broadcast-addressがありますsubnet {...}

次のようにしてみてください。

shared-network net_wlan0 {
    subnet 10.10.0.0 netmask 255.255.255.0 {
        authoritative;
        range 10.10.0.2 10.10.0.16;
        option broadcast-address 10.10.0.255;
        option domain-name-servers 8.8.8.8, 8.8.4.4;
        option routers 10.10.0.1;
    }
}

私の中にも次があります/etc/default/isc-dhcp-server

INTERFACESv4="br0 br1 wlan0"

これにより、dhcpdにどのインターフェイスを受け取るかを通知し、そのパラメータを使用して実行することができます(コマンドラインの末尾にあるインターフェイスに注意してください)。

# ps h -o cmd -C dhcpd
/usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf br0 br1 wlan0

注:isc-dhcp-server以前のバージョンのパッケージではINTERFACES代わりに変数を使用していましたINTERFACESv4。この変更は今年2月に発生しました。によると、etckeeper私の最後の提出日は/etc/default/isc-dhcp-server2016年2月10日でした。


また、ローカルにキャッシュされたDNSリゾルバ(たとえば、unboundまたはdnsmasq他の多くのいずれか)を実行することをお勧めします。 GoogleのDNSサーバーをフォワーダとして指定しますが、私の考えではローカルキャッシュが不可欠です。このようなプロキシサーバーsquidもそれほど価値があります。ローカルNTPサーバーなので、ネットワーク上のすべてのコンピュータをまったく同じ時間に同期できます。


しかし、私はath9kUSB Wi-Fiカードを使用しており、dhcpdは2つの異なるネットワーク、eth0とeth1(実際には私のVMに対してbr0とbr1でブリッジされています)も提供していますが、これには違いはありません。

RTL 8192ベースのUSB NICを動作させることに大きな問題があり、最終的にあきらめてAR9271を購入しました。

0cf3:9271 Atheros Communications, Inc. AR9271 802.11n

両方のUSB Wi-Fiデバイスは、それぞれ約10〜15ドル(同じブランド、同じメーカー(TP-Link)、別のチップセット)で非常に安価であるため、8192を操作しようとするのに時間を費やす価値はありません(IMOは8192)ネットワークカードはジャンクすることができ、クライアントとして安定して動作しません。正常に動作し始め、接続を切断して中断します。再動作するには、削除して再挿入する必要があります。

答え2

ついに解決策を見つけました。たぶん、これらのステップのいくつかは重複するかもしれませんが、それは問題ではありません。ついに働く

  1. Wi-Fiがハードウェアでロックされている可能性があります。そうでないことを確認してください。
  2. ワイヤレスネットワークがダウンしている可能性があります。sudo ifconfig wlan0 up(または無線LANX他の場合)
  3. Macとホストの間にバインディングを追加します。結局、次のようになります。

subnet 10.10.0.0 netmask 255.255.255.0 {
        interface wlan0;
        range 10.10.0.2 10.10.0.16;
        option domain-name-servers 8.8.8.8, 8.8.4.4;
        option routers 10.10.0.1;
  host wlan0 {
        hardware ethernet 40:2c:f4:36:d4:16;
        fixed-address 10.10.0.1;
  }
}

答え3

エラーメッセージによると、「インタフェースwlan0が接続されているネットワークセグメントのdhcpd.confファイルにサブネット宣言を作成してください」

これはisc-dhcpdの既知の機能/制限です。 DHCP要求を受信するプライマリインターフェイスのネットワークブロック/サブネットを強制的に定義する必要があります。

インターフェイスのアドレスは10.10.0.1で、ネットマスクは255.255.255.0なので、次のものを最初のDHCPサブネットとして追加します。

subnet 10.10.0.0 netmask 255.255.255.0 {
  option routers 10.10.0.1
  option subnet-mask 255.255.255.0;
}

DHCPデーモンを再起動すると動作します。

関連情報