什么是混杂模式(Promiscuous mode)
混杂模式(Promiscuous mode)是一种使以太网卡将其接收到的所有流量传递给内核的功能。
它通常由 Wireshark 和 tcpdump 等数据包嗅探程序使用。
如果有这样的程序故意运行或者桥接硬件虚拟化网络,“混杂模式”消息可能会被简单地忽略。
否则,由于安全问题,将需要对该系统进行深入调查。
当系统上没有运行审计守护程序时,“审计”消息将记录到 /var/log/messages 文件而不是 /var/log/audit/audit.log 文件中。
它们是用于内核审计的信息性消息。
RHEL 7 中的 初始化脚本 已完全弃用了 PROMISC 选项。
# grep PROMISC -B 1 /usr/share/doc/initscripts-9.49.41/sysconfig.txt No longer supported: PROMISC=yes|no (enable or disable promiscuous mode)
因此,为了永久配置接口为混杂模式,请按照以下步骤操作。
确认
重新启动服务器并检查接口是否处于混杂模式:
# 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
接口ens9 现在在启动时处于混杂模式。
更多: zhilu jiaocheng
CentOS/RHEL 7 将接口配置为混杂模式
- 使用 vi 或者 vim 等编辑器创建自定义 systemd 单元文件。
# vi /etc/systemd/system/promisc.service
- 可以使用使用oneline 命令的oneshot。
单接口示例
在下面的示例中,只有一个接口被设置为混杂模式:
# 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
多接口示例
下面的示例将多个接口设置为混杂模式:
# 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
- 确保 systemd 现在知道新的服务:
# systemctl daemon-reload
日期:2020-09-17 00:13:19 来源:oir作者:oir