docker固定容器ip,linux浮動ip添加 手動,在Linux 雙機下自己手動實現浮動ip技術

 2023-11-19 阅读 23 评论 0

摘要:兩臺Linux服務器,一臺為主機(IP:124.158.26.30)對外提供了一定的網絡服務,另一臺從機(IP:124.158.26.31)能提供相同的服務,但ip地址沒有對外部公開客戶端連接的都是124.158.26.30這個ip地址,如果主機故障,則會使網絡服務暫時中斷,時

兩臺Linux服務器,一臺為主機(IP:124.158.26.30)對外提供了一定的網絡服務,另一臺從機(IP:124.158.26.31)能提供相同的服務,但ip地址沒有對外部公開客戶端連接的都是124.158.26.30這個ip地址,如果主機故障,則會使網絡服務暫時中斷,時間越長造成損失越大由于沒有采用雙機熱備技術,考慮自己用Linux腳本來實現簡單的浮動ip技術,當主機故障時從機獲取124.158.26.30這個ip,暫時替代主機提供服務,當主機恢復時,從機自動釋放這個ip

實現:

利用單個網卡綁定多個ip地址的技術和crontab自動執行技術

docker固定容器ip、為主機的網卡多綁定一個靜態ip,如124.158.26.32 ,這個地址是便于從機判斷的,為從機的網卡多綁定一個動態ip,127.0.0.1,它在主機故障時將會被腳本修改為124.158.26.30

在從機添加一個腳本 floatip.sh,使用crontab技術讓這個腳本每分鐘執行一次,這個腳本的作用是判斷主機的地址32能否ping通,一旦不通則將讓自己的網卡多余那個ip地址改為124.158.26.30,如果主機恢復,則將這個地址改回為127.0.0.1

步驟:

一、為主機多綁定一個靜態ip124.158.26.32

linux雙機調試。在

/etc/sysconfig/network-scripts目錄里面創建一個名為

ifcfg-eth0:1的文件,內容為:

DEVICE=eth0:1

Linux雙機、IPADDR=139.24.214.82

NETMASK=?255.255.255.0

ONBOOT=?yes

二、在從機上建立腳本floatip.sh

雙linux、c1=`ping 124.158.26.32 -c 1 | grep Unreachable | wc -l`

c2=`ping 124.158.26.32 -c 10 | grep Unreachable | wc -l`

c3=`ping 124.158.26.30 -c 10 | grep Unreachable | wc -l`

c4=`/sbin/ifconfig |grep 124.158.26.30 |wc -l`

docker 靜態ip。if [ $c1 -gt 0 ] ;then

if [ $c2 -gt 9 ] ;then

if [ $c3 -gt 9 ] ;then

/sbin/ifconfig eth0:1 124.158.26.30 netmask 255.255.255.0

linux查當前ip?echo "float ip to 30"

fi

fi

echo "can not connect"

vim 上一頁下一頁,else

if [ $c4 -gt 0 ] ;then

/sbin/ifconfig eth0:1 127.0.0.1 netmask 255.255.255.0

echo "reset ip"

linux。fi

echo "connection is ok"

fi

用chmod?+x?autoFloatIP.sh

centos7靜態ip?讓它可以執行,腳本的內容為

c1=$(ping?139.24.214.82?-c?1|grep?Unreachable|wc?-l)

if?[?$c1?-gt?0?]??then

c2=$(ping?139.24.214.82?-c?10|grep?Unreachable|wc?-l)

docker獲取宿主機ip地址、if?[?$c2?-gt?9?]??then

c3=$(ping?139.24.214.22?-c?10|grep?Unreachable|wc?-l)

if?[?$c3?-gt?9?]??then

/sbin/ifconfig?eth0:1?139.24.214.22?netmask?255.255.254.0

echo?"float?ip?to?22"

fi

fi

echo?"can?not?connect"

else

c4=$(/sbin/ifconfig|grep?139.24.214.22|wc?-l)

if?[?$c4?-gt?0?]??then

/sbin/ifconfig?eth0:2?127.0.0.1?netmask?255.255.254.0

echo?"reset?ip"

fi

echo?"connection?is?ok"

fi

其中關鍵的命令為

/sbin/ifconfig?eth0:1?139.24.214.22?netmask?255.255.254.0

/sbin/ifconfig?eth0:2?127.0.0.1?netmask?255.255.254.0

用這個方法來動態修改

IP

,動態

IP

在電腦重啟會消失

從機上建立crontab

讓后加上這樣的一行并保存

*?*?*?*?*?/root/autoFloatIP.sh?>?/dev/null?2>&1

小提示

在測試時,你可以先將這句話改為

*?*?*?*?*?/root/autoFloatIP.sh

這樣你可以用

mutt

收到很多郵件,用戶跟蹤腳本執行情況

原文:http://www.cnblogs.com/Gbeniot/p/5421369.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/182371.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息