centos

centos iptables如何自定义脚本

小樊
42
2025-09-15 15:41:58
栏目: 智能运维

在CentOS系统中,使用iptables自定义脚本可以帮助你自动化地配置防火墙规则。以下是一个简单的示例,展示了如何创建一个自定义的iptables脚本。

  1. 首先,确保你已经安装了iptables。在CentOS 7及更高版本中,iptables已经被firewalld取代,但你可以使用iptables-services包来管理iptables。要安装iptables-services,请运行以下命令:
sudo yum install iptables-services
  1. 创建一个新的iptables脚本文件。在这个例子中,我们将创建一个名为custom_iptables.sh的文件:
sudo nano /etc/iptables/custom_iptables.sh
  1. 在新创建的文件中,添加以下内容以设置基本的iptables规则:
#!/bin/bash

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

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

# 允许本地回环接口的流量
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# 允许已建立的连接和相关的数据包通过
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

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

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

# 允许特定IP地址访问
iptables -A INPUT -s 192.168.1.100 -j ACCEPT

# 保存规则
service iptables save

# 重启iptables服务
service iptables restart

在这个脚本中,我们首先清除现有的iptables规则,然后设置默认策略为拒绝所有输入和转发流量,但允许输出流量。接下来,我们允许本地回环接口的流量,允许已建立的连接和相关的数据包通过,允许SSH、HTTP和HTTPS连接,并允许特定IP地址访问。

  1. 保存并关闭文件。

  2. 为脚本添加可执行权限:

sudo chmod +x /etc/iptables/custom_iptables.sh
  1. 运行脚本以应用自定义的iptables规则:
sudo /etc/iptables/custom_iptables.sh

现在,你已经成功创建了一个自定义的iptables脚本,并应用了相应的防火墙规则。你可以根据需要修改脚本中的规则,以满足你的特定需求。

0
看了该问题的人还看了