CentOS7防火墙相关指令

zwy 2月前 ⋅ 103 阅读

1、查看防火墙状态
firewall-cmd --state

2、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports

3、关闭防火墙(开启、开机启动等命令见下方不常用命令)
systemctl stop firewalld.service
画外音:因环境不同,安全性自己评估。非开发环境,有外网不建议关闭。

4、开放指定端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent

5、关闭端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

6、重载防火墙,配置生效
firewall-cmd --reload

7、查看端口状态
netstat -lnpt
画外音:查看指定端口 netstat -lnpt |grep 8080

Proto
Recv-Q
Send-Q
Local Address
Foreign Address
State
PID/Program name
协议(不关注) 收取(不关注) 发送(不关注) 端口在这里看 访问IP(不关注) 状态(排查问题用) 进程号/进程名称(关注)
tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN 11411/nginx: master

8、其他不常用命令

启动: systemctl start firewalld
停止运行: systemctl stop firewalld
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service

信任服务,以smtp服务为例
添加:firewall-cmd --zone=work --add-service=smtp
查看:firewall-cmd --zone=work --query-service=smtp
删除:firewall-cmd --zone=work --remove-service=smtp

配置 IP 地址伪装(默认开启)
查看:firewall-cmd --zone=external --query-masquerade
打开:firewall-cmd --zone=external --add-masquerade
关闭:firewall-cmd --zone=external --remove-masquerade
画外音:简单理解就是局域网外只能看到出口IP,只支持IPV4

端口转发
画外音:不推荐使用,更多采用nginx或硬件。
转发 tcp 22 端口至 2222:
firewall-cmd --zone=external --add-forward-port=22:porto=tcp:toport=2222
转发端口数据至另一个IP的相同端口:
firewall-cmd --zone=external --add-forward-port=22:porto=tcp:toaddr=192.168.1.2
转发端口数据至另一个IP的 3753 端口:
firewall-cmd --zone=external --add-forward-port=22:porto=tcp::toport=2222:toaddr=192.168.1.2


全部评论: 0

    我有话说: