我是在root下操作的,普通用户需要sudo权限 ufw disable 关闭 ufw enable 开启 此文件可以关闭ipv6 /etc/default/ufw 查看规则 ufw status 添加规则示例:
ufw default allow outgoing
ufw default deny incoming
ufw default deny 关闭所有外部访问端口
ufw allow ssh ufw allow 22
ufw allow 80/tcp
ufw allow http/tcp
ufw allow 1725/udp
ufw allow 25:29/udp
ufw allow from 123.45.67.89
ufw allow from 123.45.67.89/24
ufw allow from 123.45.67.89 to any port 22 proto tcp
sudo ufw allow from 192.168.1.1 允许此IP访问所有的本机端口
sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22 要拒绝所有的TCP流量从10.0.0.0/8 到192.168.0.1地址的22端口
======================================== 日志目录:vim /var/log/ufw.log sudo ufw logging on 启动日志 sudo ufw logging off 关闭日志 sudo ufw logging low|medium|high
- Sep 16 15:08:14 <hostname> kernel: [UFW BLOCK] IN=eth0 OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:00:00 SRC=0.0.0.0 DST=0.0.0.0 LEN=40 TOS=0x00 PREC=0x00 TTL=249 ID=8475 PROTO=TCP SPT=485 DPT=22 WINDOW=1024 RES=0x00 SYN URGP=0 前面的值列出了你的服务器的日期、时间、主机名。剩下的重要信息包括:
- [UFW BLOCK]:这是记录事件的描述开始的位置。在此例中,它表示阻止了连接。
- IN:如果它包含一个值,那么代表该事件是传入事件
- OUT:如果它包含一个值,那么代表事件是传出事件
- MAC:目的地和源 MAC 地址的组合
- SRC:包源的 IP
- DST:包目的地的 IP
- LEN:数据包长度
- TTL:数据包 TTL,或称为 time to live。 在找到目的地之前,它将在路由器之间跳跃,直到它过期。
- PROTO:数据包的协议
- SPT:包的源端口
- DPT:包的目标端口
- WINDOW:发送方可以接收的数据包的大小
- SYN URGP:指示是否需要三次握手。 0 表示不需要。
======================================== 一下三条可以查看操作系统端口监听的情况
netstat -an | grep LISTEN | grep -v ^unix” netstat -ntulp lsof -i -n -P