【CentOS7】防火墙配置使用iptables

iptables 防火墙

 资料:https://www.cnblogs.com/kevingrace/p/6265113.html

安装 iptables

 

# 检查状态
systemctl status iptables

# 停止firewall
systemctl stop iptables

# 禁用开机启动firewall
systemctl disable iptables

 

复制代码

# 安装 iptables
yum install -y iptables iptables-services

# 启动 iptables
systemctl start iptables

# 启用开机启动 iptables
systemctl enable iptables
复制代码

 

vim /etc/sysconfig/iptables

默认配置

复制代码
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9200 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9300 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5601 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5044 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8848 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8765 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
复制代码

 

 

设置规则

参数:

复制代码
-t<表>:指定要操纵的表
-A:向规则链中添加条目
-D:从规则链中删除条目
-i:向规则链中插入条目
-R:替换规则链中的条目
-L:显示规则链中已有的条目
-F:清除规则链中已有的条目
-Z:清空规则链中的数据包计算器和字节计数器
-N:创建新的用户自定义规则链
-P:定义规则链中的默认目标
-h:显示帮助信息
-p:指定要匹配的数据包协议类型
-s:指定要匹配的数据包源ip地址
-j<目标>:指定要跳转的目标
-i<网络接口>:指定数据包进入本机的网络接口
-o<网络接口>:指定数据包要离开本机所使用的网络接口
复制代码

 

复制代码
# 查看iptables现有规则
iptables -L -n

# 先允许所有,不然有可能会杯具
iptables -P INPUT ACCEPT

# 清空所有默认规则
iptables -F

# 清空所有自定义规则
iptables -X

# 所有计数器归0
iptables -Z

# 允许来自于lo接口的数据包(本地访问)
iptables -A INPUT -i lo -j ACCEPT

开放端口
iptables -A INPUT -p tcp -s IP地址 --dport 端口 -j ACCEPT

# 保存规则
service iptables save

# 允许ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT

# 允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT

# 其他入站一律丢弃
iptables -P INPUT DROP

# 所有出站一律绿灯
iptables -P OUTPUT ACCEPT

# 所有转发一律丢弃
iptables -P FORWARD DROP

# 如果要添加内网ip信任
iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT

# 过滤所有非以上规则的请求
iptables -P INPUT DROP

# 要封停一个IP,使用下面这条命令:
iptables -I INPUT -s IP地址 -j DROP

# 要解封一个IP,使用下面这条命令:
iptables -D INPUT -s IP地址 -j DROP
复制代码

 

 iptables 实列

开放端口
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

# 保存规则
service iptables save

删除端口
iptables -D INPUT -p tcp --dport 3306 -j ACCEPT

 

 

常用端口

复制代码
# http 80
# https 443
# https 443
# mysql 3306
# mongodb 27017
# postgre 5432
# elasticsearch 9200
# redis 6379
# rabbitmq 15672, 5672
# consul 8500
# nacos 8848
# ftp 21
# ssh 22
# telnet 23
# smtp 25
复制代码
posted @   翠微  阅读(172)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示