如何在伺服器上新增虛擬IP?

roc_guo發表於2021-06-29

最近,有位小夥伴為了實現Nginx的高可用,在自己的伺服器上搭建了一套Nginx叢集,Nginx節點的伺服器總共有3臺。那麼問題來了:如何對外只使用一個IP地址,透過某種策略來訪問三個伺服器節點上的Nginx?答案就是:可以使用虛擬IP來實現!那麼,如何在伺服器上新增虛擬IP?今天,我們就一起實操在伺服器上新增虛擬IP。

實戰內容

這裡我們建立兩個虛擬機器環境,IP地址分別為192.168.209.121和192.168.209.122,如下圖所示:

如何在伺服器上新增虛擬IP?如何在伺服器上新增虛擬IP?

如何在伺服器上新增虛擬IP?如何在伺服器上新增虛擬IP?

在192.168.209.122上新增一個VIP地址為:192.168.209.22,執行如下 :

ifconfig eth0:1 192.168.209.22 broadcast 192.168.209.255 netmask 255.255.255.0 up

eth0:1表示這個VIP繫結的目標網路卡裝置,192.168.209.22就是VIP的值,廣播地址為192.168.209.255,子網掩碼為:255.255.255.0,up表示立即啟用這個VIP。

接著下來,我們透過route ,在路由表上新增對這個VIP的路由資訊

route add -host 192.168.209.22 dev eth0:1

此時,我們在192.168.209.121這臺虛擬機器上執行ifconfig命令如下:

如何在伺服器上新增虛擬IP?如何在伺服器上新增虛擬IP?

多了一張eth0:1網路卡,說明VIP建立成功。

接下來,我們ping 192.168.209.22,如下圖:

如何在伺服器上新增虛擬IP?如何在伺服器上新增虛擬IP?

ping成功,說明我們的VIP建立測試成功。

注意: VIP資訊在主機重啟後會消失,所以我們最好是將建立VIP的命令寫成一個 vip.sh,將 配置到環境變數和開機啟動項:

指令碼資訊如下:

#!/bin/bash 
ifconfig eth0:1 192.168.209.22 broadcast 192.168.209.255 netmask 255.255.255.0 up 
route add -host 192.168.209.22 dev eth0:1


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2778733/,如需轉載,請註明出處,否則將追究法律責任。

相關文章