查看网站浏览量,wordpress 云落主题,做网站流量是什么,就业网站建设方案目 录
一、要求
二、解决方案
#xff08;一#xff09;解决思路
#xff08;二#xff09;方案
三、脚本程序实现
#xff08;一#xff09;脚本代码和解释
1、脚本代码
2、代码解释
#xff08;二#xff09;脚本验证
1、脚本编辑
2、给予执行权限…目 录
一、要求
二、解决方案
一解决思路
二方案
三、脚本程序实现
一脚本代码和解释
1、脚本代码
2、代码解释
二脚本验证
1、脚本编辑
2、给予执行权限
3、运行脚本查看效果
四、扩展 一、要求 在部署一个linux应用程序后经常发现某个服务没有开放、某个端口没有开放这就需要一个个开放这些服务或者端口非常麻烦。有时候若忘了某个端口还要走一些弯路来查问题、解决问题花费不少时间。有没有办法一键添加这些防火墙规则开放相关的所有服务、和网络端口呢 二、解决方案
一解决思路 Linux系统有 firewall-cmd 命令可以增加服务和网络端口到防火墙规则里面我们可以通过在bash脚本中调用这个命令来实现一键添加防火墙规则。
二方案 1定义要开放的服务列表 2定义要开放的TCP和UDP端口列表 3遍历这些列表一次调用firewall-cmd来进行开放并设置永久生效 4重新装载防火墙 5查看定义的服务和端口是否正确开放。 三、脚本程序实现 直接把脚本写出来分享给大家。
一脚本代码和解释
1、脚本代码
由于我的环境是centos7.9编写如下bash代码可以在centos7以后得版本运行如下 #!/bin/bash
#适⽤于RHEL7系列、centos系列
#firewall-cmd --get-services #可以查看firewall⽀持哪些服务
#cat /etc/services #可以查看服务、端⼝的对应表servicesftp #设置服务
tcpports21 7060 8083 26088 26089 54389
udpports7060# 定义UDP端口范围
udpport_start25100
udpport_end26100#循环将每个服务添加到防⽕墙规则中
for service in $services
do
echo 添加 $service 服务到防火墙
firewall-cmd --add-service${service}
done#循环将每个tcp端⼝添加到防火墙规则中
for port in $tcpports
doecho 添加 $port 端到 防火墙sudo firewall-cmd --add-port${port}/tcp
done#循环将每个udp端⼝添加到防火墙规则中
for port in $udpports
doecho 添加 $port 端到 防火墙sudo firewall-cmd --add-port${port}/udp
done# 将udp端口范围添加到防火墙规则中
sudo firewall-cmd --add-port$udpport_start-$udpport_end/udp#将以上设置的临时防⽕墙规则转换为永久有效的规则(确保重启后有效)
sudo firewall-cmd --runtime-to-permanent 2、代码解释 脚本的目的是将指定的服务、TCP端口、UDP端口以及一个UDP端口范围添加到firewalld的防火墙规则中并确保这些规则在系统重启后仍然有效。 解释如下
1servicesftp定义一个变量services并为其分配一个值即要添加到防火墙的服务名称在这里是FTP。
2tcpports 和 udpports分别定义了要添加到防火墙的TCP和UDP端口列表。
3udpport_start 和 udpport_end定义了要添加到防火墙的UDP端口范围。
4第一个for循环遍历services变量中的每个服务并使用 firewall-cmd命令将其添加到防火墙规则中。
5第二个for循环遍历tcpports变量中的每个TCP端口并使用sudo firewall-cmd命令将其添加到防火墙规则中。这里使用了sudo因为更改防火墙规则通常需要超级用户权限。
6第三个for循环遍历udpports变量中的每个UDP端口并将其添加到防火墙规则中。
7sudo firewall-cmd --add-port$udpport_start-$udpport_end/udp这条命令将之前定义的UDP端口范围添加到防火墙规则中由于这个范围比较多一个个添加不方便。
8最后一个命令sudo firewall-cmd --runtime-to-permanent。这条命令将当前的运行时防火墙规则转换为永久规则。这意味着即使系统重新启动这些规则也会保持有效。 二脚本验证
1、脚本编辑 使用编辑器比如vi把代码输入进去 保存这个脚本到一个文件中比add-firewall-rules.sh
2、给予执行权限 chmod x add-firewall-rules.sh 3、运行脚本查看效果 可以运行这个脚本来检查进程的运行情况如下
[rootlocalhost home]#
[rootlocalhost home]# firewall-cmd --list-services
dhcpv6-client ssh[rootlocalhost home]#
[rootlocalhost home]# [rootlocalhost home]# firewall-cmd --list-ports
22/tcp
[rootlocalhost home]#
[rootlocalhost home]# sh add_firewall_rules-1.sh
添加 ftp 服务到防火墙
添加 21 端到 防火墙
success
添加 7060 端到 防火墙
success
添加 8083 端到 防火墙
success
添加 26088 端到 防火墙
success
添加 26089 端到 防火墙
success
添加 54389 端到 防火墙
success
添加 7060 端到 防火墙
success
success
success
[rootlocalhost home]# firewall-cmd --list-services
dhcpv6-client ssh ftp
[rootlocalhost home]# firewall-cmd --list-ports
22/tcp 23/tcp 7060/tcp 8083/tcp 26088/tcp 26089/tcp 54389/tcp 7060/udp 25100-26100/udp
[rootlocalhost home]#
[rootlocalhost home]# 四、扩展 在实际使用中 可能还要添加其他端口直接在脚本文件添加即可可以添加一些udp、tcp的端口列表也可以添加udp、tcp的端口范围。 另外也可以采用firewall-cmd --remove-port来删除端口语法和firewall-cmd --add-port 基本一样也可以删除端口列表也可以删除端口范围。具体实例就不累述了。