我在 Digital Ocean 中有一个 Ubuntu droplet 和一个浮动 IP。我希望来自该 droplet 的所有请求都使用浮动 IP 完成。
如果我更改 /etc/netplan/50-cloud-init.yaml 中的 IP 地址并运行 sudo netplan apply,我就可以实现此目的。然后,如果我执行 curl ifconfig.me,我会得到正确的 IP 地址。
但是,当我重新启动机器时,它变得无法访问。我需要通过控制台登录,将 IP 改回 Droplet 的公共 IP,运行 sudo netplan apply。然后网络可用。之后我可以切换回浮动 IP,一切正常。
我怎样才能正确地进行此更改,以使其永久生效并在重启后继续生效?
答案1
浮动 IP 被路由到指定的 droplet 的 IP,您需要将其分配给辅助接口或本地主机。
添加一个新文件,例如/etc/netplan/00-floatip.yaml
或任何按字母顺序排列的文件50-cloud-init.yaml
(并确保它是 yaml 而不是 yml)
将其配置为类似如下形式:
network:
version: 2
renderer: networkd
ethernets:
lo:
addresses:
- 127.0.0.1/8
- 192.0.2.0/32
其中 192.0.2.0 是你的浮动 IP
请注意,如果您希望出站流量默认使用浮动 IP,请查看https://www.digitalocean.com/community/questions/send-outbound-traffic-over-floating-ip
这不是浮动 IP 的预期用途,浮动 IP 用于入站流量。