如何在 Ubuntu 系統中添加一個輔助 IP 地址

如何在 Ubuntu 系統中添加一個輔助 IP 地址

編譯自: https://www.2daygeek.com/how-to-add-additional-ip-secondary-ip-in-ubuntu-debian-system/

作者: Prakash Subramanian

Linux 管理員應該意識到這一點,因為這是一項例行任務。很多人想知道為什麼我們需要在服務器中添加多個 IP 地址,以及為什麼我們需要將它添加到單塊網卡中?我說的對嗎?

你可能也會有類似的問題:在 Linux 中如何為單塊網卡分配多個 IP 地址?在本文中,你可以得到答案。

當我們對一個新服務器進行設置時,理想情況下它將有一個 IP 地址,即服務器主 IP 地址,它與服務器主機名對應。

我們不應在服務器主 IP 地址上託管任何應用程序,這是不可取的。如果要在服務器上託管任何應用程序,我們應該為此添加輔助 IP。

這是業界的最佳實踐,它允許用戶安裝 SSL 證書。大多數系統都配有單塊網卡,這足以添加額外的 IP 地址。

建議閱讀:

  • 在 Linux 命令行中 9 種方法檢查公共 IP 地址
  • 在 Linux 終端中 3 種簡單的方式來檢查 DNS(域名服務器)記錄
  • 在 Linux 上使用 Dig 命令檢查 DNS(域名服務器)記錄
  • 在 Linux 上使用 Nslookup 命令檢查 DNS(域名服務器)記錄
  • 在 Linux 上使用 Host 命令檢查 DNS(域名服務器)記錄

我們可以在同一個接口上添加 IP 地址,或者在同一設備上創建子接口,然後在其中添加 IP。默認情況下,一直到 Ubuntu 14.04 LTS,接口給名稱為 ethX (eth0),但是從 Ubuntu 15.10 之後網絡接口名稱已從 ethX 更改為 enXXXXX(對於服務器是 ens33,桌面版是 enp0s3)。

在本文中,我們將教你如何在 Ubuntu 上執行此操作,並且衍生到其它發行版(to 校正:這句自己加的)。

注意:別在 DNS 詳細信息後添加 IP 地址。如果是這樣,DNS 將無法正常工作。

如何在 Ubuntu 14.04 LTS 中添加臨時輔助 IP 地址

在系統中添加 IP 地址之前,運行以下任一命令即可驗證服務器主 IP 地址:

# ifconfig

# ip addr

# ip addr

eth0 Link encap:Ethernet HWaddr 08:00:27:98:b7:36

inet addr:192.168.56.150 Bcast:192.168.56.255 Mask:255.255.255.0

inet6 addr: fe80::a00:27ff:fe98:b736/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:4 errors:0 dropped:0 overruns:0 frame:0

TX packets:105 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:902 (902.0 B) TX bytes:16423 (16.4 KB)

eth1 Link encap:Ethernet HWaddr 08:00:27:6a:cf:d3

inet addr:10.0.3.15 Bcast:10.0.3.255 Mask:255.255.255.0

inet6 addr: fe80::a00:27ff:fe6a:cfd3/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:80 errors:0 dropped:0 overruns:0 frame:0

