Hacks para sistemas operativos Unix-like / Lo primero será configurar la interfaz de red
Averiguamos el dispositivo de la tarjeta de red, eso lo haremos con dmesg, sería algo así:
bash-2.05# dmesg | more
rl0: <RealTek 8139 10/100BaseTX> port 0x6500-0x65ff mem 0xe0801000-0xe08010ff irq 12 at device 9.0 on pci0
rl0: Ethernet address: 00:a0:4e:39:6c:0a
miibus0: <MII bus> on rl0
rlphy0: <RealTek internal media interface> on miibus0
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
Después de que nos salga varia información sobre el sistema con dmesg veremos la interfaz de red y su dispositivo (rl0). En caso de que el sistema no detecte la tarjeta de red, tendríamos que informarnos de si la tarjeta esta soportada, podemos saberlo en /usr/src/sys/plataforma/conf/LINT o en la página web www.freebsd.org. Una vez compilado el kernel correctamente con el soporte indicado para la ethernet, dmesg os lo tendría que mostrar.
El siguiente paso será conseguir que el router y la ethernet puedan "hablar". El router tiene 2 IPs, la pública y la privada, la pública es la de Internet y la privada es la de intranet. Normalmente las IPs que se configuran para intranets empiezan por 192.168. , si la ip privada del router es 192.168.42.1 con una máscara de subred de 255.255.255.0 (clase C), la IP de la ethernet tendrá que ser 192.168.42.2 hasta 192.168.42.254 .
En esta configuración pondremos que el router tiene la IP pública 192.168.42.1 , la máquina conectada tendrá la IP 192.168.42.2 y la mascara de subred en ambas máquinas será la 255.255.255.0 .
Para configurar la ethernet en FreeBSD lo haremos con ifconfig:
bash-2.05# ifconfig rl0 192.168.42.2 netmask 255.255.255.0
Aquí le estamos indicando a ifconfig que le asignamos la IP 192.168.42.1 con mascara de subred 255.255.255.0 a la ethernet con dispositivo rl0. El dispositivo es el que vimos en dmesg anteriormente sobre la tarjeta de red. A estas alturas si hiciéramos ping al router debería de responder:
bash-2.05# ping -c 2 192.168.42.1
PING 192.168.42.6 (192.168.42.1): 56 data bytes
64 bytes from 192.168.42.1: icmp_seq=0 ttl=255 time=0.743 ms
64 bytes from 192.168.42.1: icmp_seq=1 ttl=255 time=0.713 ms --- 192.168.42.6 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.713/0.728/0.743/0.015 ms
El siguiente paso será configurar el gateway para que podamos salir a Internet mediante el router:
bash-2.05# route add default 192.168.42.1
add net default: gateway 192.168.42.1
Con esto, añadimos una ruta predeterminada para que podamos salir a Internet a través del router. Para más información sobre el comando ifconfig o route consultar el man correspondiente.
Ahora debemos insertar los servidores DNS en el sistema para que pueda traducir direcciones IP a nombres de hosts. Esto lo haremos editando el fichero /etc/resolv.conf. Su aspecto seria algo así:
nameserver 165.173.2.100 nameserver 165.173.2.101
La dirección 165.172.2.100 seria el servidor DNS primario y 165.173.2.101 el secundario. Una vez hecho esto, ya tendríamos que salir a Internet:
bash-2.05# ping -c 2 www.google.com
PING www.google.com (216.239.39.101): 56 data bytes 64 bytes from 216.239.39.101: icmp_seq=0 ttl=48 time=646.718 ms 64 bytes from 216.239.39.101: icmp_seq=1 ttl=48 time=609.487 ms --- www.google.com ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 609.487/628.102/646.718/18.616 ms
Si no queremos tener que hacer todo esto cada vez que reiniciemos, tendremos que configurar el arranque del sistema para que lo haga automáticamente. Para eso editaremos el fichero /etc/rc.conf , añadimos estas 2 líneas:
ifconfig_dispositivo="192.168.42.2 netmask 255.255.255.0" defaultrouter="192.168.42.1"
Donde dispositivo pondremos el dispositivo de la tarjeta de red. Una vez hecho esto, siempre que reiniciemos tendremos la ethernet configurada y podremos navegar.