怎样同时让两个网段工作(经常切换外网出口)

怎样同时让两个网段工作(经常切换外网出口)
公司两个网段,都要用到.
有线网,6网段,实验网. net 192.168.6.0, netmast 255.255.255.0
单独一个网时,可以上外网, 该网上会发送,接受组播数据.
网段 net 239.0.0.0,netmast 255.0.0.0 的数据

无线网,1网段,工作网.  net 192.168.1.0, netmast 255.255.255.0,  
单独一个网时,可以上外网,该网上布置了一个git服务器, 我监测了一下,其ip 地址为222.128.105.173
我不太清楚它们怎样在1网段布置了一个222.128.105.174的服务器.是租赁吧?不象单独自己架设.
(traceroute 走的挺远), 而且也不清楚为啥6网段就不能访问它.
这两个网段是互相不通的. 这我知道.

当两个网都打开时, 用route 查看,会出现两个default 网关, 但是由于无线网卡优先权低(其跃点为600),有线跃点为100
实际上默认网关还是走有线, 因而此时还是不能访问1网段的git服务器.
平常的做法是, 用1网段工作, 当需要用git服务器时,关闭1网段,打开6网段, 在这种环境下工作了1年.
感觉就是太low了,能不能让这两个网段同时工作 ?!
而且公司还时有问题发生,6网段不能上网了,那就用1网段. 1网段不能上网了,那就用6网段.所以也会有切换需求.
两个网都不能上网了,那就只能byebye了,哈哈!

解决办法:
route 属于net-tools 工具包中的工具.

具体操作方法: 2种, 任选其一

1. 删除1网段默认网关路由, 只留6网段为默认路由
$ sudo route del 0.0.0.0 gw 192.168.1.1

2. 添加git服务器地址到1网段
$ sudo route add -host 222.128.105.173 gw 192.168.1.1


另一种
1. 删除6网段默认网关路由, 只留1网段为默认路由
$ sudo route del 0.0.0.0 gw 192.168.6.1

2. 添加239 网段到6网段
$ sudo route add -net 239.0.0.0 netmask 255.0.0.0 gw 192.168.6.1
它表示访问239.0.0.0 网段的所有数据都要经过网关192.168.6.1,

问题解决.
启动路由丢失问题
ubuntu 下使路由永久生效, 又牵扯到是network在管理网络还是netowrkManager 在管理网络, 真麻烦!
算了,写一个脚本吧, 需要的时候可以执行一下,也可以直接加到 .bashrc 中调用
把两种需求合并,实际上是添加两条路由,这个容易,并根据用户输入选择外网是1网段或者6网段.
当执行
./myroute.sh 1 时由1网段上网
./myroute.sh 6 时由6网段上网

脚本内容如下:
$ cat myroute.sh
#!/bin/bash
temp_var=$(route -n)

# help display
if [ $# -ne 1 ]
then
    echo "Usage $0 <1 or 6 >"
    exit 0
fi

# 调整默认网关
if [ "$1" == "1" ] #当输入参数为1时,删除6网关,添加1网关
then
    if  echo $temp_var | grep -q "0.0.0.0 192.168.6.1"
    then
        sudo route del -net 0.0.0.0 gw 192.168.6.1
    fi
    if  echo $temp_var | grep -q "0.0.0.0 192.168.1.1"
    then
        echo "default gate 192.168.1.1 has exist"
    else
        sudo route add -net 0.0.0.0 gw 192.168.1.1
    fi
    
fi

if [ "$1" == "6" ] #当输入参数为6时,删除1网关,添加6网关
then
    if  echo $temp_var | grep -q "0.0.0.0 192.168.1.1"
    then
        sudo route del -net 0.0.0.0 gw 192.168.1.1
    fi
    if  echo $temp_var | grep -q "0.0.0.0 192.168.6.1"
    then
        echo "default gate 192.168.6.1 has exist."
    else
        sudo route add -net 0.0.0.0 gw 192.168.6.1
    fi
    
fi
# 添加访问gitserver网站的路由
if  echo $temp_var | grep -q "222.128.105.173 192.168.1.1"
then
    echo "already add the net:222.123.105.173 gw 192.168.1.1"
else
    sudo route add -host 222.128.105.173 gw 192.168.1.1
fi

# 添加访问广播的路由

if  echo $temp_var | grep -q "239.0.0.0 192.168.6.1"
then
    echo "already add the net:239.0.0.0 gw 192.168.6.1"
else
    sudo route add -net 239.0.0.0/8 gw 192.168.6.1
fi
# 显示路由表
route -n

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值