【Linux】CentOS7防火墙开启、停止、关闭,添加删除开放端口

2023-05-16

防火墙管理

文章目录

  • 防火墙管理
  • 1、直接关闭防火墙
  • 2、firewalld防火墙的基本使用
  • 3、防火墙端口管理
  • 4、参考资料

CentOS7防火墙

CentOS7默认安装了firewalld防火墙

利用防火墙,我们可以允许或是限制传输的数据通过

firewall

在这里插入图片描述

1、直接关闭防火墙

systemctl status firewalld (查看防火墙状态)

systemctl stop firewalld (停止防火墙)

systemctl disable firewalld(禁止开机启动)

eg:

[root@liuawen ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-05-10 16:04:31 CST; 41min ago
     Docs: man:firewalld(1)
 Main PID: 31591 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─31591 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

May 10 16:04:31 liuawen systemd[1]: Starting firewalld - dynamic firewall daemon...
May 10 16:04:31 liuawen systemd[1]: Started firewalld - dynamic firewall daemon.
May 10 16:04:32 liuawen firewalld[31591]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP'...chain?).
May 10 16:04:32 liuawen firewalld[31591]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP'...chain?).
May 10 16:29:05 liuawen firewalld[31591]: WARNING: NOT_ENABLED: 8010-8015:tcp
May 10 16:32:04 liuawen firewalld[31591]: WARNING: NOT_ENABLED: 2181:tcp
May 10 16:37:21 liuawen firewalld[31591]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP'...chain?).
May 10 16:37:21 liuawen firewalld[31591]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP'...chain?).
Hint: Some lines were ellipsized, use -l to show in full.
[root@liuawen ~]# systemctl stop firewalld
[root@liuawen ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
[root@liuawen ~]# systemctl is-enabled firewalld.service
disabled
[root@liuawen ~]# 

2、firewalld防火墙的基本使用

开启、关闭、重启、禁用、查看防火墙

firewall-cmd --state 
查看防火墙的状态state firewall-cmd --state 
停止防火墙:  systemctl stop firewalld
开启防火墙:  systemctl start firewalld
查看防火墙状态:systemctl status firewalld
重新启动防火墙:systemctl restart firewalld
开机禁用就是开机不启动防火墙服务 : systemctl disable firewalld
开机启用防火墙服务  : systemctl enable firewalld


查看防火墙服务是否开机启动:systemctl is-enabled firewalld.service

查看版本: firewall-cmd --version
显示状态: firewall-cmd --state
查看帮助: firewall-cmd --help
更新防火墙规则: firewall-cmd --reload
查看所有打开的端口: firewall-cmd --zone=public --list-ports

eg:

[root@liuawen ~]#  firewall-cmd --reload
success
[root@liuawen ~]# firewall-cmd --version
0.6.3
[root@liuawen ~]# firewall-cmd --state 
running
[root@liuawen ~]# systemctl stop firewalld
[root@liuawen ~]# systemctl start firewalld
[root@liuawen ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-05-10 16:03:38 CST; 45s ago
     Docs: man:firewalld(1)
 Main PID: 31323 (firewalld)
    Tasks: 2
   Memory: 21.9M
   CGroup: /system.slice/firewalld.service
           └─31323 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

May 10 16:03:38 liuawen systemd[1]: Starting firewalld - dynamic firewall daemon...
May 10 16:03:38 liuawen systemd[1]: Started firewalld - dynamic firewall daemon.
May 10 16:03:38 liuawen firewalld[31323]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP'...chain?).
May 10 16:03:39 liuawen firewalld[31323]: WARNING: COMMAND_FAILED: '/usr/sbin/iptables -w10 -D FORWARD -i docker0 -o docker0 -j DROP'...chain?).
Hint: Some lines were ellipsized, use -l to show in full.
[root@liuawen ~]# systemctl restart firewalld
[root@liuawen ~]#  systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
[root@liuawen ~]# systemctl enable firewalld.service
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
[root@liuawen ~]# systemctl enable firewalld.service
[root@liuawen ~]# systemctl is-enabled firewalld.service
enabled
[root@liuawen ~]# 

CentOS7 我执行service firewall start,错误信息[root@liuawen ~]# service firewall start Redirecting to /bin/systemctl start firewall.service Failed to start firewall.service: Unit not found. [root@liuawen ~]# systemctl start firewalld

可以执行systemctl start firewalld这个。

3、防火墙端口管理

开放删除端口

firewall-cmd --permanent --add-port=2181/tcp
firewall-cmd -reload
firewall-cmd --permanent --remove-port=2181/tcp
firewall-cmd --permanent --list-ports 

–permanent参数是永久生效,没有此参数时,重新启动系统之前的开启或删除端口失效了。

–reload重新加载

firewall-cmd --permanent --add-port=8080-8085/tcp设置一个范围 ,--remove-port=8080-8085删除也是一个范围 。

查看开启的端口和服务

firewall-cmd --permanent --list-ports 

eg:

[root@liuawen ~]# firewall-cmd --permanent --remove-port=2181/tcp
Warning: NOT_ENABLED: 2181:tcp
success
[root@liuawen ~]# firewall-cmd --permanent --add-port=2181/tcp
success
[root@liuawen ~]# firewall-cmd --permanent --remove-port=2181/tcp
success
[root@liuawen ~]# firewall-cmd --permanent --add-port=2181/tcp
success
[root@liuawen ~]# firewall-cmd --permanent --list-ports 
20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 888/tcp 3306/tcp 3306/udp 8001/tcp 8001/udp 8002/tcp 8002/udp 8003/tcp 8003/udp 8000/tcp 8000/udp 8080/tcp 2181/udp 2181/tcp
[root@liuawen ~]# firewall-cmd --permanent --remove-port=2181/udp
success
[root@liuawen ~]# firewall-cmd --permanent --remove-port=2181/tcp
success
[root@liuawen ~]# firewall-cmd --permanent --list-ports 
20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 888/tcp 3306/tcp 3306/udp 8001/tcp 8001/udp 8002/tcp 8002/udp 8003/tcp 8003/udp 8000/tcp 8000/udp 8080/tcp
[root@liuawen ~]#  firewall-cmd --reload
success
[root@liuawen ~]# firewall-cmd --version
0.6.3
[root@liuawen ~]# firewall-cmd --state
running
[root@liuawen ~]#  firewall-cmd --zone=public --list-ports
20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 888/tcp 3306/tcp 3306/udp 8001/tcp 8001/udp 8002/tcp 8002/udp 8003/tcp 8003/udp 8000/tcp 8000/udp 8080/tcp
[root@liuawen ~]#  firewall-cmd --get-active-zones
[root@liuawen ~]# firewall-cmd --get-zone-of-interface=eth0
no zone
[root@liuawen ~]# firewall-cmd --get-zone-of-interface=8080
no zone
[root@liuawen ~]# firewall-cmd --get-zone-of-8080=eth0
usage: see firewall-cmd man page
firewall-cmd: error: unrecognized arguments: --get-zone-of-8080=eth0
[root@liuawen ~]# firewall-cmd --zone= public --query-port=80/tcp
usage: see firewall-cmd man page
firewall-cmd: error: unrecognized arguments: public
[root@liuawen ~]# firewall-cmd --zone=public --query-port=80/tcp
yes
[root@liuawen ~]# firewall-cmd --zone=public --query-port=2181/tcp
no
[root@liuawen ~]# firewall-cmd --permanent --add-port=2191/tcp
success
[root@liuawen ~]# firewall-cmd  --list-ports 
20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 888/tcp 3306/tcp 3306/udp 8001/tcp 8001/udp 8002/tcp 8002/udp 8003/tcp 8003/udp 8000/tcp 8000/udp 8080/tcp
[root@liuawen ~]# 


4、参考资料

1、Docker环境下前后端分离项目部署与运维-防火墙管理

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Linux】CentOS7防火墙开启、停止、关闭,添加删除开放端口 的相关文章

  • 如何在shell中输出返回码?

    我正在尝试通过调用自定义 shell 脚本sh bin sh c myscript sh gt log txt 2 gt 1 echo 该命令的输出是创建的后台进程的 PID 我想指导 bin sh保存返回码myscript sh到某个文件
  • Linux 中什么处理 ping?

    我想覆盖 更改 linux 处理 ping icmp echo 请求数据包的方式 这意味着我想运行自己的服务器来回复传入的 icmp 回显请求或其他 数据包 但为了使其正常工作 我想我需要禁用 Linux 的默认 ping icmp 数据包
  • 如何通过保持目录结构完整来同步路径中匹配模式的文件?

    我想将所有文件从服务器 A 复制到服务器 B 这些文件在不同级别的文件系统层次结构中具有相同的父目录名称 例如 var lib data sub1 sub2 commonname filetobecopied foo var lib dat
  • C语言中如何通过内存地址映射函数名和行号?

    如何用 GCC 中的内存地址映射回函数名称和行号 即假设一个 C 语言原型 void func Get the address of caller maybe this could be avoided MemoryAddress get
  • 为什么我可以直接从 bash 执行 JAR?

    我是一个长期从事 Java 工作的人 并且知道运行带有主类的 JAR 的方法MANIFEST MFJar 中的文件很简单 java jar theJar jar 我用它来启动 Fabric3 服务器 包含在bin server jar在其标
  • PHP 无法打开流:是一个目录

    非常简单的 PHP 脚本 我在我亲自设置的 Ubuntu Web 服务器上的 EE 模板中运行 我知道这与权限有关 并且我已经将我尝试写入的目录的所有者更改为 Apache 用户 我得到的错误是 遇到 PHP 错误 严重性 警告 消息 fi
  • jq中如何分组?

    这是 json 文档 name bucket1 clusterName cluster1 name bucket2 clusterName cluster1 name bucket3 clusterName cluster2 name bu
  • 是否可以创建一个脚本来保存和恢复权限?

    我正在使用 Linux 系统 需要对一组嵌套文件和目录进行一些权限实验 我想知道是否没有某种方法可以保存文件和目录的权限 而不保存文件本身 换句话说 我想保存权限 编辑一些文件 调整一些权限 然后将权限恢复到目录结构中 将更改的文件保留在适
  • 我不明白 execlp() 在 Linux 中如何工作

    过去两天我一直在试图理解execlp 系统调用 但我还在这里 让我直奔主题 The man pageexeclp 将系统调用声明为int execlp const char file const char arg 与描述 execl exe
  • Linux:如何设置进程的时区?

    我需要设置在 Linux 机器上启动的各个进程的时区 我尝试设置TZ变量 在本地上下文中 但它不起作用 有没有一种方法可以使用与系统日期不同的系统日期从命令行运行应用程序 这可能听起来很愚蠢 但我需要一种sandbox系统日期将被更改的地方
  • 我如何知道 C 程序的可执行文件是在前台还是后台运行?

    在我的 C 程序中 我想知道我的可执行文件是否像这样在前台运行 a out 或者像这样 a out 如果你是前台工作 getpgrp tcgetpgrp STDOUT FILENO or STDIN FILENO or STDERR FIL
  • 进程退出后 POSIX 名称信号量不会释放

    我正在尝试使用 POSIX 命名信号量进行跨进程同步 我注意到进程死亡或退出后 信号量仍然被系统打开 在进程 打开它 死亡或退出后是否有办法使其关闭 释放 早期的讨论在这里 当将信号量递减至零的进程崩溃时 如何恢复信号量 https sta
  • 快速像素绘图库

    我的应用程序以每像素的方式生成 动画 因此我需要有效地绘制它们 我尝试过不同的策略 库 但结果并不令人满意 尤其是在更高分辨率的情况下 这是我尝试过的 SDL 好的 但是慢 OpenGL 像素操作效率低下 xlib 更好 但仍然太慢 svg
  • NUMA 在虚拟内存中是如何表示的?

    有许多资源 https en wikipedia org wiki Non uniform memory access从硬件角度描述NUMA的架构性能影响 http practical tech com infrastructure num
  • 在 C++ linux 中将 STRINGS 写入串口

    我知道这个问题遍布互联网 但仍然没有任何东西能让我完全解决这个问题 我想用 C linux 将数据写入 Propeller 板的串行端口 从控制台获取输入时程序运行良好 但是当我向它写入字符串时总是返回 ERROR Invalid comm
  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • Python 脚本作为 Linux 服务/守护进程

    Hallo 我试图让 python 脚本作为服务 守护进程 在 ubuntu linux 上运行 网络上存在多种解决方案 例如 http pypi python org pypi python daemon http pypi python
  • 警告:请求的映像平台 (linux/amd64) 与检测到的主机平台 (linux/arm64/v8) 不匹配

    警告 请求的映像平台 linux amd64 与检测到的主机平台 linux arm64 v8 不匹配 并且未请求特定平台 docker 来自守护程序的错误响应 无法选择具有功能的设备驱动程序 gpu 我在 mac 上尝试运行此命令时遇到此
  • 如何从 PROC 获取有关子进程的信息

    我正在尝试编写一个以几个进程作为参数的程序 然后父进程执行每个子进程并打印出一些相关的统计信息 示例 generate ls l 将生成一个程序 打印出有关 ls l 的一些统计信息 特别是其系统时间 用户时间和上下文切换次数 我不想使用
  • vagrant ssh -c 并在连接关闭后保持后台进程运行

    我正在编写一个脚本来启动和后台流浪机器内的进程 似乎每次脚本结束和 ssh 会话结束时 后台进程也会结束 这是我正在运行的命令 vagrant ssh c cd vagrant src nohup python hello py gt he

随机推荐