Ubuntu
如何分配多個公共IP地址
我有一台伺服器(Ubuntu 14.04)並想分配這些多個公共 IP 地址。
預期的:
- 我想 ping 從 XXX.XXX.XXX.128 到 XXX.XXX.XXX.143 的所有 IP 地址
目前設置:
- IP 地址 XXX.XXX.XXX.128/28 (255.255.255.240)
- 我只能ping XXX.XXX.XXX.128
- 介面配置(/etc/network/interfaces):
auto eth0:0 iface eth0:0 inet static address XXX.XXX.XXX.128 netmask 255.255.255.240
您只需在介面文件中定義同一設備上的多個介面即可指定多個 IP 地址。例如:
auto eth0 iface eth0 inet static address 192.168.0.129 netmask 255.255.255.240 iface eth0 inet static address 192.168.0.130 netmask 255.255.255.240
等等。在舊版本中,您需要在定義介面時使用 eth0:0、eth0:1、eth0:2 等語法來執行此操作,但我相當確定 14.04 不支持它。
做同樣事情的其他方法包括在啟動介面時使用 iface 節中的“up”行添加額外的 IP,如下所示:
auto eth0 iface eth0 inet static address 192.168.0.129 netmask 255.255.255.240 up /sbin/ip address add 192.168.0.130/28 dev eth0 down /sbin/ip address delete 192.168.0.130 dev eth0
建議使用 down 子句以確保在介面關閉或斷開連接時干淨地關閉介面。您可以指定多個向上或向下命令,或者在您有大量要添加到介面的 ips 的情況下,呼叫使用 ip 命令添加/刪除所需 IPs 的腳本。
請記住,在您定義的子網中,.128 和 .143 被保留為網路和廣播地址,因此您不應將它們分配給介面。您還沒有為傳出流量指定預設網關。子網遮罩不用於聲明“我想要所有這些 IP”,它是有關介面所在網路的資訊,允許系統確定是否可以將流量直接發送到 IP(如果它在本地子網)或需要通過網關(使用“網關 ABCD”線在介面上定義)進行路由。如果 /28 不准確,您應該找出網路的實際子網遮罩和網關詳細資訊。