CentOS Sniffer防火墙配置指南
在CentOS系统中,Sniffer(如Wireshark、tcpdump)用于捕获网络流量,其正常运行需允许对应流量通过防火墙,同时需通过防火墙规则限制非法访问,保障系统安全。以下是具体配置步骤:
CentOS 7及以上版本默认使用firewalld作为防火墙管理工具(替代传统iptables)。首先检查防火墙状态:
sudo systemctl status firewalld
若未安装,可通过sudo yum install firewalld -y安装;若未启动,使用sudo systemctl start firewalld启动并设置开机自启:sudo systemctl enable firewalld。
Sniffer需监听网络接口的所有流量(包括入站、出站、转发),因此需放行对应接口的流量。假设网络接口为eth0(可通过ip addr命令查看),配置如下:
sudo firewall-cmd --permanent --zone=public --add-interface=eth0
sudo firewall-cmd --reload
此命令将eth0接口加入public区域(默认区域),允许所有流量通过。注意:生产环境不建议直接开放所有流量,需结合富规则限制访问源。
若仅需特定IP(如运维服务器192.168.1.100)访问Sniffer,可使用**富规则(Rich Rule)**精确控制:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
sudo firewall-cmd --reload
此规则仅允许192.168.1.100的流量进入public区域,其他IP将被拒绝。
配置完成后,通过以下命令查看当前防火墙规则,确认是否生效:
sudo firewall-cmd --list-all
输出应包含interfaces(包含eth0)或rich rules(包含指定IP的允许规则)。
sudo firewall-cmd --permanent --zone=public --add-log-prefix="Firewall: "),定期检查异常流量;sudo setenforce 1),并通过SELinux策略限制Sniffer的访问权限。eth0、ens33),避免误操作;--permanent参数保存规则(重启后生效),并通过--reload命令重新加载配置,无需重启防火墙服务;sudo firewall-cmd --list-all检查)。