热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS7一键增加删除防火墙端口

简介:本文介绍CentOS7上安装shadowsocks后,关于防火墙的处理。CentOS7上防火墙变成了firewalld,而非iptables,所以操作上也不太一样。尤其是安装完

简介:本文介绍CentOS7上安装shadowsocks后,关于防火墙的处理。
CentOS7上防火墙变成了firewalld,而非iptables,所以操作上也不太一样。尤其是安装完shadowsocks之后,发现添加的端口不起作用了。原因就是防火墙把那个端口毙了。
firewalld默认的配置文件有:/usr/lib/firewalld,这个是系统的尽量不要修改。用户的在/etc/firewalld/zones下的public.xml。可以手动编辑添加,也可以用命令:

添加端口

# firewall-cmd --zOne=public --add-port=6022/tcp --permanent
# firewall-cmd --zOne=public --add-port=6022/udp --permanent

删除一个端口

# firewall-cmd --zOne=public --remove-port=6022/tcp --permanent
# firewall-cmd --zOne=public --remove-port=6022/udp --permanent

之后运行firewall-cmd --reloadfirewall-cmd --complete-reload重启就ok了。一般运行前者即可.

一键增加删除端口

本脚本已上传至github,欢迎使用fork.

为此我写了个脚本,新建文件myport,注意不要带后缀:

#!/bin/bash
num=$#
ok=0
if [ ${num} != 2 ]; then
echo 'error:you must input two parmas, first is add or remote, second is port number'
exit 0
fi

case $1 in

add)
firewall-cmd --zOne=public --add-port=$2/tcp --permanent
firewall-cmd --zOne=public --add-port=$2/udp --permanent
ok=1
;;

remove)
firewall-cmd --zOne=public --remove-port=$2/tcp --permanent
firewall-cmd --zOne=public --remove-port=$2/udp --permanent
ok=1
;;

*)
echo 'first params must be "add" or "remove"'
;;

esac
if [ ${ok} == 1 ]; then
firewall-cmd --reload
firewall-cmd --zOne=public --list-all
fi
exit 0

将脚本增加可执行权限,然后mv到/usr/local/sbin目录即可!

使用示例

增加端口:
myport add 4444
删除端口 :
myport remove 4444

脚本编写过程中的注意事项

  1. 关于变量,第一次赋值时不带 符号,直到使用时才带$号;
  2. 关于shell脚本里的if else,if和[]之间一定要带个空格,然后[]里的表达式两端也要带个空格.
  3. shell里的switch语句,;;表示break的意思,*)表示default意思。esac是switch结束标志。

设置防火墙端口区间

每次修改shadowsocks,用本脚本还嫌麻烦的话,那可以增加端口区间:

firewall-cmd --zOne=public --add-port=4400-4600/udp --permanent
firewall-cmd --zOne=public --add-port=4400-4600/tcp --permanent

这样4400-4600这个区间的端口都是允许的。

当然也可以直接编辑public.xml,在里面增加:

  <port protocol="udp" port="4400-4600"/>
<port protocol="tcp" port="4400-4600"/>

参考:
1. CentOS7下使用firewall
2. CentOS 7 使用iptables替换自带的firewall


推荐阅读
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍了在CentOS 7.x上进行端口映射配置的方法,通过修改内核和配置防火墙实现端口映射。作者分享了自己使用华为服务器进行端口映射的经验,发现网速比直连还快且稳定。详细的配置过程包括开启系统路由模式功能、设置IP地址伪装、设置端口映射等。同时,还介绍了如何监听本地端口的tcp请求,以及删除规则和开放的端口的方法。 ... [详细]
  • NFS文件共享系统
    1、概述:NFS(NetworkFileSystem)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享 ... [详细]
  • 阿里云主机实战应用之centos7上的防火墙设置
    最近公司又上了一台服务器,以前都是用centos6系统,这次选择使用了centos7系统的安装镜像,因为现在程序版本在centos7上一般php默认就是5.4以上的,mysql也 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 1、打开etcsysconfiggrub,   #vimetcsysconfiggrub   内容如下: ... [详细]
  • IP双栈环境下网络应用迁移
    IPv4向IPv6迁移有多种途径,在选择具体的迁移方式时,当前环境中运行的应用是否支持IPv6是重要的考量因素之一,同时在编写新的应用时,需要考虑新编写的应用不仅可以适应当前主流的IPv4环境, ... [详细]
  • windows平台使用NSP拦截具体进程的域名解析过程(xFsRedir的代理功能之域名代理)
    byfanxiushu2022-10-17转载或引用请注明原始作者。xFsRedir软件其中之一的功能就是实现了全方位的网络代理,从主机代理,到本地代理 ... [详细]
  • 修改第二步中按TAB键出来的命令这里注意了:网上很多文章都说这一步改成“>vmlinuzinitrdinitrd.imginst.stage2hd:devsdbquiet”什么的, ... [详细]
author-avatar
浅蓝色shenjinjin
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有