pump no funciona con los Zyxel Prestige 660HW-61
¿Tienes un router ADSL Zyxel Prestige 660HW-61? ¿Cuando arrancas con Knoppix (o con distribuciones derivadas de Knoppix) no eres capaz de obtener una dirección IP por DHCP?
No te vuelvas loco… El cliente de DHCP pump, que es el que lleva por defecto Knoppix, no es capaz de obtener una IP por DHCP de un 660HW-61 (al menos no el mío con firmware V3.40(PT.0)b46 de Telefónica). Hay incluso un bug de Debian abierto que expone el problema: Bug#362207: pump does not get IP address from Zyxel Prestige 660HW-61.
Como hay varios clientes de DHCP para Linux:
# apt-cache search "dhcp client" dhcdbd - D-Bus interface to the ISC DHCP client dhcp-client - DHCP Client dhcp3-client - DHCP Client dhcpcd - DHCP client for automatically configuring IPv4 networking pump - BOOTP and DHCP client for automatic IP configuration resolvconf - nameserver information handler udhcpc - very small DHCP client
la solución es usar uno de los otros, siendo el dhcp3-client el que instala Debian por defecto y funciona bien con este router.
Si estamos con Knoppix o con algún otro LiveCD, como no podemos instalar un cliente diferente, tendremos que asignar la IP manualmente tras eliminar todos los pump que puedan estar corriendo con un “killall -9 pump” seguido de un “ps -ef | grep pump“. El pump puede tardar un poco en morir, así que esperamos a que lo haga y a que no salga en la lista del ps. A continuación, si nuestro interfaz ethernet es el eth0, nuestro router tiene la IP 192.168.1.1/24 y la dirección que queremos asignarle al sistema es la 192.168.1.40, para especificar la IP, añadir la IP del servidor de nombres (en este caso el propio router) y añadir la ruta por defecto haremos:
# ifconfig eth0 192.168.1.40 netmask 255.255.255.0 up
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:16:D4:C3:D2:F2
inet addr:192.168.1.40 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4248 (4.1 KiB) TX bytes:2128 (2.0 KiB)
Interrupt:16
# echo 'nameserver 192.168.1.1' >> /etc/resolv.conf
# cat /etc/resolv.conf
# Insert nameservers here
# nameserver 127.0.0.1
nameserver 192.168.1.1
# route add default gw 192.168.1.1
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0





Si haces un ifconfig ethN +promisc up , funcionara.
Sabueso Muchas gracias por la sugerencia. Sin embargo, lo he probado y no me funciona
Espero que no te importe que haga una corrección sin importancia al comando que pones, y es que hay que poner el
promiscsin el + o da un error. Aunque como vemos en la página de manual delifconfig, sí se puede poner-promiscpara deshabilitar dicha opción:Tras hacer el
ifconfigque propones y ejecutar un "pump -i eth", en la salida de un "tcpdump -vvv" vemos que en realidad el Zyxel sí le da una IP al PC, la 192.168.1.43:Pero si configuramos el
syslogdpara que muestre el DEBUG delpump, vemos que por alguna razón, éste rechaza la IP debido al "xid" devuelto en la respuesta DHCP.El RFC2131 (Dynamic Host Configuration Protocol) nos habla del "
xid":Así que, o bien el Zyxel está poniendo un "
xid" inválido en su paquete de respuesta DHCP o bien elpumpse está equivocando al rechazar el paquete...Un error derivado de mi manias con otros *nixes
Igualmente , es raro , porque yo pongo la interface en modo promiscuo , y tira
Sabueso Muchas gracias por tus comentarios y por tu ayuda, pero dime una cosa, ¿a ti también te fallaba con un Zyxel 661HW y con el
pumptal y como describo en la entrada?