[Ubuntu] 單網卡綁多IP

Frank Lin
4 min readJul 25, 2018

最近在測試keepalived實作,遇到一些Linux基礎觀念,查一下單主機網卡要如何去掛多個IP,就記錄一下過程,然後發現Ubuntu 16.04 網卡名稱不在是傳統 eth0 目前環境是 enp0s25 (版本不同可能名稱也不太依樣: enp3s0、ens33) 。

舉簡單的例子

我們在Linux環境設定網路時,會透過/etc/network/interfaces 檔案裡面設定網路與固定 IP,現有的 enp0s25 網卡,如果要再設定二組 IP 位址,其實就 是在新增第二筆設定。(enp0s25為新版網卡名稱,若想要修改為eth0可以上網查詢修改方式)

$ /etc/network/interfaces 檔案加入下列內容

auto lo
iface lo inet loopback
iface enp0s25 inet static
address 192.168.1.168
netmask 255.255.255.0
gateway 192.168.1.254
# 新增第二筆網卡設定auto enp0s25:0 inet static
address 192.168.1.169
netmask 255.255.255.0
gateway 192.168.1.254

修改完可使用以下指令重新啟動網路讀取網路設定

$sudo /etc/init.d/networking restart 

或是可以使用 ifup & ifdown enp0s25:0 指令將這二張網卡給啟動

可以透過以下檢查網路狀態,就會發現多一個enp0s25:0 網卡被掛載

$ ip -4 a

最後就可以同時透過這兩個IP連線至電腦。

後續也有查到另外的方式,快速新增「動態修改」的方式來新增IP,但很重開機後新增紀錄就會被移除,所以還是建議以上面「靜態」方式一次性修改。

這裡直接使用 ifconfig 命令

$sudo ifconfig enp0s25:0 192.168.1.168 broadcast 110.25.*.255 netmask 255.255.255.0

這邊用ifconfig去查看網路狀態,就會看到網卡被新增

enp0s25   Link encap:Ethernet  HWaddr d8:9e:f3:07:1c:c8
inet addr:192.168.1.168 Bcast:192.168.1.254 Mask:255.255.255.0
inet6 addr: fe80::664b:1637:57:1988/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7118762 errors:0 dropped:3335 overruns:0 frame:0
TX packets:475033 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1173901654 (1.1 GB) TX bytes:46806446 (46.8 MB)
Interrupt:20 Memory:f7100000-f7120000
enp0s25:0 Link encap:Ethernet HWaddr d8:9e:f3:07:1c:c8
inet addr:192.168.1.169 Bcast:192.168.1.254 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:20 Memory:f7100000-f7120000

相關參考

ubuntu 16.04,將網卡改回 eth0

Ubuntu 單張網卡設定多組 IP 位址

--

--