Получение динамического IP, хотя указан статический

Получение динамического IP, хотя указан статический

У меня есть машина Linux на Raspberry, которая выполняет функцию точки доступа.

Linux raspberrypi 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l GNU/Linux

И у меня есть DHCP-сервер на нем. В /etc/network/interfaces я определил статический IP-адрес, однако всякий раз, когда я его запускаю, я получаю IP, который не является статическим, а от DHCP-сервера. Такое поведение непоследовательно, и иногда я получаю статический IP.

Это модуль как часть проекта, который иногда функционирует как точка доступа, а иногда как клиент на основе параметров в скрипте. В некоторых случаях при переключении обратно на точку доступа IP-адрес оказывается неверным, хотя файлы конфигурации во всех случаях соответствуют приведенным ниже.

это мой hostapd.conf

interface=wlan0    
driver=rtl871xdrv    
ssid=my ssid
hw_mode=g
channel=6
auth_algs=1
ieee80211n=1

это мой файл интерфейсов

auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet static
  address 192.168.0.1
  netmask 255.255.255.0

dhcpd.conf

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
  range  192.168.0.10 192.168.0.50;
  option broadcast-address 192.168.0.255;
  option routers 192.168.0.1;
  default-lease-time 600;
  max-lease-time 7200;
  option domain-name "domain";
}

ifconfig wlan0

wlan0     Link encap:Ethernet  HWaddr 74:da:38:26:9f:d6
          inet addr:192.168.0.33  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:129 errors:0 dropped:5369 overruns:0 frame:0
          TX packets:0 errors:0 dropped:726 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:65760423 (62.7 MiB)  TX bytes:12737873 (12.1 MiB)

если запрос wlan0

address: 192.168.0.1
netmask: 255.255.255.0
broadcast: 192.168.0.255

ping на 192.168.0.1 был изменен на 192.168.0.33 и получил сообщение о недоступности пункта назначения ping на 192.168.0.33 работает

eth0 не получил IP.

решение1

Убедитесь, что ваши eth0 и wlan0 находятся в разных диапазонах IP-адресов, и что ваш DHCP-сервер прослушивает только устройство wlan0. Также убедитесь, что он не содержит арендованный адрес для MAC-адреса wlan0.

Затем убедитесь, что никакие другие службы, затрагивающие wlan0, не активны (я имею в виду NetworkManager, wicd и подобные службы). Также вам нужно как-то гарантировать, что при переключении из "Client Mode" в "AP Mode" не возникнет состояния гонки. В противном случае, случайный DHCP-клиент из клиентского режима может решить изменить IP-адрес обратно.

решение2

Возникла гонка между DHCP-клиентом и «режимом AP». Это означает, что я получил IP-адрес от своего собственного DHCP.

Я исправил это, предоставив DHCP-серверу нужный мне статический IP-адрес с ограничением только моим MAC-адресом.

Связанный контент