在 Ubuntu 15.10 上為單個網卡設置多個 IP 地址

2022-01-13 Linux中國

有時候你可能想在你的網卡上使用多個 IP 地址。遇到這種情況你會怎麼辦呢?買一個新的網卡並分配一個新的 IP?不,沒有這個必要(至少在小型網絡中)。現在我們可以在 Ubuntu 系統中為一個網卡分配多個 IP 地址。想知道怎麼做到的?跟著我往下看,其實並不難。

這個方法也適用於 Debian 以及它的衍生版本。

臨時添加 IP 地址

首先,讓我們找到網卡的 IP 地址。在我的 Ubuntu 15.10 伺服器版中,我只使用了一個網卡。

運行下面的命令找到 IP 地址:

sudo ip addr

樣例輸出:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 08:00:27:2a:03:4b brd ff:ff:ff:ff:ff:ffinet 192.168.1.103/24 brd 192.168.1.255 scope global enp0s3valid_lft forever preferred_lft foreverinet6 fe80::a00:27ff:fe2a:34e/64 scope link valid_lft forever preferred_lft forever

sudo ifconfig

樣例輸出:

enp0s3 Link encap:Ethernet HWaddr 08:00:27:2a:03:4b inet addr:192.168.1.103 Bcast:192.168.1.255 Mask:255.255.255.0inet6 addr: fe80::a00:27ff:fe2a:34e/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:186 errors:0 dropped:0 overruns:0 frame:0TX packets:70 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:21872 (21.8 KB) TX bytes:9666 (9.6 KB)lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING MTU:65536 Metric:1RX packets:217 errors:0 dropped:0 overruns:0 frame:0TX packets:217 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:38793 (38.7 KB) TX bytes:38793 (38.7 KB)

正如你在上面輸出中看到的,我的網卡名稱是 enp0s3,它的 IP 地址是 192.168.1.103

現在讓我們來為網卡添加一個新的 IP 地址,例如說 192.168.1.104

打開你的終端並運行下面的命令添加額外的 IP。

sudo ip addr add 192.168.1.104/24 dev enp0s3

用命令檢查是否啟用了新的 IP:

sudo ip address show enp0s3

樣例輸出:

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 08:00:27:2a:03:4e brd ff:ff:ff:ff:ff:ffinet 192.168.1.103/24 brd 192.168.1.255 scope global enp0s3valid_lft forever preferred_lft foreverinet 192.168.1.104/24 scope global secondary enp0s3valid_lft forever preferred_lft foreverinet6 fe80::a00:27ff:fe2a:34e/64 scope link valid_lft forever preferred_lft forever

類似地,你可以添加任意數量的 IP 地址,只要你想要。

讓我們 ping 一下這個 IP 地址驗證一下。

sudo ping 192.168.1.104

樣例輸出

PING 192.168.1.104 (192.168.1.104) 56(84) bytes of data.64 bytes from 192.168.1.104: icmp_seq=1 ttl=64 time=0.901 ms64 bytes from 192.168.1.104: icmp_seq=2 ttl=64 time=0.571 ms64 bytes from 192.168.1.104: icmp_seq=3 ttl=64 time=0.521 ms64 bytes from 192.168.1.104: icmp_seq=4 ttl=64 time=0.524 ms

好極了,它能工作!

要刪除 IP,只需要運行:

sudo ip addr del 192.168.1.104/24 dev enp0s3

再檢查一下是否刪除了 IP。

sudo ip address show enp0s3

樣例輸出:

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 08:00:27:2a:03:4e brd ff:ff:ff:ff:ff:ffinet 192.168.1.103/24 brd 192.168.1.255 scope global enp0s3valid_lft forever preferred_lft foreverinet6 fe80::a00:27ff:fe2a:34e/64 scope link valid_lft forever preferred_lft forever

可以看到已經沒有了!!

正如你所知,重啟系統後這些設置會失效。那麼怎麼設置才能永久有效呢?這也很簡單。

添加永久 IP 地址

Ubuntu 系統的網卡配置文件是 /etc/network/interfaces

讓我們來看看上面文件的具體內容。

