Ubuntu防火墙连接被拒怎么办
导读:Ubuntu 防火墙导致 Connection refused 的定位与修复 一、先快速判断错误类型 出现 Connection refused(连接被拒绝) 表示连接请求已到达服务器,但目标端口上没有服务在监听或被策略主动拒绝,通常与...
Ubuntu 防火墙导致 Connection refused 的定位与修复
一、先快速判断错误类型
- 出现 Connection refused(连接被拒绝) 表示连接请求已到达服务器,但目标端口上没有服务在监听或被策略主动拒绝,通常与 SSH/SFTP 服务未运行 或 防火墙规则未放行 有关。
- 若是 Connection timed out(超时),更可能是网络不通或端口被防火墙丢弃(常见于未放行端口)。
- 注意:ping 通(ICMP)不代表 TCP 端口可达,需继续检查服务与防火墙。
二、用这组命令按顺序排查并修复
- 检查 SSH 服务是否安装并运行
- 查看状态:
sudo systemctl status ssh(或sshd) - 未安装则安装:
sudo apt update & & sudo apt install openssh-server - 启动并设为开机自启:
sudo systemctl start ssh & & sudo systemctl enable ssh
- 确认 SSH 正在监听正确的端口与地址
- 查看监听:
sudo ss -tlpn | grep ssh - 正常应看到 0.0.0.0:22 或 [::]:22;若仅 127.0.0.1:22,说明只监听本机,需修改配置:
sudo nano /etc/ssh/sshd_config,将ListenAddress设为 0.0.0.0 或注释该行,随后sudo systemctl restart ssh
- 检查并放行防火墙(UFW)
- 查看状态:
sudo ufw status;若 Status: active,确认是否有 22/tcp ALLOW 或 ssh ALLOW 规则 - 放行 SSH:
sudo ufw allow 22/tcp(或sudo ufw allow ssh) - 使规则生效:
sudo ufw reload - 如需临时验证是否为防火墙问题,可在受控环境下
sudo ufw disable测试,确认后再重新开启并保留放行规则
- 虚拟机场景的额外检查
- 网络模式:优先使用 桥接(Bridge);NAT 模式需设置端口转发(如 宿主机 2222 → 虚拟机 22)
- 获取正确 IP:
ip addr,并在客户端使用此 IP 连接
- 修改 SSH 配置后重启服务
- 常见项:
Port 22、PermitRootLogin(按需)、PasswordAuthentication(按需) - 重启:
sudo systemctl restart ssh
- 进一步定位
- 本机自测:
ssh localhost - 端口探测:
telnet < 服务器IP> 22或nc -vz < IP> 22 - 查看日志:
sudo tail -f /var/log/auth.log(SSH 登录相关日志)
三、常见场景与对应修复
| 场景 | 典型现象 | 快速修复 |
|---|---|---|
| SSH 未安装/未启动 | Connection refused | sudo apt install openssh-server;sudo systemctl start ssh &
&
sudo systemctl enable ssh |
| 防火墙未放行 22 端口 | Connection refused | sudo ufw allow 22/tcp;sudo ufw reload |
| SSH 仅监听 127.0.0.1 | 本机能连,外部被拒 | /etc/ssh/sshd_config 设 ListenAddress 0.0.0.0;sudo systemctl restart ssh |
| 虚拟机 NAT 未做端口转发 | Connection refused/超时 | 配置端口转发(如 2222→22),客户端连 宿主机IP:2222 |
| 修改过端口但未放行新端口 | Connection refused | sudo ufw allow <
新端口>
/tcp;sudo ufw reload,并用新端口连接 |
四、安全建议
- 避免长期关闭防火墙;放行最小必要端口(如仅 22/tcp),必要时按 IP 段限制:
sudo ufw allow from 192.168.1.0/24 to any port 22 - 修改默认端口后,同步更新防火墙规则与客户端配置,并保留
sudo ufw status numbered以便审计与回滚
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu防火墙连接被拒怎么办
本文地址: https://pptw.com/jishu/753260.html
