Configuración a bajo nivel
Es posible hacer una configuración de la red con los comandos ifconfig, route e ip, es lo que se denomina configuración a bajo nivel, pero el inconveniente de este tipo configuraciones es que no se mantienen al reiniciar el sistema, a menos que se ejecuten desde un script en el arranque.
Los comandos ifconfig y route (paquete net-tools) están hoy en día en desuso y han sido sustituidos por el comando ip (paquete iproute).
Usaremos estos comandos para obtener información de la red y no para configurarla salvo en situaciones especiales como por ejemplo en el caso del mapeo lógico de un dispositivo de red.
Para ver la configuración de las interfaces de red activas ejecutamos:
# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:28:42:d2
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe28:42d2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2933 errors:0 dropped:0 overruns:0 frame:0
TX packets:837 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:657635 (642.2 KiB) TX bytes:126005 (123.0 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:215 errors:0 dropped:0 overruns:0 frame:0
TX packets:215 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:14304 (13.9 KiB) TX bytes:14304 (13.9 KiB)
Se podrían ver todas las interfaces de red que tiene el sistema, tanto las activas (llevan la palabra UP) como las inactivas (no llevan la palabra UP), para lo cual, ejecutamos:
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 08:00:27:28:42:d2
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe28:42d2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:44 errors:0 dropped:0 overruns:0 frame:0
TX packets:83 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13149 (12.8 KiB) TX bytes:10400 (10.1 KiB)
eth1 Link encap:Ethernet HWaddr 08:00:27:37:d8:06
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:720 (720.0 B) TX bytes:720 (720.0 B)
Podemos ver una estadística de la información enviada y recibida por las interfaces activas o todas:
# ifconfig -s
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 53 0 0 0 83 0 0 0 BMRU
lo 16436 0 12 0 0 0 12 0 0 0 LRU
# ifconfig -a -s
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 55 0 0 0 85 0 0 0 BMRU
eth1 1500 0 0 0 0 0 0 0 0 0 BM
lo 16436 0 12 0 0 0 12 0 0 0 LRU
Podemos ver los datos de una interfaz concreta:
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 08:00:27:28:42:d2
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe28:42d2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:62 errors:0 dropped:0 overruns:0 frame:0
TX packets:85 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16187 (15.8 KiB) TX bytes:10582 (10.3 KiB)
# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 08:00:27:37:d8:06
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Para mostrar la tabla arp usamos el comando arp:
# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.1 ether 38:72:c0:b5:1f:23 C eth0
# arp -a
? (192.168.1.1) at 38:72:c0:b5:1f:23 [ether] on eth0
La opción -n hace que se muestren todos los datos de forma numérica y no se intente hacer traducción de IP a nombre; esto hace, generalmente, que el comando funcione más rápido que obviando la opción.
La opción -a muestra la misma información con otro tipo de formato de salida.
Para mostrar las tablas de enrutamiento usamos el comando route:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
La opción -n tiene la misma función que en el comando arp.
También se puede utilizar la orden ip para obtener la información de la red. Así, para ver la lista de tarjetas que hay instaladas en el sistema, con su dirección MAC y si están activas o no, ejecutamos:
# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 08:00:27:28:42:d2 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
link/ether 08:00:27:37:d8:06 brd ff:ff:ff:ff:ff:ff
El parámetro show puede suprimirse, en la orden anterior y en las sucesivas, se asume por defecto.
Para ver las direcciones IP de las tarjetas:
# ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:28:42:d2 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
inet6 fe80::a00:27ff:fe28:42d2/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 08:00:27:37:d8:06 brd ff:ff:ff:ff:ff:ff
Para ver la tabla arp:
# ip neighbour show
192.168.1.1 dev eth0 lladdr 38:72:c0:b5:1f:23 REACHABLE
Para ver la tabla de enrutamiento:
# ip route show
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
ANEXO:
En este anexo se va a resumir cómo se pueden utilizar los comandos ifconfig e ip para configurar las tarjetas de red.
La sintaxis resumida de ifconfig para asignar una IP a un tarjeta de red es la siguiente:
ifconfig intefaz dirección-ip netmask máscara [up]
Si se especifica up al final del comando, entonces la tarjeta se levanta a la vez que se le asigna la dirección IP. Por ejemplo:
# ifconfig eth0 192.168.0.2 netmask 255.255.255.0 up
Con los siguientes comandos se activa o desactiva la tarjeta de red:
ifconfig interfaz { up | down }
# ifconfig eth0 down
# ifconfig eth0 up
El comando ip realiza las mismas funciones que los comandos ifconfig, route y arp a la vez. Para poner una dirección IP, la sintaxis resumida sería:
ip address add dirección-ip/prefijo dev interfaz
# ip address add 192.168.0.2/24 dev eth0
Si queremos cambiar de IP es necesario borrar previamente la dirección anterior para no asignar dos direcciones. La sintaxis para borrar una dirección IP es:
ip address del dirección-ip/prefijo dev interfaz
# ip address del 192.168.0.2/24 dev eth0
Por último falta ver la sintaxis del comando ip para activar y desactivar la tarjeta de red:
ip link set interfaz { up | down }
# ip link set eth0 down
# ip link set eth0 up
Licencia: licencia de software libre GPL