Ubuntu VNC配置防火墙步骤(以UFW为例)
VNC服务的默认端口规则为:显示编号:n对应端口号5900+n(例如:1对应5901,:2对应5902)。启动VNC服务器时需明确显示编号(如vncserver :1),后续防火墙规则需根据实际端口配置。
UFW(Uncomplicated Firewall)是Ubuntu默认的防火墙管理工具,需先确保其已安装并启用:
sudo apt update
sudo apt install ufw # 安装UFW(若未安装)
sudo ufw enable # 启用UFW(系统会提示确认,输入y)
根据VNC显示编号,使用ufw allow命令开放对应端口(以:1/5901为例):
sudo ufw allow 5901/tcp # 允许TCP协议的5901端口(VNC默认端口)
若需允许多个连续端口(如5900-5903),可使用范围语法:
sudo ufw allow 5900:5903/tcp # 允许5900至5903端口
执行以下命令查看UFW规则列表,确认VNC端口已成功添加:
sudo ufw status # 查看防火墙状态(需开启“显示数字”以确认端口)
输出示例(应包含5901/tcp ALLOW):
Status: active
To Action From
-- ------ ----
5901/tcp ALLOW Anywhere
5901/tcp (v6) ALLOW Anywhere (v6)
若仅需允许特定IP地址访问VNC服务,可将规则细化为“仅允许指定IP访问端口”(以192.168.1.100为例):
sudo ufw allow from 192.168.1.100 to any port 5901/tcp
此命令将拒绝其他IP地址对该端口的访问,提升安全性。
若修改了VNC端口或配置文件,需重启VNC服务使更改生效:
vncserver -kill :1 # 杀死当前VNC实例(:1为显示编号)
vncserver :1 # 重新启动VNC实例
5902及以上),需确保VNC服务器启动时指定了正确显示编号(如vncserver :2对应5902端口),且防火墙规则与端口一致。ssh -L 5901:localhost:5901 user@your_server_ip),将VNC流量加密传输,进一步提升安全性。