Doble IP en red de Raspberry Pi
-
Ayer vi algo que no he viso antes: una tarjeta de red con dos IPs simultaneas. Parece ser que es un fallo de Raspbian que se observa desde 2015 pero que todavía hoy no se ha solucionado. Me di cuenta porque, a pesar de tener una IP estática configurada, había un conflicto de IPs con otro dispositivo de la red.
Resulta que aunque configures una IP estática, una vez que el sistema anuncia la IP por ARP, Raspbian hace una petición por DHCP y asigna una segunda IP. Después de eso, la Raspi responde a ambas direcciones indistintamente y en la tabla ARP del router se pueden ver cómo ambas IP corresponden a la misma MAC.
Aquí en realidad ha habido dos fallos: el de Raspbian pidiendo IP al servidor DHCP cuando no tiene que hacerlo y el mio al haber solapado el rango de IPs por DHCP con el de IPs estáticas de la red.
Hay varias soluciones. Una de las sencillas es forzar al cliente DHCP a usar una IP estática editando el archivo /etc/dhcpcd.conf con esto:
interface eth0 static ip_address=192.168.0.20/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1
La otra opción (la que he elegido yo) es desactivar el cliente DHCP con eso:
sudo update-rc.d -f dhcpcd remove
Si quieres volver a activar el cliente DHCP (útil en redes Wifi por ejemplo), teclea esto:
sudo update-rc.d dhcpcd defaults
Evidentemente, también he corregido el rango de IPs automáticas, pero ese ha sido el clásico problema de lo que hay entre el asiento el teclado.
-
Bueno, tecnicamente no es un error, precisamente es una cosa que hace poco tuve que estar investigando en el trabajo y la solucion fue esa, crear una VIP (Virtual IP) a la que tambien responde peticiones.
Esto se puede hacer tanto en windows como en linux y en efecto puede tener utilidad en ciertos escenarios.En mi caso, tenia un problema de gateways que resolvi así, pongamos el ejemplo, 3 dispositivos, A, B y C conectados así.
A -- B -- C
A y C no pueden verse ni enrutarse ya que tienen gateways distintos y no se les puede modificar la configuracion de red, entonces B tiene 2 IP's en cada una de sus interficies, pongamos que son la X.10 y la X.20. Cuando A comunica con B a traves de la X.10, el destinatario real del paquete es B. Cuando lo hace por la X.20, B coge esos paquetes, y hace un IPTABLES hacia C, de esta forma A cree que comunica con B pero en realidad esta comunicando con C a traves de esta segunda IP que tiene B. Y lo mismo entre B y C.
No se si se me ha entendido.... es algo raro si jaja.
Por otro lado, si tienes un windows donde estas cambiando de IP's constantemente, puedes ir a las propiedades del adaptador y poner alli varias IP's a las que quieres que el equipo responda, de esta forma, al cambiar de redes no tienes que ir modificando las IP's a cada momento.
Son casos raros pero en los que puede ser util.
Saludos.