El comando «ifconfig» se utiliza para configurar interfaces de red en Linux. Pero este comando es obsoleto y no se encuentra en las versiones mínimas de RHEL 7 ni en sus derivaciones como CentOS 7, aunque bien es cierto que ya no se usa en algunas distribuciones, su desaparición no tiende a ser rápida debido a su uso tan extendido, pero aun así con el fin de ir dando paso hacia mejores y mas potentes herramientas eventualmente el comando «ip» reemplazara a «ifconfig» por ello he decido hacer este tutorial básico sobre el uso del comando «ip» comparándolo con su antecesor «ifconfig».
Nota: recuerde que el comando «ifconfig» pertenece al paquete «Net Tools» las cuales son herramientas básicas que han sido heredadas de Unix al igual que netstat, arp, route y el comando «ip» hace parte de los paquetes desarrollados por Linux «iproute2».
CentOS 7 minimal utiliza los comandos «ip addr» y «ip link» para encontrar los detalles de una tarjeta de interfaz de red.
Conocer las estadísticas del uso de la red
Comando «ifconfig»
[code language=»bash»]
ifconfig enp0s3
[/code]
Comando «ip»
[code language=»bash»]
ip -s link
[/code]
si quieres reiniciar las estadísticas deshabilita la interfaz y vuelve a habilitarla.
Mostrar dispositivos de red y su configuración
Comando «ifconfig»
[code language=»bash»]
ifconfig
[/code]
Comando «ip»
[code language=»bash»]
ip addr list
ip addr show
ip link show
[/code]
Para ver su dirección IP.
Comando «ifconfig»
[code language=»bash»]
ifconfig enp0s3
[/code]
Comando «ip»
[code language=»bash»]
ip addr show dev enp0s3
[/code]
Si omite el dev enp0s3, mostrará la información IP de todas las interfaces.
Habilitar la interfaz de red.
Comando «ifconfig»
[code language=»bash»]
ifconfig enp0s3 up
[/code]
Comando «ip»
[code language=»bash»]
ip link set dev enp0s3 up
[/code]
Deshabilitar la interfaz de red.
Comando «ifconfig»
[code language=»bash»]
ifconfig enp0s3 down
[/code]
Comando «ip»
[code language=»bash»]
ip link set dev enp0s3 down
[/code]
Establecer una dirección IP
Comando «ifconfig»
[code language=»bash»]
ifconfig enp0s3 192.168.1.125
[/code]
Comando «ip»
[code language=»bash»]
ip address add 192.168.1.125 dev enp0s3
[/code]
Establecer una dirección IP especificando la máscara de red y la dirección de difusión.
Comando «ifconfig»
[code language=»bash»]
ifconfig enp0s3 192.168.0.77 netmask 255.255.255.0 broadcast 192.168.0.255
[/code]
Comando «ip»
[code language=»bash»]
ip addr add 192.168.0.77/24 broadcast 192.168.0.255 dev enp0s3
[/code]
Cambiar la dirección MAC de la interfaz de red.
Comando «ifconfig»
[code language=»bash»]
/etc/init.d/network stop
ifconfig enp0s3 hw ether AA:BB:CC:DD:EE:FF
/etc/init.d/network start
[/code]
Comando «ip»
[code language=»bash»]
/etc/init.d/network stop
ip link set enp0s3 address 02:01:02:03:04:08
/etc/init.d/network start
[/code]
Remover todas las direcciones de Red
[code language=»bash»]
ip addr flush dev enp0s3
[/code]
Ver en detalle todas las interfaces (incluidas las deshabilitadas)
Comando «ifconfig»
[code language=»bash»]
ifconfig -a
[/code]
Comando «ip»
[code language=»bash»]
ip addr
[/code]
Modo promiscuo
Por defecto una tarjeta de red recibe un paquete si en la cabecera del paquete se indica que van dirigidos hacia su dirección ip y si no simplemente lo descarta. En modo promiscuo, la tarjeta no descarta paquetes y acepta todos los paquetes que se propagan en la red.
El modo promiscuo se utilizada por los administradores de una red para la captura y análisis de tráfico.
Para habilitar el modo promiscuo en una interfaz de red
Comando «ifconfig»
[code language=»bash»]
ifconfig enp0s3 promisc
ifconfig eth1 up
[/code]
Comando «ip»
[code language=»bash»]
ip link set dev enp0s3 promisc on
ip link set enp0s3 up
[/code]
Para deshabilitar modo promiscuo
Comando «ifconfig»
[code language=»bash»]
ifconfig enp0s3 promisc
ifconfig eth1 up
[/code]
Comando «ip»
[code language=»bash»]
ip link set dev enp0s3 -promisc off
ip link set enp0s3 up
[/code]