Skip to content

Latest commit

 

History

History
93 lines (77 loc) · 2.85 KB

mac_os_route.org

File metadata and controls

93 lines (77 loc) · 2.85 KB

os x route

mac osx Lerpard 中, 使用内置的pptp client端拨号成功后, 所有的网络连接均走vpn路线, 这样校内的网站也走这个了, 导致速度缓慢, 校内连接终端等 解决方法是: 手动设置路由表, 以我的实际情况为例:

# 在windows下,我需要设置如下3条静态路由(首条0.0.0.0为default)
route -p add 0.0.0.0      mask 0.0.0.0       10.13.31.1   (我的校园网网关是这个)
route -p add 10.0.0.0     mask 255.0.0.0     10.13.31.1
route -p add 210.32.0.0   mask 255.255.240.0   10.13.31.1
route -p add 222.205.0.0 mask 255.255.128.0   10.13.31.1

max os 下设置:

# 在Mac OSX 中, 设置路由的命令稍有不同, 为:
route -n add defalut     10.13.31.1
route -n add   -net 10.0.0.0/8      10.13.31.1
route -n add -net 210.32.0.0/20   10.13.31.1
route -n add -net 222.205.0.0/17 10.13.31.1
route -n delete default

或者用如下的比较明了的命令也可以:

route -n add -net   210.32.0.0 -netmask 255.255.240.0   10.13.31.1

在linux下的命令又不太一样, 如下:

route add default gw   10.13.31.1
route -n add   -net 10.0.0.0/8      gw 10.13.31.1
route -n add -net 210.32.0.0/20   gw 10.13.31.1
route -n add -net 222.205.0.0/17 gw   10.13.31.1

设置好如上静态路由, 就可以Vρ∩内网外网访问无阻啦. 因为*nix的route命令没有 -p 选项(设置为静态路由), 重启后, 设置的3条路由又无效了, 必须重新运行命令,比较麻烦. 写成脚本, 每次开机运行下, 是一个方法. Mac OSX 中可以设置成启动项, 每次开机自动运行, 方法是:

  1. 在H:\Library\StartupItems\ 下新建一个目录, 比如命名为 SetRoutes
  1. 在 SetRoutes目录下新建一个文本文件(比如命名为SetRoute),写上脚本程序如下:

===========================================

#!/bin/sh
# Set up static routing tables 
# Roark Holz, Thursday, April 6, 2006
. /etc/rc.common
StartService ()
{
        ConsoleMessage "Adding Static Routing Tables"
route -n add -net 10.0.0.0/8      10.13.31.1
        route -n add -net 210.32.0.0/20   10.13.31.1
        route -n add -net 222.205.0.0/17 10.13.31.1
}
StopService ()
{
        return 0
}
RestartService ()
{
        return 0
}
RunService "$1"

================================================== 注意更换其中的 route add 为你自己的命令.

  1. 新建一个 StartupParameters.plist 文件, 指定命令参数,内容如下:

===================================

{
        Description     = "Set static routing tables";
        Provides        = ("SetRoutes");
        Requires        = ("Network");
        OrderPreference = "None";
}

====================================

  1. 修复磁盘权限, 重启, OK!

以上在 Mac OSX 10.5.5 Leopard 中试验通过.