阅读量:2
CentOS中的iptables是一个用于配置Linux内核防火墙的命令行工具,它允许系统管理员定义表(tables)、链(chains)和规则(rules)来过滤网络流量。以下是一些常用的iptables规则:
表(Tables)
- filter:默认表,用于控制数据包的访问控制。
- nat:用于网络地址转换(NAT),如端口转发和源地址转换。
- mangle:用于特殊的数据包修改,如更改TTL值。
- raw:用于配置免除连接跟踪的规则。
链(Chains)
每个表包含预定义的链,以及用户可以自定义的链:
- INPUT:处理进入本机的数据包。
- OUTPUT:处理从本机发出的数据包。
- FORWARD:处理经过本机转发的数据包。
- PREROUTING:用于目标地址转换(DNAT)的规则。
- POSTROUTING:用于源地址转换(SNAT)的规则。
常用规则
以下是一些基本的iptables命令示例:
清空所有规则
iptables -F
允许所有流量
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
阻止所有流量
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
允许特定IP访问
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
允许特定端口访问
iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许HTTP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 允许HTTPS
阻止特定IP访问
iptables -A INPUT -s 192.168.1.101 -j DROP
允许SSH连接
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
保存规则
service iptables save
查看规则
iptables -L -n -v
注意事项
- 修改iptables规则时要小心,错误的配置可能导致网络中断。
- 在生产环境中,建议使用更高级的工具如
firewalld,它提供了更友好的图形界面和动态管理功能。
示例:设置基本的防火墙规则
以下是一个简单的示例,设置一个基本的防火墙规则集:
# 清空所有规则
iptables -F
# 设置默认策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# 允许本地回环接口的流量
iptables -A INPUT -i lo -j ACCEPT
# 允许已建立的连接和相关的数据包
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 允许SSH连接
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
# 允许HTTP和HTTPS流量
iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
# 保存规则
service iptables save
通过这些基本规则,你可以构建一个相对安全的防火墙配置。根据实际需求,可以进一步细化和扩展这些规则。
以上就是关于“centos iptables规则有哪些”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm