vlambda博客
学习文章列表

使用linux,这些防火墙和端口命令,你需要收藏

工作中,使用linux系统时,部署服务,排查问题,都离不开防火墙和端口的相关操作,比如怎么查看防火墙状态,端口占用怎么查看,以及如何开放一个端口等,今天同哥就把linux防火墙操作的命令做一个总结,希望对刚入门linux童鞋一点帮助。

先了解点背景知识:

防火墙实现原理图:

使用linux,这些防火墙和端口命令,你需要收藏


有点晕,简单来说,就是在用户和服务器之间,通过硬件和软件设置一系列的过滤规则,允许或是限制传输的数据通过。

下面的命令主要以主流的Centos7系统为准,其他发行版本大家可以自行学习。

firewalld基本命令

查看版本:firewall-cmd --version
查看帮助:firewall-cmd --help
显示状态:firewall-cmd --state
更新防火墙规则:firewall-cmd --reload
查看区域信息:  firewall-cmd --get-active-zones
查看指定接口所属区域:firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态:firewall-cmd --panic-off
查看是否拒绝:firewall-cmd --query-panic

firewalld服务操作

# 查看firewall状态:
systemctl status firewalld.service
# 启动firewall服务: 
systemctl start firewalld.service 
 #停止firewall服务
systemctl stop firewalld.service
#禁止firewall开机启动
systemctl disable firewalld.service 

查看端口占用

查看所有打开的端口:firewall-cmd --zone=public --list-ports

查看监听的端口:netstat -lnpt

netstat参数说明:

   -t : 指明显示TCP端口
-a : 显示所有socket(套接字),包括正在监听的(LISTEN)
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)

使用linux,这些防火墙和端口命令,你需要收藏


查看指定端口的进程信息:

#查看端口被那个进程占用
方法一:netstat -lnpt |grep 3306
方法二:lsof  -i :3306
#查看该进程详细信息
ps 进程号


那怎么开启一个端口呢

# 添加端口
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
# 重新载入
firewall-cmd --reload
# 查看端口是否开放
firewall-cmd --zone=public --query-port=80/tcp
# 删除添加的开放端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent

这些命令收藏了,下次防火墙操作,跟着敲就行了。

往期推荐



吾非同
分享Python教程、自动化测试、爬虫、linux、程序员有关技能。回复 「1024」给你想要的。
152篇原创内容
Official Account