Obtener IP dinámica aunque se especifique una estática

Obtener IP dinámica aunque se especifique una estática

Tengo una máquina Linux en Raspberry que funciona como punto de acceso.

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

Y tengo un servidor DHCP. en /etc/network/interfaces he definido una dirección IP estática, sin embargo, cada vez que lo inicio obtengo una IP que no es estática sino del servidor DHCP. Este comportamiento no es consistente y a veces obtengo la IP estática.

Este es un módulo como parte de un proyecto que funciona a veces como AP y a veces como Cliente según parámetros en un script. En algunos de los casos, cuando se vuelve a cambiar a AP, se obtiene la IP incorrecta, aunque los archivos de configuración son los siguientes en todos los casos.

este es mi hostapd.conf

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

este es mi archivo de interfaces

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)

si consulta wlan0

address: 192.168.0.1
netmask: 255.255.255.0
broadcast: 192.168.0.255

El ping a 192.168.0.1 se cambió a 192.168.0.33 y el destino es inalcanzable. El ping a 192.168.0.33 funciona.

el eth0 no obtuvo una IP.

Respuesta1

Asegúrese de que su eth0 y wlan0 estén en diferentes rangos de direcciones IP y que su servidor DHCP solo escuche en el dispositivo wlan0. Además, asegúrese de que no contenga una dirección alquilada para la dirección MAC wlan0.

Luego, asegúrese de que no haya ningún otro servicio activo que toque wlan0 (estoy pensando en NetworkManager, wicd y servicios similares). Además, debe garantizar de alguna manera que, al cambiar del "Modo Cliente" al "Modo AP", no puedan ocurrir condiciones de carrera. De lo contrario, un cliente DHCP perdido del modo cliente puede decidir volver a cambiar la dirección IP.

Respuesta2

Hubo una condición de carrera entre el cliente DHCP y el "modo AP". lo que significa que obtuve una IP de mi propio DHCP.

Lo arreglé proporcionando la IP estática que quería al servidor DHCP con una restricción para limitarla solo a mi dirección MAC.

información relacionada