centos

centos iptables如何做自动化管理

小樊
35
2025-04-28 16:23:08
栏目: 智能运维

CentOS 使用 iptables 作为其默认的防火墙,可以通过编写脚本来实现自动化管理。以下是一些建议和方法:

  1. 使用 Shell 脚本:

创建一个 Shell 脚本文件,例如 iptables_rules.sh,并在其中添加 iptables 规则。例如:

#!/bin/bash

# 清除现有规则
iptables -F
iptables -X

# 设置默认策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# 允许已建立的连接
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# 允许 SSH 连接
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许 HTTP 和 HTTPS 连接
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 保存规则
service iptables save

给脚本添加可执行权限:

chmod +x iptables_rules.sh

运行脚本以应用规则:

./iptables_rules.sh
  1. 使用 iptables-persistent

iptables-persistent 是一个用于保存和恢复 iptables 规则的工具。安装并启用它:

sudo yum install iptables-services
sudo systemctl enable iptables
sudo systemctl start iptables

将规则添加到 /etc/sysconfig/iptables 文件中,例如:

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
COMMIT

保存文件后,运行以下命令以应用规则:

sudo systemctl restart iptables
  1. 使用 firewalld

firewalld 是 CentOS 7 中的另一个防火墙管理工具,它提供了更简单且易于管理的接口。安装并启用它:

sudo yum install firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld

使用 firewall-cmd 命令添加规则,例如:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-service=ssh
sudo firewall-cmd --reload

这些方法可以帮助你实现 CentOS 上 iptables 的自动化管理。你可以根据自己的需求选择合适的方法。

0
看了该问题的人还看了