在 Hetzner Cloud 面板开放特定端口,需进入 Firewalls 菜单创建新防火墙,添加 Inbound 规则指定协议和端口,最后将防火墙绑定到目标服务器。此操作适用于所有云主机,但修改规则前需确保拥有 Console 访问权限以防 SSH 中断。
先说结论:面板设置防火墙是控制流量的首选方式,规则即时生效且支持批量绑定。
- 适合:需要集中管理多台服务器网络访问权限的场景。
- 先准备:服务器 Console 访问权限,避免规则错误导致无法远程连接。
- 验收:使用外部网络工具测试端口连通性,确认规则按预期放行或拒绝。
快速处理思路
登录面板后点击左侧 Firewalls,创建新防火墙后在 Inbound 栏添加规则,保存后在 Servers 页面将防火墙分配给实例。
为什么会这样
Hetzner 防火墙默认拒绝所有入站流量,仅允许明确放行的端口通过。防火墙位于 hypervisor 层,独立于操作系统内部防火墙,优先级更高。
分步处理
1. 登录 Hetzner Cloud Console,左侧菜单选择 Firewalls,点击 Create Firewall。
2. 命名防火墙,在 Inbound 区域点击 Add Rule,选择协议(TCP/UDP)并填写端口范围。
3. 来源 IP 留空代表允许所有地址访问,若需限制特定 IP 则填写 CIDR 格式。
4. 点击 Create 保存,进入 Servers 页面选中实例,在 Firewall 标签页分配刚创建的防火墙。
5. 操作完成后检查服务器网络服务,确保业务端口可被外部访问。
怎么验证是否生效
使用 telnet <IP> <Port> 或 nc -zv <IP> <Port> 从外部网络测试。若连接成功表示端口开放,连接被拒绝表示规则未生效或被阻止。
常见坑
不要误删 SSH 端口规则,修改前务必确认 Console 可用。来源 IP 设置为 0.0.0.0/0 代表公开访问,存在安全风险。防火墙规则有优先级,第一条匹配即生效,顺序错误可能导致预期外的拦截。
常见问题
修改规则需要重启服务器吗?
不需要,Hetzner 防火墙规则修改后即时生效。
一台服务器可以绑定多个防火墙吗?
可以,所有绑定的防火墙规则会合并生效。
参考来源
- Hetzner Docs - Firewalls - Hetzner Cloud Documentation - https://docs.hetzner.com/cloud/firewalls/overview/