martes, 6 de noviembre de 2012

Cómo usar el comando ip en Linux (comparando con ifconfig)

Publicado por Covent en 9:37 ,

El comando ip, que forma parte de la iproute2 suite es el sustituto de ifconfig, pero de momento ifconfig sigue entre nosotros.
Vamos a ver algunos ejemplos de uso del comando ip para comenzar a familiarizarnos con él y ver como realizariamos las tareas más comunes que hacemos con ifconfig.

Ver interfaces de red y su configuración

El comando ip addr list vendría a ser lo mismo que ejecutar ifconfig. Se puede ejecutar con el mismo resultado como ip address show o ip address list:
~$ ip addr list
1: lo:  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:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:1b:24:d5:18:99 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.128/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::21b:24ff:fed5:1899/64 scope link 
       valid_lft forever preferred_lft forever
3: eth2:  mtu 1500 qdisc pfifo_fast state DORMANT qlen 1000
    link/ether 00:1a:73:d1:67:45 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::21a:73ff:fed1:6745/64 scope link 
       valid_lft forever preferred_lft forever
También podemos usar el comando ip link show para ver la información en capa 2 (data link layer) de las interfaces de red del sistema:
~$ ip link show
1: lo:  mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:1b:24:d5:18:99 brd ff:ff:ff:ff:ff:ff
3: eth2:  mtu 1500 qdisc pfifo_fast state DORMANT qlen 1000
link/ether 00:1a:73:d1:67:45 brd ff:ff:ff:ff:ff:ff

Activar/desactivar interfaces de red

Para habilitar o deshabilitar una interfaz de red seguiremos utilizando ip link:
~# ip link set eth2 down
~# ip addr list eth2
3: eth2:  mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:1a:73:d1:67:45 brd ff:ff:ff:ff:ff:ff

~# ip link set eth2 up
~# ip addr list eth2
3: eth2:  mtu 1500 qdisc pfifo_fast state DORMANT qlen 1000
    link/ether 00:1a:73:d1:67:45 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::21a:73ff:fed1:6745/64 scope link tentative 
       valid_lft forever preferred_lft forever
En ifconfig lo hacíamos del siguiente modo:
~# ifconfig eth2 down
~# ifconfig eth2 up

Cambiar características de la interfaz

Con ip link también podemos realizar modificaciones en las características o flags de la interfaz, como por ejemplo configurar el modo promiscuo, multicast, arp, dynamic o allmulti. Se utilizan los valores on|off. 
~# ip link set dev eth0 promisc on
~# ip addr list eth0
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:1b:24:d5:18:99 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.128/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::21b:24ff:fed5:1899/64 scope link 
       valid_lft forever preferred_lft forever

~# ip link set dev eth0 promisc off
~# ip addr list eth0
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:1b:24:d5:18:99 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.128/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::21b:24ff:fed5:1899/64 scope link 
       valid_lft forever preferred_lft forever

Configurar una IP para la interfaz

Con ip addr add podemos especificar la IP, máscara (también en formato CIDR como vemos a continuación y la IP de broadcast:
~# ip addr add 10.0.0.100/24 broadcast 10.0.0.255 dev eth2
~# ip addr list eth2
3: eth2:  mtu 1500 qdisc pfifo_fast state DORMANT qlen 1000
    link/ether 00:1a:73:d1:67:45 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.100/24 brd 10.0.0.255 scope global eth2
    inet6 fe80::21a:73ff:fed1:6745/64 scope link 
       valid_lft forever preferred_lft forever
Y para eliminar la IP:
~# ip addr del 10.0.0.100/24 dev eth2
También podemos crear alias en la interfaz:
~# ip addr add 10.0.0.101/24 broadcast 10.0.0.255 dev eth2:1

Cambiar la MTU de la interfaz

~# ip link set dev eth2 mtu 9000

Ver la tabla de rutas

~# ip route show
default via 192.168.1.1 dev eth0  proto static 
169.254.0.0/16 dev eth0  scope link  metric 1000 
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.128  metric 1

Ver la tabla de ARP Cache

De todas las interfaces:
~# ip neighbor show
192.168.1.1 dev eth0 lladdr 64:68:0c:6b:5f:7e REACHABLE
De una interfaz concreta:
~# ip neighbor show dev eth0
192.168.1.1 lladdr 64:68:0c:6b:5f:7e REACHABLE
Esto es sólo una pequeña muestra de lo que ofrece el comando ip en GNU/Linux y la suite iproute2 en general. Os recomiendo revisar la página man para profundizar en el tema.
$ man ip
Si esta información te ha sido de ayuda pincha en mis anuncios. Nos ayudamos mutuamente. Gracias

Back Top

0 comentarios:

Publicar un comentario