我是在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

  1. 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