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防火墙的端口访问,保障系统安全。