iptables简介
iptables 是一个在 Linux 操作系统上用于配置网络包过滤规则的工具。它允许系统管理员定义规则,以控制网络流量的流向,从而实现网络安全和流量管理。iptables 基本上是 Linux 内核中的一个防火墙管理工具,用于处理网络数据包的过滤、转发、伪装(NAT)等功能。
iptables常用命令
查看iptables规则
iptables -vnL
清空iptables规则
iptables -F
添加iptables规则
由于iptables是由上至下进行拦截的,所以添加时需要注意顺序,千万不要把drop写在第一行!
# 插到队尾(A其实就是Append)
iptables -A INPUT -s 10.252.12.34 -p tcp --destination-port 9200 -j ACCEPT
# 插到队头(I其实就是Insert)
iptables -I INPUT -s 10.252.34.56 -p tcp --destination-port 9200 -j ACCEPT
保存(重启生效)ipatbles规则
service iptables save
举例说明
step1:添加白名单之前设置定时任务清除iptables规则,防止出现误操作导致无法访问机器。
# 添加crontab任务(每30分钟清除一次):
crontab -e
*/30 * * * * /sbin/iptables -F
step2:添加白名单并且生效(第三行为【允许本机】,第四行为【拦截所有】)
iptables -I INPUT -s 10.252.12.34 -p tcp --destination-port 9200 -j ACCEPT
iptables -I INPUT -s 10.252.34.56 -p tcp --destination-port 9200 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -p tcp --destination-port 9200 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 9200 -j DROP
service iptables save
step3:校验
curl -X GET 127.0.0.1:9200
step4:确认无误后删除定时任务
crontab -e
#删除掉*/30 * * * * /sbin/iptables -F这一行