在 Linux 服务器运维过程中,iptables 不仅可以作为防火墙使用,还可以用来 精确统计指定端口的网络流量,并完成访问控制、安全加固等操作。本文将详细介绍 iptables 的常见用法及相关运维技巧。
一、使用 iptables 精确统计指定端口流量
iptables 本身带有 数据包和字节计数功能,可用于统计端口的输入、输出流量。
1. 添加需要统计的端口规则
(1)统计输入流量(INPUT)
例如:统计 目标端口为 8080 的 TCP 输入流量:
iptables -A INPUT -p tcp –dport 8080
说明:
-
–dport:destination port,目标端口
-
用于统计外部访问本机 8080 端口的流量
(2)统计输出流量(OUTPUT)
例如:统计 源端口为 8080 的 TCP 输出流量:
iptables -A OUTPUT -p tcp –sport 8080
说明:
-
–sport:source port,源端口
-
用于统计本机 8080 端口向外发送的数据流量
2. 查看端口流量统计数据
iptables -L -v -n -x
参数说明:
-
-v:显示详细信息(包括数据包和字节数)
-
-n:不进行域名解析,提高显示速度
-
-x:显示精确字节数(不做单位转换)
3. 重置流量统计计数器
(1)重置 INPUT 链统计数据
iptables -Z INPUT
(2)重置 OUTPUT 链统计数据
iptables -Z OUTPUT
4. 删除流量统计规则
(1)删除 INPUT 端口规则
iptables -D INPUT -p tcp –dport 8080
(2)删除 OUTPUT 端口规则
iptables -D OUTPUT -p tcp –sport 8080
二、iptables 防火墙常用命令汇总
1. 查看当前 iptables 规则
iptables -L -n -v
2. 清空 iptables 配置(谨慎使用)
iptables -F # 清空所有规则 iptables -X # 删除用户自定义链 iptables -Z # 清空数据包计数器
⚠️ 注意:在远程服务器上执行 iptables -F 可能会导致 SSH 连接中断。
3. 常用防火墙规则示例
基本安全策略
iptables -P INPUT DROP iptables -A OUTPUT -j ACCEPT iptables -A INPUT -i lo -j ACCEPT
允许 Ping
iptables -A INPUT -p icmp -j ACCEPT
允许 SSH
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
允许 FTP
iptables -A INPUT -p tcp –dport 21 -j ACCEPT iptables -A INPUT -p tcp –dport 20 -j ACCEPT
被动模式端口范围:
iptables -A INPUT -p tcp –dport 20000:30000 -j ACCEPT
SMTP 本地限制示例
iptables -A INPUT -p tcp –dport 25 -s 127.0.0.1 -j ACCEPT iptables -A INPUT -p tcp –dport 25 -j REJECT
允许 DNS
iptables -A INPUT -p tcp –dport 53 -j ACCEPT iptables -A INPUT -p udp –dport 53 -j ACCEPT
允许 HTTP / HTTPS
iptables -A INPUT -p tcp –dport 80 -j ACCEPT iptables -A INPUT -p tcp –dport 443 -j ACCEPT
允许已建立连接
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
拒绝未匹配的访问
iptables -A INPUT -j REJECT iptables -A FORWARD -j REJECT
三、屏蔽 IP 地址的方法
1. 屏蔽单个 IP
iptables -I INPUT -s 10.10.10.1 -j DROP
2. 屏蔽整个网段
iptables -I INPUT -s 123.45.6.0/24 -j DROP
四、删除与修改 iptables 规则
1. 删除规则(-D)
iptables -D INPUT -s 192.168.1.4 -j DROP
或按规则序号删除:
iptables -D INPUT 3
2. 修改规则(-R)
iptables -R INPUT 3 -j ACCEPT
五、iptables 规则持久化(重启生效)
保存规则
service iptables save
重启防火墙
service iptables restart
备份与还原规则
iptables-save > /etc/iptables iptables-restore < /etc/iptables
六、Linux 查看端口占用及解除占用方法
问题描述
有时程序关闭后,进程未完全退出,导致端口被占用。
1. 查看端口占用情况
netstat -tln | grep 80
2. 查看端口对应的进程
lsof -i :80
3. 结束占用端口的进程
kill -9 进程PID
七、总结
iptables 是 Linux 系统中 功能强大且灵活 的工具,不仅可以作为防火墙使用,还能完成:
-
端口流量统计
-
网络访问控制
-
安全加固
-
运维排障
熟练掌握 iptables,是 Linux 运维工程师的必备技能之一。
原创文章,作者:admin,如若转载,请注明出处:https://hostingchat.cn/18586.html