sudo cat /etc/network/interfaces

輸出樣例:

# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).source /etc/network/interfaces.d/*# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceauto enp0s3iface enp0s3 inet dhcp

正如你在上面輸出中看到的,網卡啟用了 DHCP。

現在,讓我們來分配一個額外的地址,例如 192.168.1.104/24

編輯 /etc/network/interfaces

sudo nano /etc/network/interfaces

如下添加額外的 IP 地址。

# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).source /etc/network/interfaces.d/*# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceauto enp0s3iface enp0s3 inet dhcpiface enp0s3 inet static address 192.168.1.104/24

保存並關閉文件。

運行下面的命令使更改無需重啟即生效。

sudo ifdown enp0s3 && sudo ifup enp0s3

樣例輸出:

Killed old client processInternet Systems Consortium DHCP Client 4.3.1Copyright 2004-2014 Internet Systems Consortium.All rights reserved.For info, please visit https://www.isc.org/software/dhcp/Listening on LPF/enp0s3/08:00:27:2a:03:4eSending on LPF/enp0s3/08:00:27:2a:03:4eSending on Socket/fallbackDHCPRELEASE on enp0s3 to 192.168.1.1 port 67 (xid=0x225f35)Internet Systems Consortium DHCP Client 4.3.1Copyright 2004-2014 Internet Systems Consortium.All rights reserved.For info, please visit https://www.isc.org/software/dhcp/Listening on LPF/enp0s3/08:00:27:2a:03:4eSending on LPF/enp0s3/08:00:27:2a:03:4eSending on Socket/fallbackDHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 3 (xid=0xdfb94764)DHCPREQUEST of 192.168.1.103 on enp0s3 to 255.255.255.255 port 67 (xid=0x6447b9df)DHCPOFFER of 192.168.1.103 from 192.168.1.1DHCPACK of 192.168.1.103 from 192.168.1.1bound to 192.168.1.103 -- renewal in 35146 seconds.

注意:如果你從遠程連接到伺服器,把上面的兩個命令放到一行非常重要,因為第一個命令會斷掉你的連接。而採用這種方式可以保留你的 ssh 會話。

現在,讓我們用下面的命令來檢查一下是否添加了新的 IP:

sudo ip address show enp0s3

輸出樣例:

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 08:00:27:2a:03:4e brd ff:ff:ff:ff:ff:ffinet 192.168.1.103/24 brd 192.168.1.255 scope global enp0s3valid_lft forever preferred_lft foreverinet 192.168.1.104/24 brd 192.168.1.255 scope global secondary enp0s3valid_lft forever preferred_lft foreverinet6 fe80::a00:27ff:fe2a:34e/64 scope link valid_lft forever preferred_lft forever

很好!我們已經添加了額外的 IP。

再次 ping IP 地址進行驗證。

sudo ping 192.168.1.104

樣例輸出:

PING 192.168.1.104 (192.168.1.104) 56(84) bytes of data.64 bytes from 192.168.1.104: icmp_seq=1 ttl=64 time=0.137 ms64 bytes from 192.168.1.104: icmp_seq=2 ttl=64 time=0.050 ms64 bytes from 192.168.1.104: icmp_seq=3 ttl=64 time=0.054 ms64 bytes from 192.168.1.104: icmp_seq=4 ttl=64 time=0.067 ms

好極了!它能正常工作。就是這樣。

想知道怎麼給 CentOS/RHEL/Scientific Linux/Fedora 系統添加額外的 IP 地址,可以點擊下面的連結。

工作愉快!

via: http://www.unixmen.com/assign-multiple-ip-addresses-to-one-interface-on-ubuntu-15-10/

作者:SK 譯者:ictlyh 校對:Caroline

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

推薦文章


