侧边栏壁纸
博主头像
大凯同学博主等级

又一个春夏秋冬开始了,我还是我

  • 累计撰写 35 篇文章
  • 累计创建 59 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Linux防火墙常用相关命令

大凯同学
2022-10-09 / 0 评论 / 3 点赞 / 46 阅读 / 1,120 字

以下命令基于Red hat/Centos7.x系列

  • 查看防火墙状态
firewall-cmd --list-all
  • 暂时关闭防火墙
systemctl stop firewalld
  • 永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
  • 重启防火墙
systemctl enable firewalld

firewalld

Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。

1.启动防火墙

systemctl start firewalld
2.禁用防火墙

systemctl stop firewalld
3.设置开机启动

systemctl enable firewalld
4.停止并禁用开机启动

sytemctl disable firewalld
5.重启防火墙

firewall-cmd --reload
6.查看状态

systemctl status firewalld或者 firewall-cmd --state
7.查看版本

firewall-cmd --version
8.查看帮助

firewall-cmd --help
9.查看区域信息

firewall-cmd --get-active-zones
10.查看指定接口所属区域信息

firewall-cmd --get-zone-of-interface=eth0
11.拒绝所有包

firewall-cmd --panic-on
12.取消拒绝状态

firewall-cmd --panic-off
13.查看是否拒绝

firewall-cmd --query-panic
14.将接口添加到区域(默认接口都在public)

firewall-cmd --zone=public --add-interface=eth0(永久生效再加上 --permanent 然后reload防火墙)
15.设置默认接口区域

firewall-cmd --set-default-zone=public(立即生效,无需重启)
16.更新防火墙规则

firewall-cmd --reload或firewall-cmd --complete-reload(两者的区别就是第一个无需断开连接,就是firewalld特性之一动态
添加规则,第二个需要断开连接,类似重启服务)
17.查看指定区域所有打开的端口

firewall-cmd --zone=public --list-ports
18.在指定区域打开端口(记得重启防火墙)

firewall-cmd --zone=public --add-port=80/tcp(永久生效再加上 --permanent)

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

注:开启后需要重启防火墙才生效

【重启命令】: firewall-cmd --reload

其他常用命令:

firewall-cmd --state ##查看防火墙状态,是否是running
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端口
firewall-cmd --remove-port=80/tcp --permanent ##永久移除80端口
firewall-cmd --zone=public --list-ports ##查看已开放的端口

iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd

1、开放端口

firewall-cmd --zone=public --add-port=5672/tcp --permanent 
#永久 开放5672端口

firewall-cmd --zone=public --remove-port=5672/tcp --permanent
#永久关闭5672端口

firewall-cmd --reload # 配置立即生效

2、查看防火墙所有开放的端口

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

3.、关闭防火墙

如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估

systemctl stop firewalld.service

4、查看防火墙状态

firewall-cmd --state

5、查看监听的端口

netstat -lnpt

PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools

6、检查端口被哪个进程占用

netstat -lnpt |grep 5672

7、查看进程的详细信息

ps 6832

8、中止进程

kill -9 6832

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

selinux

  • Selinux的配置文件位置

使用config文件来配置selinux(通过配置文件修改selinux的状态属于永久修改,要重启系统才生效)

/etc/selinux/config  	#其一
/etc/sysconfig/selinux  #其二
  • 文件参数详情
SELINUX=enforcing
#此项定义selinux状态。
#enforcing—是强制模式系统受selinux保护。就是你违反了策略,你就无法继续操作下去
#permissive—是提示模式系统不会受到selinux保护,只是收到警告信息。permissive就是Selinux有效,但是即使你违反了策略的话它让你继续操作,但是把你的违反的内容记录下来(警告信息)
#disabled—禁用selinux。
  • sestatus 查询selinux工作状态
[root@VM-24-5-centos ~]# sestatus
SELinux status:                 disabled
  • getenforce查看selinux的状态
[root@VM-24-5-centos ~]# getenforce
  • setenforce设定selinux运行状态,1开启(Enforcing),0关闭(Permissive)
[root@VM-24-5-centos ~]# setenforce
3

评论区