TX packets:146 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:8698 (8.6 KB) TX bytes:17047 (17.0 KB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:65536 Metric:1

RX packets:25 errors:0 dropped:0 overruns:0 frame:0

TX packets:25 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1

RX bytes:1730 (1.7 KB) TX bytes:1730 (1.7 KB)

如我所見,服務器主 IP 地址是 192.168.56.150,我將下一個 IP 192.168.56.151 作為輔助 IP,使用以下方法完成:

# ip addr add 192.168.56.151/24 broadcast 192.168.56.255 dev eth0 label eth0:1

輸入以下命令以檢查新添加的 IP 地址。如果你重新啟動服務器,那麼新添加的 IP 地址會消失,因為我們的 IP 是臨時添加的。

# ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 08:00:27:98:b7:36 brd ff:ff:ff:ff:ff:ff

inet 192.168.56.150/24 brd 192.168.56.255 scope global eth0

valid_lft forever preferred_lft forever

inet 192.168.56.151/24 brd 192.168.56.255 scope global secondary eth0:1

valid_lft forever preferred_lft forever

inet6 fe80::a00:27ff:fe98:b736/64 scope link

valid_lft forever preferred_lft forever

3: eth1: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 08:00:27:6a:cf:d3 brd ff:ff:ff:ff:ff:ff

inet 10.0.3.15/24 brd 10.0.3.255 scope global eth1

valid_lft forever preferred_lft forever

inet6 fe80::a00:27ff:fe6a:cfd3/64 scope link

valid_lft forever preferred_lft forever

如何在 Ubuntu 14.04 LTS 中添加永久輔助 IP 地址

要在 Ubuntu 系統上添加永久輔助 IP 地址,只需編輯 /etc/network/interfaces 文件並添加所需的 IP 詳細信息。

# vi /etc/network/interfaces

# vi /etc/network/interfaces

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface

auto eth0

iface eth0 inet static

address 192.168.56.150

netmask 255.255.255.0

network 192.168.56.0

broadcast 192.168.56.255

gateway 192.168.56.1

auto eth0:1

iface eth0:1 inet static

address 192.168.56.151

netmask 255.255.255.0

保存並關閉文件,然後重啟網絡接口服務。

# service networking restart

# ifdown eth0:1 && ifup eth0:1

驗證新添加的 IP 地址:

# ifconfig

eth0 Link encap:Ethernet HWaddr 08:00:27:98:b7:36

inet addr:192.168.56.150 Bcast:192.168.56.255 Mask:255.255.255.0

inet6 addr: fe80::a00:27ff:fe98:b736/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:5 errors:0 dropped:0 overruns:0 frame:0

TX packets:84 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:962 (962.0 B) TX bytes:11905 (11.9 KB)

eth0:1 Link encap:Ethernet HWaddr 08:00:27:98:b7:36

inet addr:192.168.56.151 Bcast:192.168.56.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

eth1 Link encap:Ethernet HWaddr 08:00:27:6a:cf:d3

inet addr:10.0.3.15 Bcast:10.0.3.255 Mask:255.255.255.0

inet6 addr: fe80::a00:27ff:fe6a:cfd3/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:4924 errors:0 dropped:0 overruns:0 frame:0

TX packets:3185 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:4037636 (4.0 MB) TX bytes:422516 (422.5 KB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:65536 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

如何在 Ubuntu 16.04 LTS 中臨時添加輔助 IP 地址

正如本文開頭所述,網絡接口名稱從 Ubuntu 15.10 就開始從 ‘ethX’ 更改為 ‘enXXXX’ (enp0s3),所以,替換你的接口名稱。

在執行此操作之前,先檢查系統上的 IP 信息:

# ifconfig

# ip addr

enp0s3: flags=4163 mtu 1500

inet 192.168.56.201 netmask 255.255.255.0 broadcast 192.168.56.255

inet6 fe80::a00:27ff:fe97:132e prefixlen 64 scopeid 0x20

ether 08:00:27:97:13:2e txqueuelen 1000 (Ethernet)

RX packets 7 bytes 420 (420.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 294 bytes 24747 (24.7 KB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp0s8: flags=4163 mtu 1500

inet 10.0.3.15 netmask 255.255.255.0 broadcast 10.0.3.255

inet6 fe80::344b:6259:4dbe:eabb prefixlen 64 scopeid 0x20

ether 08:00:27:12:e8:c1 txqueuelen 1000 (Ethernet)

RX packets 1 bytes 590 (590.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 97 bytes 10209 (10.2 KB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73 mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10

loop txqueuelen 1000 (Local Loopback)

RX packets 325 bytes 24046 (24.0 KB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 325 bytes 24046 (24.0 KB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

如我所見,服務器主 IP 地址是 192.168.56.201,所以,我將下一個 IP 192.168.56.202 作為輔助 IP,使用以下命令完成。

# ip addr add 192.168.56.202/24 broadcast 192.168.56.255 dev enp0s3

運行以下命令來檢查是否已分配了新的 IP。當你重啟機器時,它會消失。

# ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 08:00:27:97:13:2e brd ff:ff:ff:ff:ff:ff

inet 192.168.56.201/24 brd 192.168.56.255 scope global enp0s3

valid_lft forever preferred_lft forever

inet 192.168.56.202/24 brd 192.168.56.255 scope global secondary enp0s3

valid_lft forever preferred_lft forever

inet6 fe80::a00:27ff:fe97:132e/64 scope link

valid_lft forever preferred_lft forever

3: enp0s8: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 08:00:27:12:e8:c1 brd ff:ff:ff:ff:ff:ff

inet 10.0.3.15/24 brd 10.0.3.255 scope global dynamic enp0s8

valid_lft 86353sec preferred_lft 86353sec

inet6 fe80::344b:6259:4dbe:eabb/64 scope link

valid_lft forever preferred_lft forever

如何在 Ubuntu 16.04 LTS 中添加永久輔助 IP 地址

要在 Ubuntu 系統上添加永久輔助 IP 地址,只需編輯 /etc/network/interfaces 文件並添加所需 IP 的詳細信息。

我們不應該在 dns-nameservers 行之後添加輔助 IP 地址,因為它不會起作用,應該以下面的格式添加 IP 詳情。

此外,我們不需要添加子接口(我們之前在 Ubuntu 14.04 LTS 中的做法):

# vi /etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)

auto lo

iface lo inet loopback

# The primary network interface

auto enp0s3

iface enp0s3 inet static

address 192.168.56.201

netmask 255.255.255.0

iface enp0s3 inet static

address 192.168.56.202

netmask 255.255.255.0

gateway 192.168.56.1

network 192.168.56.0

broadcast 192.168.56.255

dns-nameservers 8.8.8.8 8.8.4.4

dns-search 2daygeek.local

保存並關閉文件,然後重啟網絡接口服務:

# systemctl restart networking

# ifdown enp0s3 && ifup enp0s3

運行以下命令來檢查是否已經分配了新的 IP:

# ip addr

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 08:00:27:97:13:2e brd ff:ff:ff:ff:ff:ff

inet 192.168.56.201/24 brd 192.168.56.255 scope global enp0s3

valid_lft forever preferred_lft forever

inet 192.168.56.202/24 brd 192.168.56.255 scope global secondary enp0s3

valid_lft forever preferred_lft forever

inet6 fe80::a00:27ff:fe97:132e/64 scope link

valid_lft forever preferred_lft forever

3: enp0s8: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 08:00:27:12:e8:c1 brd ff:ff:ff:ff:ff:ff

inet 10.0.3.15/24 brd 10.0.3.255 scope global dynamic enp0s8

valid_lft 86353sec preferred_lft 86353sec

inet6 fe80::344b:6259:4dbe:eabb/64 scope link

valid_lft forever preferred_lft forever

讓我來 ping 一下新 IP 地址:

# ping 192.168.56.202 -c 4

PING 192.168.56.202 (192.168.56.202) 56(84) bytes of data.

64 bytes from 192.168.56.202: icmp_seq=1 ttl=64 time=0.019 ms

64 bytes from 192.168.56.202: icmp_seq=2 ttl=64 time=0.087 ms

64 bytes from 192.168.56.202: icmp_seq=3 ttl=64 time=0.034 ms

64 bytes from 192.168.56.202: icmp_seq=4 ttl=64 time=0.042 ms

--- 192.168.56.202 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3068ms

rtt min/avg/max/mdev = 0.019/0.045/0.087/0.026 ms


via: https://www.2daygeek.com/how-to-add-additional-ip-secondary-ip-in-ubuntu-debian-system/

作者: Prakash Subramanian 選題: lujun9972 譯者: MjSeven 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


分享到:


相關文章: