有的时候你需要在多地部署PMG应用,但是它们不一定都有公网IP,这样就会不满足PMG Cluster节点间必须双向可访问的要求。另外,虽然PMG号称自己“使用了高级的VPN技术”,其实用的是SSH+Rsync同步,在特殊的网络环境下面容易出现问题。在这种情况下,我们可以用ZeroTier One(或者其它类似的SD-WAN解决方案)来绕过这一限制。但是Proxmox系列软件的网络配置都比较难用,操作的时候必须小心。
用root账号登录Proxmox Mail Gateway服务器。首先安装ZeroTier One并加入网络:
1 2 |
curl -s https://install.zerotier.com | bash zerotier-cli join aaabbbcccddd |
在控制器上确认设备加入并分配IP。
修改hosts,让本机主机名解析到ZeroTier网卡的IP上。然后正常加入cluster:
1 |
pmgcm join your-master-ip |
如果有节点的hosts文件不对,导致master那边拿到了错误的节点IP,那么节点会卡在syncing状态或者处于error状态(提示“error 401: Permission denied – invalid PMG ticket”)。这时候我们需要手动修改一下节点IP:在每个节点上打开/etc/pmg/cluster.conf
,修改节点IP,然后重启。