失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux 双网卡浮动ip Linux脚本实现简单浮动ip:单个网卡绑定多个ip地址和crontab自

linux 双网卡浮动ip Linux脚本实现简单浮动ip:单个网卡绑定多个ip地址和crontab自

时间:2020-12-07 21:17:47

相关推荐

linux 双网卡浮动ip Linux脚本实现简单浮动ip:单个网卡绑定多个ip地址和crontab自

两台Linux服务器,一台为主机(IP:)对外提供了一定的网络服务,另一台从机(IP:)能提供相同的服务,但ip地址没有对外部公开客户端连接的都是这个ip地址,如果主机故障,则会使网络服务暂时中断,时间越长造成损失越大由于没有采用双机热备技术,考虑自己用Linux脚本来实现简单的浮动ip技术,当主机故障时从机获取这个ip,暂时替代主机提供服务,当主机恢复时,从机自动释放这个ip

实现:

利用单个网卡绑定多个ip地址的技术和crontab自动执行技术

为主机的网卡多绑定一个静态ip,如 ,这个地址是便于从机判断的,为从机的网卡多绑定一个动态ip,,它在主机故障时将会被脚本修改为

在从机添加一个脚本 ,使用crontab技术让这个脚本每分钟执行一次,这个脚本的作用是判断主机的地址32能否ping通,一旦不通则将让自己的网卡多余那个ip地址改为,如果主机恢复,则将这个地址改回为

步骤:

一、为主机多绑定一个静态ip

/etc/sysconfig/network-scripts目录里面创建一个名为

ifcfg-eth0:1的文件,内容为:

DEVICE=eth0:1

IPADDR=

NETMASK=

ONBOOT=yes

二、在从机上建立脚本

c1=`ping -c 1 | grep Unreachable | wc -l`

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

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

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

if [ $c1 -gt 0 ] ;then

if [ $c2 -gt 9 ] ;then

if [ $c3 -gt 9 ] ;then

/sbin/ifconfig eth0:1 netmask

echo "float ip to 30"

fi

fi

echo "can not connect"

else

if [ $c4 -gt 0 ] ;then

/sbin/ifconfig eth0:1 netmask

echo "reset ip"

fi

echo "connection is ok"

fi

用chmod+x

让它可以执行,脚本的内容为

c1=$(ping-c1|grepUnreachable|wc-l)

if[$c1-gt0]then

c2=$(ping-c10|grepUnreachable|wc-l)

if[$c2-gt9]then

c3=$(ping-c10|grepUnreachable|wc-l)

if[$c3-gt9]then

/sbin/ifconfigeth0:1netmask

echo"floatipto22"

fi

fi

echo"cannotconnect"

else

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

if[$c4-gt0]then

/sbin/ifconfigeth0:2netmask

echo"resetip"

fi

echo"connectionisok"

fi

其中关键的命令为

/sbin/ifconfigeth0:1netmask

/sbin/ifconfigeth0:2netmask

用这个方法来动态修改

IP

,动态

IP

在电脑重启会消失

从机上建立crontab

让后加上这样的一行并保存

*****/root/>/dev/null2>&1

小提示

在测试时,你可以先将这句话改为

*****/root/

这样你可以用

mutt

收到很多邮件,用户跟踪脚本执行情况

linux 双网卡浮动ip Linux脚本实现简单浮动ip:单个网卡绑定多个ip地址和crontab自动执行的技术...

如果觉得《linux 双网卡浮动ip Linux脚本实现简单浮动ip:单个网卡绑定多个ip地址和crontab自》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。