isc-dhcp-server не запускается из-за сбоя определения интерфейса

Думаю, это одна из самых глупых командных строк, которые я когда-либо придумал:

$ find . -type l -name "Math*" -print0 |
  xargs -0 -n 1 -IXXX find XXX/ -type f -name "*.tex" -print0 |
  xargs -0 fgrep "word"
  1. Найдите все символические ссылки, называемые Math * .
  2. Выполните снова найдите на каждом найденном пути, ища файлы *. Tex . xargs должен использовать -n 1 для вызова find с не более чем одним именем пути. Путь будет помещен в заполнитель XXX .
  3. Вызов fgrep (т.е. grep -F , поскольку у нас есть фиксированная строка поиска) со строкой для найденных файлов.
3
13.04.2017, 15:56
3 ответа

isc-dhcp-server и hostapd работают у меня (на debian sid), но мой интерфейс wlan определен в dhcpd.conf внутри совместно используемой сети . У меня также есть параметр широковещательный адрес внутри определения подсети {...} .

Попробуйте что-то вроде этого:

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 . Это изменение произошло в феврале этого года. Согласно etckeeper , моя последняя фиксация / etc / default / isc-dhcp-server произошла 10 февраля 2016 г.


Я бы также рекомендовал запустить локальный кэширующий преобразователь DNS. (например, несвязанный или dnsmasq или один из нескольких других).Направьте его на DNS-серверы Google в качестве пересылки, но ИМО необходим локальный кеш. Также стоит прокси-сервер, такой как squid . Как и локальный сервер NTP, все машины в вашей сети могут быть синхронизированы в одно и то же время.


Кстати, я использую ath9k usb Wi-Fi NIC, при этом dhcpd также обслуживает две другие сети, eth0 и eth1 (на самом деле, для моих виртуальных машин подключено мостовое соединение как br0 и br1), но это не должно не имеет значения.

У меня были серьезные проблемы с попыткой заставить работать USB-карту на базе RTL 8192, в итоге я отказался от нее и купил AR9271:

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

Оба USB-устройства Wi-Fi были дешевыми, около 10-15 долларов каждое (тот же бренд, тот же производитель (TP-Link), другой набор микросхем), поэтому не стоило тратить слишком много времени на попытки заставить 8192 работать (ИМО, сетевая карта на основе 8192, вероятно, просто мусор, она даже не будет надежно работать в качестве клиента. начнет работать нормально, а затем разорвет соединение и зависнет ... нужно было удалить и снова вставить, прежде чем он снова заработает).

3
27.01.2020, 21:18

Наконец, я нашел решение. Возможно, некоторые из этих шагов избыточны, но мне все равно, потому что все , наконец, работает.

  1. Wi-Fi может быть заблокирован аппаратно. Убедитесь, что это не так,
  2. Wi-Fi может не работать. sudo ifconfig wlan0 up (или wlan X в некоторых других случаях)
  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;
  }
}
2
27.01.2020, 21:18

В соответствии с вашим сообщением об ошибке "пожалуйста, пропишите объявление подсети в вашем файле dhcpd.conf для сегмента сети, к которому подключен интерфейс wlan0."

Это известная особенность/ограничение 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, теперь он должен работать.

1
27.01.2020, 21:18

Теги

Похожие вопросы