在平常應用環境中,咱們會遇到這樣一種lvs部署環境,全部的dr以及的rs server都在一個局域網環境中,但只有一個公網ip,而又須要將應用發佈到internet上,都知道lvs的最好的模式就是全部的server都有一個公網ip,但不少時候公網資源稀缺,當出現只有一個公網ip的時候,怎麼實現lvs對外發布呢?後端
eth0:公網IP接入INTERNET eth1:172.18.68.10(公網IP) #實驗環境中使用172.18.68.10作公網IP eth2:10.10.0.1內網IP 在上面的配置中eth0、eth二、VIP一共使用了3個公網IP。還能夠縮減成兩個公網IP。 即eth1不配置公網IP,在路由上添加主機路由 route add -host 172.18.68.100 dev eth2 ,也能達到相同的效果。
在腳本中修改VIP、網卡名、端口、後端服務器而後執行腳本便可。
注意:關於vip,若是vip不在DIP所在的網段內,那麼vip必定要配置在dr與後端RS Server直連的網卡上,否則就會出現沒法訪問的狀況;也就是說VIP與RIP要配到同一個網卡上。bash
#!/bin/bash #Author:shuaiguoxia.com #Date:2017-10-23 vip='172.18.0.100' iface='eth0:1' mask='255.255.255.255' port='80' rs1='10.10.0.72' rs2='10.10.0.73' scheduler='wrr' type='-g' case $1 in start) ifconfig $iface $vip netmask $mask broadcast $vip up iptables -F ipvsadm -A -t ${vip}:${port} -s $scheduler ipvsadm -a -t ${vip}:${port} -r ${rs1} $type -w 1 ipvsadm -a -t ${vip}:${port} -r ${rs2} $type -w 1 echo "The VS Server is Ready!" ;; stop) ipvsadm -C ifconfig $iface down echo "The VS Server is Canceled!" ;; *) echo "Usage: $(basename $0) start|stop" exit 1 ;; esac
將以上代碼保存爲腳本,而後執行腳本便可服務器
./dr-vs.sh start #dr-vs.sh爲腳本名
首先配置RS的內網IP地址,設定默認網關爲10.10.0.1.而後運行下面腳本便可3d
#!/bin/bash #Author:shuaiguoxia.com #Date:2017-10-23 vip=172.18.68.100 mask='255.255.255.255' dev=lo:1 case $1 in start) echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce ifconfig $dev $vip netmask $mask broadcast $vip up route add -host $vip dev $dev echo "The RS Server is Ready!" ;; stop) ifconfig $dev down echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore3 echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce echo "The RS Server is Canceled!" ;; *) echo "Usage: $(basename $0) start|stop" exit 1 ;; esac
將以上代碼保存爲腳本,而後執行腳本便可code
./dr-rs.sh start #dr-rs.sh爲腳本名
注意:關於vip,若是vip不在DIP所在的網段內,那麼vip必定要配置在dr與後端RS Server直連的網卡上,否則就會出現沒法訪問的狀況;也就是說VIP與RIP要配到同一個網卡上。server