侧边栏壁纸
  • 累计撰写 18 篇文章
  • 累计收到 6 条评论

CentOS 7 防火墙(iptables)配置总结

2025-9-10 / 0 评论 / 193 阅读

CentOS 7 防火墙(iptables)配置总结

1. 禁止指定IP访问除22端口外的所有端口

使用firewalld

# 启动并设置firewalld开机启动
systemctl start firewalld
systemctl enable firewalld

# 允许指定IP访问22端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'

# 拒绝该IP访问所有其他端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'

# 重新加载防火墙使规则生效
firewall-cmd --reload

# 验证规则
firewall-cmd --list-rich-rules

使用iptables

# 允许指定IP访问22端口
iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT

# 拒绝该IP访问所有其他端口
iptables -A INPUT -s 192.168.1.100 -j DROP

# 保存规则
service iptables save
# 或
iptables-save > /etc/sysconfig/iptables

2. 备份iptables配置

# 备份IPv4规则
iptables-save > /etc/sysconfig/iptables_backup_$(date +%Y%m%d)

# 备份IPv6规则
ip6tables-save > /etc/sysconfig/ip6tables_backup_$(date +%Y%m%d)

# 恢复配置
iptables-restore < /etc/sysconfig/iptables_backup_20250909

3. 删除iptables规则

# 查看规则及序号
iptables -L INPUT --line-numbers

# 通过序号删除
iptables -D INPUT [规则序号]

# 或通过完整规则匹配删除
iptables -D INPUT -s 192.168.1.100 -j DROP

# 保存修改
service iptables save

4. 放通ping(ICMP请求)

# 允许所有IP的ping请求
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# 只允许特定IP的ping请求
iptables -A INPUT -s 192.168.1.100 -p icmp --icmp-type echo-request -j ACCEPT

# 允许本机回应ping
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

# 保存规则
service iptables save

5. 命令详解:iptables -A INPUT -s 192.168.1.100 -p icmp --icmp-type echo-request -j ACCEPT

  • iptables:Linux防火墙配置工具
  • -A INPUT:向INPUT链(处理进入本机的流量)追加一条规则
  • -s 192.168.1.100:指定源IP地址为192.168.1.100
  • -p icmp:指定协议为ICMP(互联网控制消息协议)
  • --icmp-type echo-request:指定ICMP类型为echo-request(即ping请求)
  • -j ACCEPT:匹配规则后执行ACCEPT动作(允许通过)

评论一下?

OωO
取消