编程之路

  • home
  • article
  • class
  • label
  • utils

  • 搜索
Elasticsearch MongoDB 衡量点 aop 边缘计算 框架 物联网 敏捷开发 团队 压力测试 Markdown 学习方法 学习 产品 规范 日志 微服务 壁纸 开发平台 Java 全栈 前端 开发规范 MQTT CentOS 镜像站 IntelliJ IDEA FreeMarker UML 计算机 软件 Tomcat Netty Web Service Docker Dubbo Kafka NoSQL Redis 消息队列 RocketMQ RabbitMQ ActiveMQ 分布式事务 Spring 队列 Java 高级 GC JVM HTTP 网络安全 算法 设计模式 Spring Cloud Web SpringMVC 线程池 并发 锁🔒 多线程 Git Java 集合 Java 基础 MyBatis 数据库 MySQL Java 基础面试题 Java Nginx Linux Spring Boot

Linux CentOS 7打开关闭防火墙,开放关闭端口和相关操作(firewalld和iptables)

发表于 2022-09-15 | 分类于 操作系统 | 0 | 阅读次数 268

有些人安装的linux的系统默认防火墙不是iptables,而是firewall,那就得使用以下方式关闭防火墙了。

查看防火墙当前状态,是否是running

firewall-cmd --state

查看防火墙当前已经开放的端口

firewall-cmd --zone=public --list-ports

关闭防火墙

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --reload # 配置立即生效

关闭后执行状态命令,查看是否关闭成功,如果看到inactive(dead)就意味着防火墙关闭了。

端口的查询/开放

查询端口是否开放

firewall-cmd --query-port=8080/tcp

新建永久规则,开放8080端口(TCP协议)

firewall-cmd --permanent --add-port=8080/tcp

移除上述规则

firewall-cmd --permanent --remove-port=8080/tcp

开启某个端口

firewall-cmd --zone=public --add-port=80/tcp --permanent #开启80端口
firewall-cmd --reload # 配置立即生效

关闭某个端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent #关闭80端口
firewall-cmd --reload # 配置立即生效

IP(IP段)的开放

新建永久规则,开放192.168.1.1单个源IP的访问

firewall-cmd --permanent --add-source=192.168.1.1

新建永久规则,开放192.168.1.0/24整个源IP段的访问

firewall-cmd --permanent --add-source=192.168.1.0/24

移除上述规则

firewall-cmd --permanent --remove-source=192.168.1.1

开放端口给指定IP段。如开放给局域网192.168.1.1-192.168.1.255

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="6666" accept"
firewall-cmd --reload

批量添加区间端口

firewall-cmd --zone=public --add-port=4400-4600/udp --permanent
firewall-cmd --zone=public --add-port=4400-4600/tcp --permanent
firewall-cmd --reload # 配置立即生效

查看监听的端口

netstat -lnpt

系统服务的开放

开放http服务

firewall-cmd --permanent --add-service=http

移除上述规则

firewall-cmd --permanent --remove-service=http

自定义复杂规则(注意是否与已有规则冲突)

允许指定IP访问本机8080端口

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'

允许指定IP段访问本机8080-8090端口

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept'

禁止指定IP访问本机8080端口

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'

重启防火墙

firewall-cmd --reload
service firewalld restart

命令含义

  • –zone #作用域
  • –add-port=80/tcp #添加端口,格式为:端口/通讯协议
  • –permanent #永久生效,没有此参数重启后失效

任何修改操作,配置完成后,需要重新装载firewall。可重新启动firewalld服务。

其他常用命令:

firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助

firewall规则扩展学习

查看已开放的端口

firewall-cmd --list-ports

开放端口(开放后需要要重启防火墙才生效)

firewall-cmd --zone=public --add-port=3338/tcp --permanent

关闭端口(关闭后需要要重启防火墙才生效)

firewall-cmd --zone=public --remove-port=3338/tcp --permanent

