歡迎光臨
每天分享高質量文章

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

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


致謝
編譯自 | 
https://www.2daygeek.com/how-to-add-additional-ip-secondary-ip-in-ubuntu-debian-system/
 
 作者 | Prakash Subramanian
 譯者 | MjSeven ?????共計翻譯:70 篇 貢獻時間:214 天

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

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

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

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

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

建議閱讀:

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

我們可以在同一個接口上添加 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 地址:

  1. # ifconfig

  2. # ip addr

  3. # ip addr

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

  5.          inet addr:192.168.56.150  Bcast:192.168.56.255  Mask:255.255.255.0

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

  7.          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

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

  10.          collisions:0 txqueuelen:1000

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

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

  13.          inet addr:10.0.3.15  Bcast:10.0.3.255  Mask:255.255.255.0

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

  15.          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

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

  18.          collisions:0 txqueuelen:1000

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

  20. lo        Link encap:Local Loopback

  21.          inet addr:127.0.0.1  Mask:255.0.0.0

  22.          inet6 addr: ::1/128 Scope:Host

  23.          UP LOOPBACK RUNNING  MTU:65536  Metric:1

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

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

  26.          collisions:0 txqueuelen:1

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

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

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

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

  1. # ip addr

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

  3.    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

  4.    inet 127.0.0.1/8 scope host lo

  5.       valid_lft forever preferred_lft forever

  6.    inet6 ::1/128 scope host

  7.       valid_lft forever preferred_lft forever

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

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

  10.    inet 192.168.56.150/24 brd 192.168.56.255 scope global eth0

  11.       valid_lft forever preferred_lft forever

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

  13.       valid_lft forever preferred_lft forever

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

  15.       valid_lft forever preferred_lft forever

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

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

  18.    inet 10.0.3.15/24 brd 10.0.3.255 scope global eth1

  19.       valid_lft forever preferred_lft forever

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

  21.       valid_lft forever preferred_lft forever

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

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

  1. # vi /etc/network/interfaces

  1. # vi /etc/network/interfaces

  2. # The loopback network interface

  3. auto lo

  4. iface lo inet loopback

  5. # The primary network interface

  6. auto eth0

  7. iface eth0 inet static

  8.        address 192.168.56.150

  9.        netmask 255.255.255.0

  10.        network 192.168.56.0

  11.        broadcast 192.168.56.255

  12.        gateway 192.168.56.1

  13. auto eth0:1

  14. iface eth0:1 inet static

  15.        address 192.168.56.151

  16.        netmask 255.255.255.0

儲存並關閉檔案,然後重啟網絡接口服務。

  1. # service networking restart

  2. # ifdown eth0:1 && ifup eth0:1

