使用Ansible在Hetzner Cloud创建私有网络服务器遇参数错误求助
解决Hetzner Cloud Ansible服务器关联私有网络的问题
hetzner.hcloud.hcloud_server模块确实不支持private_networks参数,要将新创建的服务器加入私有网络,需要使用hetzner.hcloud.hcloud_server_network模块单独完成关联操作。以下是调整后的完整Playbook:
- name: create the server at Hetzner hetzner.hcloud.hcloud_server: name: "{{ server_hostname }}" enable_ipv4: false enable_ipv6: false server_type: cx11 location: "{{ server_location }}" image: ubuntu-22.04 ssh_keys: - "mykey" state: present api_token: "{{ hetzner_secret }}" register: server - name: attach server to private network 'ipfire' hetzner.hcloud.hcloud_server_network: server: "{{ server.hcloud_server.id }}" network: "ipfire" api_token: "{{ hetzner_secret }}" state: present
关键说明:
- 第一个任务仅负责创建服务器,移除了无效的
private_networks参数,同时保留你需要的禁用公网IPv4/IPv6配置。通过register: server获取新服务器的ID等核心信息。 - 第二个任务使用
hcloud_server_network模块,通过服务器ID(server.hcloud_server.id)关联到名为ipfire的私有网络,确保服务器成功加入目标私有网络。
这样配置后,新创建的服务器会完全禁用公网访问,只能通过你搭建的OpenVPN连接到私有网络后进行SSH访问。
内容的提问来源于stack exchange,提问作者jos
相关产品推荐
相关产品推荐

