¿Qué es el modo promiscuo
Modo promiscuo o modo promisc es una función que hace que la tarjeta ethernet pase todo el tráfico que recibe al kernel. Por lo general, lo utiliza un programa de rastreo de paquetes como Wireshark y tcpdump. Si dicho programa se ejecutaba intencionalmente o se conectaba a una red para la virtualización de hardware, el mensaje de "modo promiscuo" podría simplemente ignorarse. De lo contrario, se requerirá una investigación profunda en ese sistema debido a un problema de seguridad.
Cuando no hay un demonio de auditoría ejecutándose en el sistema, el mensaje de "auditoría" se registrará en el archivo /var/log/messages en lugar de / archivo var/log/audit/audit.log. Son mensajes informativos para la auditoría del kernel.
La opción PROMISC ha quedado completamente obsoleto desde initscripts en RHEL 7.
# grep PROMISC -B 1 /usr/share/doc/initscripts-9.49.41/sysconfig.txt No longer supported: PROMISC=yes|no (enable or disable promiscuous mode)
Por lo tanto, para configurar la(s) interfaz(es) en modo promiscuo de forma permanente, siga los pasos que se indican a continuación.
Configuración del modo promiscuo en la interfaz en CentOS/RHEL 7
1. Cree un archivo de unidad systemd personalizado usando un editor como vi o vim.
# vi /etc/systemd/system/promisc.service
2. Se puede usar un oneshot usando un comando de una línea.
Ejemplo de interfaz única
En el siguiente ejemplo, solo una interfaz se coloca en modo promiscuo:
# cat /etc/systemd/system/promisc.service [Unit] Description=Bring up an interface in promiscuous mode during boot After=network.target [Service] Type=oneshot ExecStart=/usr/sbin/ip link set dev ens9 promisc on TimeoutStartSec=0 RemainAfterExit=yes [Install] WantedBy=default.target
Ejemplo de múltiples interfaces
El siguiente ejemplo es establecer más de una interfaz en modo promiscuo:
# cat /etc/systemd/system/promisc.service [Unit] Description=Makes an interface run in promiscuous mode at boot After=network.target [Service] Type=oneshot ExecStart=/usr/sbin/ip link set dev ens9 promisc on ExecStart=/usr/sbin/ip link set dev ens12 promisc on TimeoutStartSec=0 RemainAfterExit=yes [Install] WantedBy=default.target
3. Asegúrese de que systemd ahora esté al tanto del nuevo servicio:
# systemctl daemon-reload
Verificación
Reinicie el servidor y compruebe si la interfaz está en modo promiscuo:
# reboot
# ip addr 1: lo: [LOOPBACK,UP,LOWER_UP] mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: ens9: [BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:fe:7d:f2 brd ff:ff:ff:ff:ff:ff inet 192.168.122.203/24 brd 192.168.122.255 scope global dynamic ens9 valid_lft 3398sec preferred_lft 3398sec 3: ens12: [BROADCAST,MULTICAST] mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 52:54:00:9f:37:9e brd ff:ff:ff:ff:ff:ff 4: ens10: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000 link/ether 52:54:00:30:ef:19 brd ff:ff:ff:ff:ff:ff 5: ens11: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000 link/ether 52:54:00:30:ef:19 brd ff:ff:ff:ff:ff:ff 6: bond0: [BROADCAST,MULTICAST,MASTER,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 52:54:00:30:ef:19 brd ff:ff:ff:ff:ff:ff inet 192.168.122.95/24 brd 192.168.122.255 scope global dynamic bond0 valid_lft 3396sec preferred_lft 3396sec
La interfaz ens9 ahora está en modo promiscuo al arrancar.