linux下载获取取国内路由表

今天给公司的macbook都配置了vpn,但每次拨号大家的qq和skype都会掉下线,并且多人连接到了vpn,拖公司的网速,为了解决这样的问题,我做了连上vpn,访问国内网站不走vpn,访问国外才走vpn,为了让公司的macbook都实时能够更新到路由表,我做了下面的一个简单东西.
1.下载路由表
因为要获取到路由表才能给大家都更新,但路由表的获取网站:
chnroutes主页:https://code.google.com/p/chnroutes/,分流路由表下载:http://chnroutes-dl.appspot.com/,这个两个网站在国内都受到“特别的关照”,所以出现404、重置之类的别觉得奇怪。连接上VPN或使用网页代理访问.

所以我只能在国外的服务器上把路由表down下来:

 代码如下 复制代码
wget http://chnroutes-dl.appspot.com/downloads/AMIfv95TJD_eME3FFtmpE7Ydli6PIRkyrChTrcZjRUm-vlg6Q-XyqvdKvzbdqD7pI1I3OQ3tP1BHenH1RpYcA-5qeF22tgpELl6wTR6_VXCPazn5EeIvjEG-EqAeMSucQMLatVZ8KBKbq-nskF1yg5vV6M7NQnGwBMlt2uP1lr241LUDOSoFqHI

2.下下来后,得到linuxzip.zip这个包,我们要解压

 代码如下 复制代码
yum -y install unzip
unzip linuxzip.zip

解压出来有
data文件夹和install.sh文件

我们进入到data文件夹里,我们要获取ip-pre-up文件里的路由表,使用下面的命令:

 代码如下 复制代码
awk '/route/,p' ip-pre-up >ip1

这样就把ip路由表提取出来了,但里面的内容如下:

 代码如下 复制代码
route add 1.0.1.0/24 "${OLDGW}"
route add 1.0.2.0/23 "${OLDGW}"
route add 1.0.8.0/21 "${OLDGW}"
route add 1.0.32.0/19 "${OLDGW}"
route add 1.1.0.0/24 "${OLDGW}"
route add 1.1.2.0/23 "${OLDGW}"
route add 1.1.4.0/22 "${OLDGW}"
route add 1.1.8.0/21 "${OLDGW}"
route add 1.1.16.0/20 "${OLDGW}"
route add 1.1.32.0/19 "${OLDGW}"
route add 1.2.0.0/23 "${OLDGW}"
route add 1.2.2.0/24 "${OLDGW}"
route add 1.2.4.0/24 "${OLDGW}"
route add 1.2.5.0/24 "${OLDGW}"
route add 1.2.6.0/23 "${OLDGW}"
route add 1.2.8.0/24 "${OLDGW}"
route add 1.2.9.0/24 "${OLDGW}"
route add 1.2.10.0/23 "${OLDGW}"
route add 1.2.12.0/22 "${OLDGW}"
route add 1.2.16.0/20 "${OLDGW}"
route add 1.2.32.0/19 "${OLDGW}"
route add 1.2.64.0/18 "${OLDGW}"
route add 1.3.0.0/16 "${OLDGW}"
........(我省略了中间很多)
route add 103.252.64.0/22 "${OLDGW}"
route add 103.252.104.0/22 "${OLDGW}"
route add 103.252.172.0/22 "${OLDGW}"
route add 103.252.204.0/22 "${OLDGW}"
route add 103.252.208.0/22 "${OLDGW}"
route add 103.252.232.0/22 "${OLDGW}"
route add 103.252.248.0/22 "${OLDGW}"
route add 103.253.4.0/22 "${OLDGW}"
route add 103.253.60.0/22 "${OLDGW}"

所以我们还要来最后一步把路由表给提出来,其他的都不要:

 代码如下 复制代码
sed '/./{s/^route add//;s/"${OLDGW}"//}' ip1 >t1.txt
sed '/./{s/^[ t]*//;s/[ t]*$//}' t1.txt >ip

这样才是真的把ip路由表提取出来了.

时间: 2024-11-09 00:53:09

linux下载获取取国内路由表的相关文章

Linux下获取用户主目录的方法分享

  Linux下获取用户主目录的方法分享     方法如下 char *path = getenv("HOME"); printf("path = %sn",path); getenv是标准库函数,包含stdlib.h头文件就可.

linux下载中心

linux下载中心 http://download.chinaunix.net/download/0004000/3479.shtml

linux编程获取本机网络相关参数

getifaddrs()和struct ifaddrs的使用,获取本机IP 博客分类:    Linux C编程       ifaddrs结构体定义如下: C代码   struct ifaddrs    {        struct ifaddrs  *ifa_next;    /* Next item in list */        char            *ifa_name;    /* Name of interface */        unsigned int    

Linux 下获取LAN中指定IP的网卡的MAC(物理地址)

// all.h// 2005/06/20,a.m. wenxy #ifndef _ALL_H#define _ALL_H #include <memory.h>#include <stdio.h>#include <stdlib.h>#include <sys/ioctl.h>#include <sys/types.h>#include <sys/socket.h>#include <net/if.h>#include

Linux下获取代码文件名、代码所在行数及日期时间的C程序实现

一.概述 在实际的软件开发项目中,为了方便排查程序问题,要求在日志文件中输出日志信息所在的程序文件名及日志代码所在的行数.此外,某些软件还会要求将程序启动时的日期时间输出到日志文件中,方便跟踪软件运行状况. 本文介绍了Linux下获取代码文件名.代码行数及日期时间的C代码实现. 二.几个标准预定义宏简介 在C语言中,使用几个标准预定义宏,便可轻松实现获取代码文件名.代码行数及日期时间的功能. 这几个宏的定义如下(注意:前后都是两条连续的下划线): __FILE__:在源文件中插入当前源文件名.

I.MX6 Linux 自动获取AR1020 event input节点

/*********************************************************************** * I.MX6 Linux 自动获取AR1020 event input节点 * 说明: * 本文主要记录如何自动获取AR1020 SPI电阻Touch产生的设备节点. * * 2016-4-5 深圳 南山平山村 曾剑锋 ******************************************************************

修改Fedora 17默认软件下载源为国内大学镜像服务器

Fedora安装完毕之后最头疼的问题就是软件更新,因为Fedora默认的更新源服务器是在国外,所以每次更新的速度奇慢!那么,我们是否 可以修改Fedora的默认下载源呢?答案是可以的.目前国内有很多大学都提供了Fedora的更新包下载服务器,下载速度相对国外的快.下面以华中科技 大学的源(http://mirrors.ustc.edu.cn/)为例(只能用在Fedora15.16.17,强烈建议在修改默认的下载源时候,先 备份/etc/yum.repos.d/fedora.repo和/etc/y

如何在windows下和linux下获取文件(如exe文件)的详细信息和属性

程序员都很懒,你懂的! 最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需要获取服务器上新程序的版本号信息.最后由我用java实现linux上exe文件的版本号读取功能.下面是详细代码: package com.herman.utils; import java.io.File; import java.io.FileNotFoundException; import java.io.I

(总结)Linux下获取详细硬件信息的工具:Dmidecode命令详解

Dmidecode 这款软件允许你在 Linux 系统下获取有关硬件方面的信息.Dmidecode 遵循 SMBIOS/DMI 标准,其输出的信息包括 BIOS.系统.主板.处理器.内存.缓存等等.偶发现这个工具很有用,就总结一下. 一.DMI简介: DMI (Desktop Management Interface, DMI)就是帮助收集电脑系统信息的管理系统,DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行. SMBIOS(System Management BIOS)是主板或系统