Linux

如何在 Ubuntu 中正確更改我的公共 IP

  • February 18, 2020

我在 Digital Ocean 中有一個 Ubuntu droplet 和一個浮動 IP。我希望使用浮動 IP 完成來自該 droplet 的所有請求。

如果我更改 /etc/netplan/50-cloud-init.yaml 中的 IP 地址並執行 sudo netplan apply,我可以實現此目的。然後,如果我 curl ifconfig.me 我得到正確的 IP 地址。

但是,當我重新啟動機器時,它變得無法訪問。我需要通過控制台登錄,將IP改回Droplet的公網IP,執行sudo netplan apply。然後網路變得可用。之後,我可以切換回浮動 IP,一切正常。

我怎樣才能正確地做這個改變,所以它是永久性的並且在重新啟動後仍然存在?

浮動 IP 被路由到分配的 droplet 的 IP,您需要將其分配給輔助介面或 localhost。

添加一個新文件,例如。/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

請注意,如果您希望 OUTBOUND 流量預設使用您的浮動 IP,請查看https://www.digitalocean.com/community/questions/send-outbound-traffic-over-floating-ip

這不是浮動 IP 的預期用途,浮動 IP 用於入站流量。

引用自:https://serverfault.com/questions/1003585