温馨提示×

centos iptables规则有哪些

小樊
46
2025-11-01 10:31:55
栏目: 智能运维

CentOS中的iptables是一个用于配置Linux内核防火墙的命令行工具,它允许系统管理员定义表(tables)、链(chains)和规则(rules)来过滤网络流量。以下是一些常用的iptables规则:

表(Tables)

  1. filter:默认表,用于控制数据包的访问控制。
  2. nat:用于网络地址转换(NAT),如端口转发和源地址转换。
  3. mangle:用于特殊的数据包修改,如更改TTL值。
  4. 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

通过这些基本规则,你可以构建一个相对安全的防火墙配置。根据实际需求,可以进一步细化和扩展这些规则。

0