论坛风格切换切换到宽版
  • 613阅读
  • 9回复

[问题求助]请教 platinum 以及别的大大 关于如何自动切换网络的问题 [复制链接]

上一主题 下一主题
 
发帖
2063
C币
-235799
威望
384
贡献值
1
银元
0
铜钱
4574
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
我先描述一下我的问题:

目前的网络结构:
eth0  网通的线路
eth1  电信的线路

eth2 内网的线路

现在 网通的线路总是不稳定

系统本身有一个路由表
电信的IP走电信的线路
网通的IP走网通的线路

问题是:
当 网通死了以后,.我想将所有的路由表 切换到学习
全部走 电信?

有什么办法? 我想做一.个自动的!虚拟主机


我的想法:

写一个.C程序,每隔 2分钟 ping一下网通的网关电影
如果能够通
就不做任何操作

如果没有回应

就 使用route.. add将所有网通的路由 转向 电信的外贸

这是我的思路

不知道. .platinum或者其他的大大 还有什么好的方法吗?              乙肝

比较着急!


最佳答案platinum
http://upload.bbs.csuboy.com/Mon_1004/126_6612_c2515fb4e40125e.gif[/img].

QUOTE:.原帖由 huzh.angyou2002 于 2007-1-30 15:25 发表于 1楼  .
我的想法:

写一个C程序,每隔 2分钟 ping一下网通的网.关服务器
如果能够通
就不做任何操作

如果没有回应

就 使用rout.e add将所有网.通的路由 转向 电信的(        游戏          )

这是我的思路

不知道 platinum或者其.他的大.大 还有什么好的方法吗?电影

比较着急!

可.以,但是实现起来可能相对复杂一些.,用 shell 也可以实现,而且相对简单.

#! /bin/bash

if ping -c1 -w1 网通网关 &>/dev/nu.l.l; then           建材

   . 修改路由,使数据全部走电信虚拟主机

    设置一个标记,比如用 echo "1" > /tmp/route_flag.,告诉现在是电信.路由电脑

else

    if [. "`cat /tmp/route_flag`" = "1". ]; then投资

        判断以前是不.是只走电信的,若是,修改路.由表,使数据走双线    健康

        设置标记为走双线,比如 echo "2" > /tmp/rou.te_fla.g(广告)

    fi

fi
复制代码

可以用 c.rond 来跑,每分钟跑一次.
也可以用个 .while 弄个死循环,每次循环.后面用 sleep 延时几秒,用后台方式运行这个 shell          婚庆

[ 本帖最后.由 plat.inum 于 2007-1-30 22:39 编辑 ].


评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线kekehsu.
发帖
2147
C币
-193213
威望
407
贡献值
1
银元
-3
铜钱
4694
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
Re:请教


QUOTE:原帖由 huzhangyou2002 于 2007-1-30 15:25 发表于 1楼  
我的想法:

写一个C程序,每隔 2分钟 ping一下网通的网关
如果能够通
就不做任何操作

如果没有回应

就 使用route add将所有网通的路由 转向 电信的

这是我的思路

不知道 platinum或者其他的大大 还有什么好的方法吗?

比较着急!

可以,但是实现起来可能相对复杂一些,用 shell 也可以实现,而且相对简单

#! /bin/bash

if ping -c1 -w1 网通网关 &>/dev/null; then

    修改路由,使数据全部走电信

    设置一个标记,比如用 echo "1" > /tmp/route_flag,告诉现在是电信路由

else

    if [ "`cat /tmp/route_flag`" = "1" ]; then

        判断以前是不是只走电信的,若是,修改路由表,使数据走双线

        设置标记为走双线,比如 echo "2" > /tmp/route_flag

    fi

fi
复制代码

可以用 crond 来跑,每分钟跑一次
也可以用个 while 弄个死循环,每次循环后面用 sleep 延时几秒,用后台方式运行这个 shell