重启防火墙

firewall-cmd --reload

开机启动防火墙

systemctl enable firewalld

开启防火墙

systemctl start firewalld

禁止防火墙开机启动

systemctl disable firewalld

停止防火墙

systemctl stop firewalld

更多命令,使用 firewall-cmd --help 查看帮助文件

下面是关于iptables的设置相关:

CentOS 7.0默认使用的是firewall作为防火墙,如果想使用使用iptables必须重新设置一下,具体方法如下:

1、直接关闭防火墙

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

2、设置 iptables service

yum -y install iptables-services

如果要修改防火墙配置,如增加防火墙端口3306

vi /etc/sysconfig/iptables

增加规则

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #iptabales规则,并非CentOS7默认规则

保存退出后

systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

常用命令:

iptables -L -n   /查看已开放端口
nano /etc/sysconfig/iptables  //编辑现有端口,也可以使用vi
systemctl restart iptables.service    //centos7 重启iptables
systemctl enable iptables.service     //centos7 开机启动iptables

直接用iptables命令形式添加/删除端口等操作:

  • 注意:192.168.0.0 是您的服务器IP地址。
telnet 127.0.0.1 8075 /测试端口是否开放telnet

iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 30000:31000 -j DNAT --to 192.168.0.0 #添加端口段
iptables -I INPUT -s 11.11.11.11 -p tcp --dport 3306 -j ACCEPT #如果需要,可指定Ip可以访问3306端口

iptables -I INPUT -p tcp --dport 8808 -j DROP //禁止所有Ip访问8808端口
iptables --line -nvL INPUT #查询规则编号或已开放端口
iptables -D INPUT 1 #删除指定规则编号的规则
iptables -I INPUT -s 127.0.0.1 -p tcp --dport 8808 -j ACCEPT #允许127.0.0.1访问8808
# Linux
超实用的 Linux 高级命令
反爬虫机制和破解方法汇总
  • 文章目录
  • 站点概览
Adrian

Adrian

曙光在头上,不抬起头,便永远只能看见物质的闪光。

120 日志
11 分类
70 标签
RSS
Creative Commons
Links
  • 美团技术团队
  • 阮一峰
  • 程序猿DD
  • SpringBoot 中文社区
  • 在线文档
  • Bean Searcher
  • OkHttps
  • Grails
  • Sa-Token
  • 程序员的进击之路
  • bugstack 虫洞栈
  • Java 全栈知识体系
  • Gobrs-Async
  • 查询网
  • 微信开放社区
  • 物联网技术指南
  • emqx
  • 看云
  • 深圳核酸检测点查询
  • Hutool
  • Spring
  • V2EX
  • v-charts
  • Vert.x 官方文档
  • Vert.x 官方文档中文翻译
  • 极客时间
  • Apache RocketMQ 开发者指南
  • 知了
  • 阿里云知行动手实验室
  • Learn Git Branching
  • Spring Boot 教程
  • 未读代码
  • 如梦技术
  • jpom
  • Cubic
  • Easy-Es
  • bing-wallpaper
  • solon
  • LuatOS
  • ThingsBoard
  • Linux 中国◆开源社区
  • Apache Dubbo
  • Jenkins
  • 技术文章摘抄
  • VueJS
  • MapStruct
  • elasticsearch 中文社区
  • Apollo(阿波罗)
  • TiKV文档
  • Chrome插件分享
  • 一步步搭建物联网系统(教你设计物联网系统)
  • 全栈增长工程师指南
  • 程序员的自我修养
  • Pro Git(中文版)
  • 学习 Web 开发
  • 极客教程
  • PingCAP 文档中心
  • 酷壳
  • Refactoring Guru 网站
  • 学习 Java 语言
  • smart-doc
  • mybatis-plus
  • 字母哥博客
0%
© 2023 Adrian
由 Halo 强力驱动
|
主题 - NexT.Gemini v5.1.4