介绍
一个浮动IP和一个Droplet之间的网络流量流过一个锚的IP,这是别名一个Droplet的公共网络接口的IP地址。 因此,Droplet必须具有锚IP,然后才能将浮动IP分配给它。 2015年10月20日之后创建的Droplet将自动拥有锚IP。 但是,如果您有一个旧的Droplet,您需要添加一个锚点IP,然后才能使用浮动IP。
本教程将向您展示如何通过添加一个锚点IP在旧的DigitalOcean Droplet上启用浮动IP。 每个分布需要一组不同的步骤,因此请务必遵循相应的部分。
先决条件
在继续之前,您可能需要尝试为相关的Droplet分配浮动IP。 如果它是创建没有锚IP的Droplet,将弹出添加锚IP地址的说明。 按照这些说明进行操作,看看是否能解决您的问题。 否则,继续阅读。
如果你只是试图找到你的Droplet的锚点IP地址,最简单的方法来检索它是使用Droplet元数据服务:从Droplet运行此命令检索其锚IP地址:
curl -s http://169.254.169.254/metadata/v1/interfaces/public/0/anchor_ipv4/address
本教程的其余部分将包含仅适用于特定发行版的部分。 请仅遵循适用于您的Droplet上安装的分配器的部分。
Ubuntu和Debian
在Ubuntu和Debian,为了添加“anchor”ip地址到您的网络配置,请运行以下命令:
sudo ip addr add 10.16.0.5/16 dev eth0
请记住,以取代以红色突出显示的IP地址与IP锚先前发现。
为了确保该设置将您的Droplet重启后仍然存在,则需要进行更改文件/etc/network/interfaces
用一个编辑器打开文件(如nano /etc/network/interfaces
)和添加下面红色突出显示的行:
auto eth0
iface eth0 inet static
address 162.243.184.156
netmask 255.255.252.0
gateway 162.243.184.1
up ip addr add 10.16.0.5/16 dev eth0
dns-nameservers 8.8.8.8 8.8.4.4
再次,请记住替换突出显示的IP地址您的锚IP。
Fedora,CentOS 6和CentOS 7
在Fedora和CentOS上,为了将“anchor”ip地址添加到您的网络配置中,请运行以下命令:
sudo ip addr add 10.16.0.5/16 dev eth0
请记住,以取代以红色突出显示的IP地址与IP锚先前发现。
为了确保该设置将您的Droplet重启后仍然存在,则需要进行更改文件/etc/sysconfig/network-scripts/ifcfg-eth0
使用编辑器打开文件(如nano /etc/sysconfig/network-scripts/ifcfg-eth0
),并添加下面红色突出显示的行:
DEVICE='eth0'
TYPE=Ethernet
BOOTPROTO=none
ONBOOT='yes'
HWADDR=04:01:76:bc:91:01
IPADDR=104.131.99.188
NETMASK=255.255.192.0
GATEWAY=104.131.64.1
NM_CONTROLLED='yes'
IPADDR2=10.16.0.5
PREFIX2=16
DNS1=8.8.8.8
DNS2=8.8.4.4
再次,请记住替换突出显示的IP地址您的锚IP。
CentOS 5
在CentOS 5上,为了将“anchor”ip地址添加到您的网络配置中,请运行以下命令:
sudo ip addr add 10.16.0.5/16 dev eth0
请记住,以取代以红色突出显示的IP地址与IP锚先前发现。
为了让它重新启动后仍然存在,必须创建一个包含网络信息在一个新的文件/etc/sysconfig/network-scripts/ifcfg-eth0:0
在Droplet。 这可以通过复制现有的做/etc/sysconfig/network-scripts/ifcfg-eth0
文件和的值更新IPADDR
和DEVICE
领域的锚知识产权的价值。
sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0:0
再次,请记住替换突出显示的IP地址您的锚IP。
DEVICE='eth0:0'
TYPE=Ethernet
BOOTPROTO=none
ONBOOT='yes'
HWADDR=04:01:76:d6:cb:01
IPADDR=10.16.0.5
NETMASK=255.255.224.0
GATEWAY=45.55.64.1
NM_CONTROLLED='yes'
PREFIX2=16
DNS1=8.8.8.8
DNS2=8.8.4.4
CoreOS
在CoreOS上,为了向网络配置添加“anchor”ip地址,请运行以下命令:
sudo ip addr add 10.16.0.5/16 dev eth0
请记住,以取代以红色突出显示的IP地址与IP锚先前发现。
为了让它重新启动后仍然存在,必须创建包含在网络信息的新文件/etc/systemd/network/static.network
这可以通过复制命名类似于现有的文件来完成/var/run/systemd/network/ 00-04:01:7e:8f:35:01 .network
和添加的第二Address
字段与锚的IP值。 该文件的名称将匹配您的Droplet的MAC地址。
sudo cp /var/run/systemd/network/00-04:01:7e:8f:35:01.network /etc/systemd/network/static.network
sudo vi /etc/systemd/network/static.network
然后将以下行添加到单元以保留地址:
MACAddress=04:01:7e:8f:35:01
[Network]
DNS=8.8.8.8
DNS=8.8.4.4
[Address]
Address=45.55.81.49/20
Address=10.16.0.5
[Route]
Destination=0.0.0.0/0
Gateway=45.55.64.1
FreeBSD
在FreeBSD上,为了将“anchor”ip地址添加到您的网络配置中,请运行以下命令:
sudo ifconfig vtnet0 10.17.0.15 netmask 255.255.0.0 alias
请记住,以取代以红色突出显示的IP地址与IP锚先前发现。
为了让它重新启动后仍然存在,追加新的网络信息到文件/etc/rc.digitalocean.d/droplet.conf
。 这可以通过在Droplet上运行以下命令来实现:
echo 'ifconfig_vtnet0_alias0="inet 10.17.0.15 netmask 255.255.0.0"' | sudo tee -a /etc/rc.digitalocean.d/droplet.conf
结论
一旦你添加一个锚点IP到你的Droplet,你应该能够使用它与浮动IP。 要了解更多关于DigitalOcean浮动IP地址,请阅读本教程: 如何使用浮动IP地址上DigitalOcean 。