Linux防火墙手册
ufw
默认的策略定义在/etc/default/ufw文件中,并且可以通过使用sudo ufw default 命令来修改
-
列举出你系统上所有的应用配置,输入:
sudo ufw app list
-
如果因为某些原因,它没有被安装,可以通过输入下面的命令安装它:
sudo apt update
sudo apt install ufw
-
安装过程不会自动激活防火墙,以避免服务器被锁住。可以检查 UFW 的状态,输入:
sudo ufw status verbose
sudo ufw status numbered
-
启动ufw:
sudo ufw enable
-
wsl2-ubuntu-20.04 bug修复:
sudo vim /usr/lib/python3/dist-packages/ufw/util.py
-
关闭ufw:
sudo ufw disable
-
通用的打开端口的语法如下:
ufw allow port_number/protocol
http -> 80
https -> 443
ssh -> 22
-
打开端口:
sudo ufw allow 8000/tcp
-
打开端口范围8000到8100:
sudo ufw allow 8000:8100/tcp
-
关闭端口:
sudo ufw deny 8000/tcp
当没有给出协议的时候,UFW 同时创建tcp和udp的规则。
-
允许指定 IP 地址访问指定端口:
- 添加IP 地址白名单:
sudo ufw allow from 64.63.62.61
- 指定端口:
sudo ufw allow from 64.63.62.61 to any port 22
- 添加IP 地址白名单:
-
显示如何允许 IP 地址(192.168.1.1 到 192.168.1.254),通过 3360(MySQL) 的命令:
sudo ufw allow from 192.168.1.0/24 to any port 3306
-
禁止访问:
sudo ufw deny from 23.24.25.0/24
sudo ufw deny proto tcp from 23.24.25.0/24 to any port 80,443
-
删除规则:
- 查询:
sudo ufw status numbered
- 删除编号3端口:
sudo ufw delete 3
- 查询:
-
重置ufw:
sudo ufw reset
参考教程:https://zhuanlan.zhihu.com/p/139381645
systemctl
-
查看防火状态
systemctl status firewalld -
暂时关闭防火墙
systemctl stop firewalld -
永久关闭防火墙
systemctl disable firewalld -
重启防火墙
systemctl enable firewalld
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: 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