完成在VPS的RouterOS CHR的安装后(参考 RouterOS CHR安装到VPS),测试本地到VPS的网络延迟和丢包在接受范围内,就可以开始正式部署

 

VPSRouterOS

隧道协议选择SSTP,启用SSTP协议服务器,默认端口为443,当然端口也可以自己定义

/interface sstp-server server
set enabled=yes port=443

 

创建一个vps策略,定义local-address为10.200.1.1

/ppp profile
add local-address=10.200.1.1 name=vps

 

创建客户端账号和密码为yus,分配该账号的IP地址为10.200.1.2

/ppp secret
add name=yus password=yus profile=vps service=sstp remote-address=10.200.1.2

 

配置nat规则

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether

 

本地RouterOS

首先创建全国的静态路由表,网关指向拨号网关

/ip route
add distance=1 dst-address=1.0.1.0/24 gateway=pppoe-out1
add distance=1 dst-address=1.0.2.0/23 gateway=pppoe-out1
add distance=1 dst-address=1.0.8.0/21 gateway=pppoe-out1
add distance=1 dst-address=1.0.32.0/19 gateway=pppoe-out1
add distance=1 dst-address=1.1.0.0/24 gateway=pppoe-out1
add distance=1 dst-address=1.1.2.0/23 gateway=pppoe-out1
add distance=1 dst-address=1.1.4.0/22 gateway=pppoe-out1
add distance=1 dst-address=1.1.8.0/24 gateway=pppoe-out1
add distance=1 dst-address=1.1.9.0/24 gateway=pppoe-out1
add distance=1 dst-address=1.1.10.0/23 gateway=pppoe-out1
add distance=1 dst-address=1.1.12.0/22 gateway=pppoe-out1

我做的静态路由,当然也可以选择address-list的策略路由,但策略路由配置较多,涉及路由标记和其他配置,所以使用静态路由操作简单,缺点是不易于管理。

静态路由脚本下载(注意:提供的不是.rsc脚本文件,是txt,因为gateway默认设置为pppoe-out1,如果拨号接口名称不一样,或者使用IP作为网关,请自行修改后,导入RouterOS)

提示:需要将指VPS服务器的IP地址走路由器默认路由,如本地光猫拨号pppoe-out1,避免VPS的IP走到隧道,会造成隧道无法建立的问题,如下配置:

add distance=1 dst-address=VPS_IP gateway=pppoe-out1

如果你家是光猫拨号,修改pppoe-out1的默认路由距离为3,作为RouterOS的备份默认路由

/interface pppoe-client set name=pppoe-out1 default-route-distance=3

 

创建sstp客户端,设置了SSTP隧道为默认路由,默认路由距离为1,优先级高于pppoe-out1的默认路由,设置连接的VPS_ip和账号密码

/interface sstp-client
add add-default-route=yes connect-to=vps_ip:443 disabled=no name=sstp-vps user=yus password=yus profile=default-encryption default-route-distance=1

 

这样配置后,全国IP走静态路由,剩下的其他IP则走默认路由出去,路由部分已经配置完成,剩下的就是DNS,要求RouterOS版本是6.47以上,因为需要使用DNS转发功能,在6.47后的版本才支持该功能,关于DNS转发介绍可以参考RouterOS V6.47 DNS转发功能介绍

 

本地的DNS服务器配置不变,新版本的RouterOS支持dns forward类型,所以我们可以指定相应网站的域名走指定dns解析,配置如下:

/ip dns static
add forward-to=8.8.8.8 regexp=".*\\.google\\.com" type=FWD
add forward-to=8.8.8.8 regexp=".*\\.youtube\\.com" type=FWD
add forward-to=8.8.8.8 regexp=".*\\.ytimg\\.com" type=FWD
add forward-to=8.8.8.8 regexp=".*\\.wikipedia\\.org" type=FWD

注意:确保转发域名和转发的DNS都指定到了VPS的线路,这样才能调度到就就近上网线路的资源(原理参见