最近在測試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 loopbackiface 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-f7120000enp0s25: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
相關參考