Linux 管理員應該意識到這一點,由於這是一項例行任務。不少人想知道爲何咱們須要在服務器中添加多個 IP 地址,以及爲何咱們須要將它添加到單塊網卡中?我說的對嗎?html
你可能也會有相似的問題:在 Linux 中如何爲單塊網卡分配多個 IP 地址?在本文中,你能夠獲得答案。linux
當咱們對一個新服務器進行設置時,理想狀況下它將有一個 IP 地址,即服務器主 IP 地址,它與服務器主機名對應。ubuntu
咱們不該在服務器主 IP 地址上託管任何應用程序,這是不可取的。若是要在服務器上託管任何應用程序,咱們應該爲此添加輔助 IP。服務器
這是業界的最佳實踐,它容許用戶安裝 SSL 證書。大多數系統都配有單塊網卡,這足以添加額外的 IP 地址。網絡
建議閱讀:dom
咱們能夠在同一個接口上添加 IP 地址,或者在同一設備上建立子接口,而後在其中添加 IP。默認狀況下,一直到 Ubuntu 14.04 LTS,接口給名稱爲 ethX (eth0),可是從 Ubuntu 15.10 以後網絡接口名稱已從 ethX 更改成 enXXXXX(對於服務器是 ens33,桌面版是 enp0s3)。oop
在本文中,咱們將教你如何在 Ubuntu 上執行此操做,而且衍生到其它發行版(to 校訂:這句本身加的)。命令行
注意:別在 DNS 詳細信息後添加 IP 地址。若是是這樣,DNS 將沒法正常工做。rest
如何在 Ubuntu 14.04 LTS 中添加臨時輔助 IP 地址server
在系統中添加 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
本文地址:https://www.linuxprobe.com/ubuntu-add-secondary-ip.html