Ubuntu防火墙(ufw)限制端口访问的完整步骤
Ubuntu系统通常预装ufw,若未安装,可通过以下命令安装:
sudo apt update sudo apt install ufw
sudo ufw enable
系统会提示确认,输入y
并按回车键。启用后,ufw会在系统启动时自动运行。sudo ufw default deny
若需禁止所有外部IP访问某一端口(如禁止外部访问FTP端口21/tcp),可使用以下命令:
sudo ufw deny 21/tcp
21/tcp
表示TCP协议的21端口,若需限制UDP端口,将tcp
替换为udp
(如21/udp
)。sudo ufw status
输出中会显示21/tcp DENY Anywhere
,表示规则已生效。若需允许所有外部IP访问某一端口(如允许HTTP端口80/tcp),可使用以下命令:
sudo ufw allow 80/tcp
sudo ufw status
会显示80/tcp ALLOW Anywhere
。若需限制仅某一IP(如192.168.1.100
)可访问某一端口(如SSH端口22/tcp),可使用以下命令:
sudo ufw allow from 192.168.1.100 to any port 22
from 192.168.1.100
指定源IP,to any port 22
表示目标端口为22/tcp(可简写为sudo ufw allow from 192.168.1.100 to any port 22/tcp
)。sudo ufw status
输出中会显示192.168.1.100 ALLOW to any port 22
。若需禁止某一IP(如192.168.1.100
)访问某一端口(如SSH端口22/tcp),可使用以下命令:
sudo ufw deny from 192.168.1.100 to any port 22
若需删除已添加的规则(如删除允许192.168.1.100
访问22/tcp的规则),可使用以下命令:
sudo ufw delete allow from 192.168.1.100 to any port 22
若需通过编号删除规则(更直观),可使用以下命令查看带编号的规则列表:
sudo ufw status numbered
输出示例:
Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN 192.168.1.100 [ 2] 80/tcp ALLOW IN Anywhere
sudo ufw delete 1
若需清除所有自定义规则并恢复默认状态,可使用以下命令:
sudo ufw reset
/etc/ufw/
目录下),防止误操作导致无法访问。telnet
或nmap
工具),确保规则生效。sudo ufw logging on
日志文件默认存储在/var/log/ufw.log
。通过以上步骤,可灵活使用ufw限制Ubuntu防火墙的端口访问,保障系统安全。