驗證新添加的 IP 地址:

  1. # ifconfig

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

  3.          inet addr:192.168.56.150  Bcast:192.168.56.255  Mask:255.255.255.0

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

  5.          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

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

  8.          collisions:0 txqueuelen:1000

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

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

  11.          inet addr:192.168.56.151  Bcast:192.168.56.255  Mask:255.255.255.0

  12.          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

  14.          inet addr:10.0.3.15  Bcast:10.0.3.255  Mask:255.255.255.0

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

  16.          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

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

  19.          collisions:0 txqueuelen:1000

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

  21. lo        Link encap:Local Loopback

  22.          inet addr:127.0.0.1  Mask:255.0.0.0

  23.          inet6 addr: ::1/128 Scope:Host

  24.          UP LOOPBACK RUNNING  MTU:65536  Metric:1

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

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

  27.          collisions:0 txqueuelen:1

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

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

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

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

  1. # ifconfig

  2. # ip addr

  3. enp0s3: flags=4163  mtu 1500

  4.        inet 192.168.56.201  netmask 255.255.255.0  broadcast 192.168.56.255

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

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

  7.        RX packets 7  bytes 420 (420.0 B)

  8.        RX errors 0  dropped 0  overruns 0  frame 0

  9.        TX packets 294  bytes 24747 (24.7 KB)

  10.        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  11. enp0s8: flags=4163  mtu 1500

  12.        inet 10.0.3.15  netmask 255.255.255.0  broadcast 10.0.3.255

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

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

  15.        RX packets 1  bytes 590 (590.0 B)

  16.        RX errors 0  dropped 0  overruns 0  frame 0

  17.        TX packets 97  bytes 10209 (10.2 KB)

  18.        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  19. lo: flags=73  mtu 65536

  20.        inet 127.0.0.1  netmask 255.0.0.0

  21.        inet6 ::1  prefixlen 128  scopeid 0x10

  22.        loop  txqueuelen 1000  (Local Loopback)

  23.        RX packets 325  bytes 24046 (24.0 KB)

  24.        RX errors 0  dropped 0  overruns 0  frame 0

  25.        TX packets 325  bytes 24046 (24.0 KB)

  26.        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

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

  1. # ip addr add 192.168.56.202/24 broadcast 192.168.56.255 dev enp0s3

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

  1. # ip addr

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

  3.    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

  4.    inet 127.0.0.1/8 scope host lo

  5.       valid_lft forever preferred_lft forever

  6.    inet6 ::1/128 scope host

  7.       valid_lft forever preferred_lft forever

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

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

  10.    inet 192.168.56.201/24 brd 192.168.56.255 scope global enp0s3

  11.       valid_lft forever preferred_lft forever

  12.    inet 192.168.56.202/24 brd 192.168.56.255 scope global secondary enp0s3

  13.       valid_lft forever preferred_lft forever

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

  15.       valid_lft forever preferred_lft forever

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

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

  18.    inet 10.0.3.15/24 brd 10.0.3.255 scope global dynamic enp0s8

  19.       valid_lft 86353sec preferred_lft 86353sec

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

  21.       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 中的做法):

  1. # vi /etc/network/interfaces

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

  3. auto lo

  4. iface lo inet loopback

  5. # The primary network interface

  6. auto enp0s3

  7. iface enp0s3 inet static

  8. address 192.168.56.201

  9. netmask 255.255.255.0

  10. iface enp0s3 inet static

  11. address 192.168.56.202

  12. netmask 255.255.255.0

  13. gateway 192.168.56.1

  14. network 192.168.56.0

  15. broadcast 192.168.56.255

  16. dns-nameservers 8.8.8.8 8.8.4.4

  17. dns-search      2daygeek.local  

儲存並關閉檔案,然後重啟網絡接口服務:

  1. # systemctl restart networking

  2. # ifdown enp0s3 && ifup enp0s3

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

  1. # ip addr

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

  3.    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

  4.    inet 127.0.0.1/8 scope host lo

  5.       valid_lft forever preferred_lft forever

  6.    inet6 ::1/128 scope host

  7.       valid_lft forever preferred_lft forever

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

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

  10.    inet 192.168.56.201/24 brd 192.168.56.255 scope global enp0s3

  11.       valid_lft forever preferred_lft forever

  12.    inet 192.168.56.202/24 brd 192.168.56.255 scope global secondary enp0s3

  13.       valid_lft forever preferred_lft forever

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

  15.       valid_lft forever preferred_lft forever

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

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

  18.    inet 10.0.3.15/24 brd 10.0.3.255 scope global dynamic enp0s8

  19.       valid_lft 86353sec preferred_lft 86353sec

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

  21.       valid_lft forever preferred_lft forever

讓我來 ping 一下新 IP 地址:

  1. # ping 192.168.56.202 -c 4

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

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

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

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

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

  7. --- 192.168.56.202 ping statistics ---

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

  9. 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[7] 選題:lujun9972 譯者:MjSeven 校對:wxy

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

赞(0)

分享創造快樂

© 2021 知識星球   网站地图