[ 本帖最后由 platinum 于 2007-1-30 22:39 编辑 ]


离线junbao99.
发帖
2069
C币
-152526
威望
375
贡献值
1
银元
-2
铜钱
4703
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
Re:请教
如果写这个程序的问题不是太大,但是如果你的很不稳定那不是老是要断线吗


离线kaerdd.
发帖
2017
C币
-549385
威望
385
贡献值
3
银元
0
铜钱
4377
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
Re:请教


QUOTE:原帖由 harddream 于 2007-1-30 17:27 发表于 2楼  
如果写这个程序的问题不是太大,但是如果你的很不稳定那不是老是要断线吗


那也没有办法啊

主要是我要切线 如果掉了就换线

大家有没有更好的方法啊

现在的一个难点就是

如何得到 ping的结果信息


发帖
1844
C币
-236143
威望
320
贡献值
1
银元
-2
铜钱
4095
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
Re:请教
十分感谢 platinum (何时才能飞)
还有其他的DADA

我试试你的方法先


离线computerfs.
发帖
2136
C币
5128
威望
390
贡献值
1
银元
-2
铜钱
4676
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
Re:请教
http://hi.baidu.com/wsm498/blog/ ... 06287b03088160.html

该文对楼主,想必,是非常有帮助的。

不过排版不好,需要楼主仔细察看。

1. 现在很多中小型网络有两条或者多条相同的不同的ISP的网络出口线路,如何将这两条线路合理的利用起来。

2. 断线救援,如何在一条线路断开以后立刻启用另一条线路负担整个网络任务,并且在线路连同以后,又重新自动启用。


离线woofwoof.
发帖
2259
C币
-235050
威望
413
贡献值
1
银元
-2
铜钱
5026
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13
Re:请教


QUOTE:原帖由 HonestQiao 于 2007-1-31 11:02 发表于 6楼  
http://hi.baidu.com/wsm498/blog/ ... 06287b03088160.html

该文对楼主,想必,是非常有帮助的。

不过排版不好,需要楼主仔细察看。

1. 现在很多中小型网络有两条或者多条相同的不同的ISP的 ...

小乔同学一心只想着挣专家分了吧?所问非所答……


离线花花86.
发帖
1980
C币
-60887
威望
371
贡献值
1
银元
-1
铜钱
4494
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
Re:请教


QUOTE:原帖由 platinum 于 2007-1-31 11:04 发表于 7楼  

小乔同学一心只想着挣专家分了吧?所问非所答……  


当 网通死了以后,我想将所有的路由表 切换到
全部走 电信?

这难道不是断线自救么?



QUOTE:2. 断线救援,如何在一条线路断开以后立刻启用另一条线路负担整个网络任务,并且在线路连同以后,又重新自动启用。


不要欺负我小白啊。


发帖
1196
C币
-237767
威望
219
贡献值
1
银元
-1
铜钱
2449
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-13
Re:请教
我做过实际测试,根本就不是那么回事
实际的结果是:50% 的数据包会丢包,50% 左右的 session 会断掉
而且这只是针对 2.4 内核的 patch
另外一点,你贴的这个方法是“路由均衡”,楼主的是“策略路由”,二者根本不搭噶啊……

ps: 我没欺负你


离线janezhang.
发帖
2088
C币
-235397
威望
404
贡献值
1
银元
-2
铜钱
4730
人人网人气币
0
只看该作者 9楼 发表于: 2010-04-13
Re:请教


QUOTE:原帖由 platinum 于 2007-1-31 11:21 发表于 9楼  
我做过实际测试,根本就不是那么回事
实际的结果是:50% 的数据包会丢包,50% 左右的 session 会断掉
而且这只是针对 2.4 内核的 patch
另外一点,你贴的这个方法是“路由均衡”,楼主的是“策略路由”,二者 ...


我不是说了断线自救对他有帮助啊。

肯定是参考不是照搬啦。

快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个