千家信息网

如何配置CentOS iptables防火墙的Shell脚本

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"如何配置CentOS iptables防火墙的Shell脚本",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何配置CentOS ipta
千家信息网最后更新 2026年11月03日如何配置CentOS iptables防火墙的Shell脚本

本篇内容主要讲解"如何配置CentOS iptables防火墙的Shell脚本",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何配置CentOS iptables防火墙的Shell脚本"吧!

手里几台VPS配置iptables太繁琐,看到了朱哥的LNMP脚本里有一个自动配置iptables防火墙的脚本,借来改了一下,给需要的人用;
只提供常用端口的设置,如果你有特殊需求只需自行添加或减少相应的端口即可;

使用方法:

代码如下:

chmod +x iptables.sh
./iptables.sh


设置iptables开机自动启动:

代码如下:

chkconfig --level 345 iptables on

完整Shell:

代码如下:


#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
function support_distro(){
if [ -z "`egrep -i "centos" /etc/issue`" ];then
echo "Sorry,iptables script only support centos system now."
exit 1
fi
}
support_distro
echo "============================iptables configure============================================"
# Only support CentOS system
# 获取SSH端口
if grep "^Port" /etc/ssh/sshd_config>/dev/null;then
sshdport=`grep "^Port" /etc/ssh/sshd_config | sed "s/Port\s//g" `
else
sshdport=22
fi
# 获取DNS服务器IP
if [ -s /etc/resolv.conf ];then
nameserver1=`cat /etc/resolv.conf |grep nameserver |awk 'NR==1{print $2 }'`
nameserver2=`cat /etc/resolv.conf |grep nameserver |awk 'NR==2{print $2 }'`
fi
IPT="/sbin/iptables"
# 删除已有规则
$IPT --delete-chain
$IPT --flush
# 禁止进,允许出,允许回环网卡
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
$IPT -A INPUT -i lo -j ACCEPT
# 允许已建立的或相关连接的通行
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# 限制80端口单个IP的最大连接数为10
$IPT -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP
# 允许80(HTTP)/873(RSYNC)/443(HTTPS)/20,21(FTP)/25(SMTP)端口的连接
$IPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 873 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
# 允许SSH端口的连接,脚本自动侦测目前的SSH端口,否则默认为22端口
$IPT -A INPUT -p tcp -m tcp --dport $sshdport -j ACCEPT
# 允许ping
$IPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
$IPT -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
# 允许DNS
[ ! -z "$nameserver1" ] && $IPT -A OUTPUT -p udp -m udp -d $nameserver1 --dport 53 -j ACCEPT
[ ! -z "$nameserver2" ] && $IPT -A OUTPUT -p udp -m udp -d $nameserver2 --dport 53 -j ACCEPT
# 保存规则并重启IPTABLES
service iptables save
service iptables restart
echo "============================iptables configure completed============================================"

到此,相信大家对"如何配置CentOS iptables防火墙的Shell脚本"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

端口 脚本 配置 防火墙 防火 代码 内容 方法 规则 学习 实用 更深 最大 特殊 繁琐 使用方法 兴趣 单个 只需 回环 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 花魁咖啡 深圳市人人互联网科技有限公司 互联网科技卖菜 易互联网科技有限公司 互联网高科技企业 国外互联网科技网站 哈尔滨新华互联网科技 中正互联网科技招聘 华脉科技工业互联网产品 科技赋能互联网健康 互联网科技大奖都有哪些公司 互联网科技的全部知识 阿里互联网科技企业 工业互联网山东科技大学 广东工业互联网大赛深圳学泰科技 张家口科技产业互联网平台 数字互联网科技有限公司 科技互联网专业工作会议发言稿 山东蛋芒互联网科技有限公司 华人运通互联网科技公司 亿人帮互联网科技有限公司 嘟嘟瓜互联网科技 善班互联网科技有限公司 中国互联网金融科技基金 成都玖崟互联网科技有限公司乐商圈怎么样 贵州叶脉互联网科技有限公司所属行业 健康食品互联网创新科技园项目 科技类公司包括互联网吗 上海创道互联网络科技有限公司 本届互联网大会上的黑科技
0