相關焦點

  • Linux多個網卡添加永久路由辦法
    有時候Linux有多個網卡的時候,就需要為另外的一些網卡添加路由,好讓網絡走不通的網卡出去。那麼今天PConline小編就給大家帶來Linux多個網卡添加永久路由辦法,有需要的小夥伴就趕緊一起往下看看吧!
  • 如何在Ubuntu 18.04上安裝ApostropheCMS
    在本教程中,您將學習如何在乾淨的Ubuntu 18.04伺服器上部署ApostropheCMS進行生產。要求新的Ubuntu 18.04實例,至少有2個CPU內核和1 GB 運行內存具有[sudo權限]的非root用戶。NodeJS版本10.x或更高版本。MongoDB版本4.x或更高版本。ImageMagick的檢查Ubuntu版本。
  • Ubuntu20.04桌面版圖文安裝(超詳細)
    ,該內存數量與宿主機(原作業系統)所擁有的內存進行共用,可根據機器所擁有的實際物理內存數量進行選擇配置;9)在「網絡類型」配置界面,可選擇該虛擬機網卡所擁有的網絡類型,其中包括橋接網絡、NAT網絡、Host Only網絡和不使用網絡,各項網絡的含義及區別稍後會進行說明,此處可選擇默認的「使用」網絡地址轉換(NAT)"一項;
  • 判斷網卡是否壞了,網卡壞和驅動壞了有什麼現象
    明明前面能正常上網的,為什麼下一秒就上不了網了呢?造成無法上網的原因有很多,其中一種是網卡故障問題。那麼網卡壞了有什麼現象?我們怎麼判斷電腦網卡壞?帶著此疑問,小編給大家提出具體解決方法。初步判斷,之前正常的桌上型電腦上不了網,先看下其他電腦是否能正常上網。
  • 雙網卡設置訪問內外網
    先來看看雙網卡同時上內外網的網絡結構的特點是內網、外網沒有融合到一起,而是通過在電腦上安裝兩個網卡來實現訪問內、外網。普通情況下如果想上內網的話就把外網的網卡禁用掉,反之亦然。重點來了:我們現在要做的是在不禁用網卡的情況下,實現內外網的自動切換。
  • 板載網卡獨立網卡物理MAC地址修改工具
    使用的工具:MAC-8111C\EXE\PG8168.exe 該工具DOS下命令為:PG8168 /nodeid XXXXXXXXXXXX(其中XXXXXXXXXXXX為集成網卡的12位MAC地址。
  • 動態代理ip與靜態代理ip,有什麼區別?
    代理ip從ip的撥號方式來區分,分為動態ip和靜態ip,所以就衍生出來代理ip也分為動態代理ip和靜態代理ip。要了解動態代理ip與靜態代理ip有什麼區別,先說一下動態ip與靜態ip是什麼?動態ip就是可以變動的ip,在ip地址的使用過程中,由於大部分用戶上網設備和時間並不多,也不存在有監督的需求的緣故,為了減少由於IP位址設置有誤而不能上網的問題,有一種動態主機配置協議DHCP,來為連接的主機或手機等上網設備從他的地址池裡分配包括IP,子網掩碼,網關,DNS一系列邏輯地址來保證聯通,一般由路由器負責DHCP!所以動態ip也是住宅ip最常見的一種。
  • 關於Oracle RAC調整網卡MTU值的問題
    除此之外,還有一種解決方案就是選擇調整私網網卡的MTU值,通常Oracle使用8k標準塊大小時,會選擇設置MTU=9000,從而減緩包重組失敗次數的增長速率,期望的理想狀態下是完全沒有包重組失敗的發生。
  • MikroTik RouterOS外網三線進行內網IP分流上網
    Interface這個必須選擇具體的網卡,不能默認只用一個,不然會出現偶爾斷線的情況。2、指定某些IP走電信的原理是通過在防火牆的Mangle打標籤,然後再路由表上匹配標籤,但此時需要特別注意,只要打了標籤之後,在路由表默認留空的標記不會匹配打了標記的,這一點不要以為留空就會在沒有匹配到標記會走默認的。
  • 如何同時Ping 1000個IP位址,一個小技巧節約N小時?
    對於一個網段ip地址眾多,如果單個檢測實在麻煩,那麼我們可以直接批量ping網段檢測,那個ip地址出了問題,一目了然。先看代碼,直接在命令行窗口輸入:for /L %D in (1,1,255) do ping 10.168.1.%DIP位址段修改成你要檢查的IP位址段。
  • Win10 IP位址獲得+簡單網絡知識+系統設置
    IP位址是以網絡號和主機號來表示網絡上的主機的,只有在一個網絡號下的計算機之間才能「直接」互通,不同網絡號的計算機要通過網關(Gateway)才能互通。但這樣的劃分在某些情況下顯得並不十分靈活。為此IP網絡還允許劃分成更小的網絡,稱為子網(Subnet)。大家都知道,從一個房間走到另一個房間,必然要經過一扇門。
  • 無線網卡連接不上怎麼辦 無線網卡連接不上原因【圖文】
    無線網卡是終端無線網絡的設備,是用來連接到區域網上的。它只是一個信號收發的設備,只有在找到上網際網路的出口時才能實現與網際網路的連接,所有無線網卡只能局限在已布有無線區域網的範圍內,那無線網卡連接不上了,那如何解決呢?
  • 從此Mac上的文件再也不會丟了,我教你使用樹莓派做無線時間機器
    結果雙11的時候買了個雷電3的磁吸頭,把主板給我燒了,數據全部丟失,為了防止數據再次丟失,於是斥巨資買了帶usb3.0和千兆網卡的樹莓派4B做了無線的時間機器。!_!鏡像寫入並校驗完成把樹莓派使用網線連接到電腦同一路由器上,樹莓派插上電源會自動開機。開機以後到路由器的管理後臺看一下樹莓派的ip地址是多少。
  • 電腦上怎麼查看本機的內網IP位址
    比較常見的,我們如果要連接區域網內的網絡印表機,需要知道它的內網IP;如果要訪問區域網內用戶共享的文件,需要知道它的內網IP;有些公司會有一個內網的伺服器,上面會有一些內網的OA辦公系統,我們也需要知道它的內網IP等等,其實內網IP的作用還有很多,在這裡就不為大家一一列舉了,下面我們來看下如何查詢本機的內網I。
  • 區域網ip地址不夠用怎麼解決?三種解決辦法
    當網關是192.168.1.1時,我們可以設置成192.168.1.1--192.168.1.254。 當在一個區域網內,ip地址超過了數量怎麼辦,這個通常發生在C類的ip地址區域網中較多,可以有三種方法來解決這個問題。
  • 雲端伺服器怎麼設置外網連接不上
    雲端伺服器怎麼設置外網連接不上?雲伺服器想要外網連接不上,只允許內網的伺服器來訪問,可以通過以下途徑進行設置。方法一禁用或者卸載外網網卡。windows 系統直接禁用或者卸載就行,linux 建議在/etc/rc.local裡添加 ifconfig (適配器名稱) down 這條命令,讓其開機時自動加載。
  • 區域網設置不衝突的ip - CSDN
    我們之所以要ping這臺機器,有兩個目的,首先我必須肯定要找的那臺機器確實在網絡上,其次,我想知道這臺機器的網卡的MAC地址,那麼下面怎麼才能知道它的MAC地址哪?這就需要使用第二個命令arp:arp命令只能在某一個VLAN中使用有效,它是低層協議,而且不能跨路由。
  • tplink無線路由器怎麼設置_tp-link路由器設置密碼【圖解】-太平洋...
    關於tplink無線路由器怎麼設置的問題,由於TP-LINK TL-WR541G的配置界面是基於瀏覽器的,所以要先建立正確的網絡設置,將電腦A通過網卡連接到了無線寬帶路由器的區域網埠,接下來有兩種方法為電腦A設置IP位址。
  • 系統小技巧:遷移通過Wubi方式安裝的Ubuntu系統
    通過Wubi安裝的Ubuntu系統實際存於X:\ubuntu\disks(此處X為Wubi安裝的Ubuntu系統所在分區)文件夾下的Root.disk鏡像文件中,Root.disk也是Linux的ext3文件系統的虛擬磁碟。打包拷貝X:\ubuntu\文件夾,複製到任何一臺Windows電腦上,略加配置,不用重裝便可以使用Ubuntu系統了。