RouterOS指定内网IP走指定接口

ROS经常会使用到多拨和VPN等功能,默认情况下全局流量都从默认的接口通过。 如果需要指定某个IP/IP段只从某个/多个指定的接口通过,那么就需要用到路由标记功能。

这次我是ROS接了软路由LEDE,因为需要使用LEDE的koolproxy插件去电视盒的广告,但是不想改变现有网络的结构。所以想到ROS使用VPN拨号到LEDE的PPTP服务器,然后标记内网电视盒的IP走LEDE,从而达到去广告的目的。

 

方法(主要讲讲ROS的设置):

1、LEDE创建PPTP服务器,这个就不说了(LEDE新版本这个功能已经没了)

2、PPP,点击 + 按钮,选择“PPTP Client”,“Connect To”填写LEDE的wan口ip,user填写LEDE PPTP服务器账号,password填写LEDE PPTP服务器密码

461-1.png

3、IP - Firewall 中切换到 Mangle 选项卡,点击 + 按钮,添加新的规则。在 New Mangle Rule 窗口的 General 选项卡中,Chain 选择 prerouting ,Src.Address 一项填入 10.0.0.100。如果只是需要某种协议通过指定接口就需要在protocol中选择对应的协议,全局则不选。切换到 Action 选项卡,在 Action 下拉菜单中选择 mark routing ,New Routing Mark 中填入该路由标记名称,如LEDE。

461-2.png

461-3.png

4、IP - Routes 中点击 + 按钮,在 New Route 窗口中 Gateway 下拉菜单选择需要走的端口,如LEDE-PPTP,Routing Mark 选择刚才添加的名为 LEDE 路由标记,点击 OK 按钮即可。

461-4.png

到此结束,这样10.0.0.100的所有流量,都会走PPTP出去,通过Tracert查看下。如图LEDE 10.10.10.1就是LEDE的网关地址

461-5.png

  • 下载列表

目前有 17 条评论

avatar

游客404158203  2018-12-31 10:33 4楼

我把distance改成10了,但是tracert 看,根本就没有走VPN。 另外请教您:为何distance要设一个大于默认的值?

Tracing route to baidu.com [220.181.57.216]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  CCR1009 [10.10.10.1]
  2     9 ms     8 ms     9 ms  96.120.102.233
  3     8 ms     9 ms     8 ms  po-117-rur102.bellevue.wa.seattle.comcast.net [68.87.206.141]
  4    10 ms     9 ms     9 ms  be-103-ar01.seattle.wa.seattle.comcast.net [69.139.164.77]
  5    11 ms    11 ms    14 ms  be-33650-cr01.seattle.wa.ibone.comcast.net [68.86.93.165]
  6    13 ms    11 ms     9 ms  be-10846-pe01.seattle.wa.ibone.comcast.net [68.86.86.90]
  7    22 ms    21 ms    21 ms  66.208.232.82
  8   152 ms   157 ms   156 ms  202.97.95.201
  9   157 ms   157 ms   157 ms  202.97.91.1
10   176 ms   173 ms   182 ms  202.97.94.238
11   201 ms   200 ms   199 ms  202.97.34.149
12     *        *        *     Request timed out.
13     *        *      165 ms  218.30.25.134
14     *        *        *     Request timed out.
15   159 ms   158 ms   158 ms  220.181.182.30
16     *        *        *     Request timed out.
17     *        *        *     Request timed out.
18     *        *        *     Request timed out.
19   167 ms   167 ms   167 ms  220.181.57.216 回复
avatar

星之宇  2018-12-31 13:34

@游客404158203:1是默认的,越点越低越优先,多线要设置这个的 回复
avatar

游客404158203  2018-12-31 09:37 3楼

我把设置贴出来,您看看有无问题.( 我把l2tp client 的interface disable了,不然上不了网:-)
mangle rule:  
/ip firewall mangle
add action=mark-routing chain=prerouting disabled=yes new-routing-mark=seanVPN \
    passthrough=no src-address=10.10.10.76

l2tp client:
/interface l2tp-client
add connect-to=89fa07c51712.sn.mynetname.net ipsec-secret=xxxxxxx   name=\
    l2tp-out1 password=xxxxxxx  use-ipsec=yes user=vpn


ip route:

/ip route
add disabled=yes distance=1 gateway=l2tp-out1 routing-mark=seanVPN 回复
avatar

星之宇  2018-12-31 09:50

@游客404158203:ip route: distance=1改成其它的distance=10。 回复
avatar

游客404158203  2018-12-31 09:52

@游客404158203:您在第四步里添加IP route 的gateway 是怎么出来的? 我写我这里创建的这个l2tp-out1 对吗? 回复
avatar

星之宇  2018-12-31 09:54

@游客404158203:点击gateway有个向下的箭头,直接选择l2tp的就可以了,就是distance要比默认的大 回复
avatar

游客404158203  2018-12-31 10:58

@星之宇:我把distance改成10了。(顺便请教您:为何需要比默认值大?)但是tracert 看,根本就没有连到vpn。IP routes 看到 0.0.0.0/0,   gateway=l2tp-out1  是unreachable
C:\Users\brg34>tracert baidu.com

Tracing route to baidu.com [220.181.57.216]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  CCR1009 [10.10.10.1]
  2     9 ms     8 ms    15 ms  96.120.102.233
  3     9 ms     9 ms    11 ms  po-117-rur102.bellevue.wa.seattle.comcast.net [68.87.206.141]
  4     9 ms    17 ms     9 ms  be-103-ar01.seattle.wa.seattle.comcast.net [69.139.164.77]
  5    14 ms    12 ms    12 ms  be-33650-cr01.seattle.wa.ibone.comcast.net [68.86.93.165]
  6    10 ms    11 ms    11 ms  be-10846-pe01.seattle.wa.ibone.comcast.net [68.86.86.90]
  7    22 ms    21 ms    22 ms  66.208.232.82
  8   160 ms   157 ms   157 ms  202.97.95.201
  9   157 ms   157 ms   156 ms  202.97.91.1
10   204 ms   197 ms   196 ms  202.97.94.238
11   224 ms   217 ms   218 ms  202.97.34.149
12   193 ms     *        *     218.30.28.50
13     *        *        *     Request timed out.
14     *        *        *     Request timed out.
15   167 ms   165 ms   168 ms  220.181.182.30
16     *        *        *     Request timed out.
17     *        *        *     Request timed out.
18     *        *        *     Request timed out.
19   172 ms   174 ms   177 ms  220.181.57.216

Trace complete. 回复
avatar

星之宇  2018-12-31 13:36

@游客404158203:unreachable那就是l2tp没连接上,tracert -d baidu.com是ip地址,比较快。 回复
avatar

游客404158203  2019-01-01 11:43

@星之宇:您说的对,我在log里看了,l2tp-out1一直就是 connecting,  initializing, terminating, disconnected.   但是我用我的laptop 很容易就连上去。为何CCR1009 的 l2tp-out1 就连不上去呢?你看我的设置哪里有问题呢?
/interface l2tp-client
add connect-to=89fa07c51712.sn.mynetname.net ipsec-secret=1234 name=\
    l2tp-out1 password=1234 use-ipsec=yes user=vpn 回复
avatar

星之宇  2019-01-01 18:06

@游客404158203:服务器创建l2tp不加ipsec-secret试试,或者pptp也试试。 回复
avatar

游客404158203  2019-01-07 11:03

@星之宇:最后试成功了, 前面的几个因素排除后,最后发现可以连接无法上网,加了一个l2tp-out1的地址转换就可以了。多谢你的指点! 回复
avatar

游客404158203  2018-12-30 12:00 2楼

请教:我有类似的应用。我的局域网里有一台apple TV, 在国外有VPN 服务器。想指定appleTV 走VPN。 我按照你的设置先建立一个L2TP client, 然后mangle rule里标记 路由,然后在路由表里指定gateway,但是不成功。可以帮忙分析一下吗?  如果允许的话,我可以把具体的rsc 文件发给你。谢谢!祝新年愉快! 回复
avatar

星之宇  2018-12-30 13:14

@游客404158203:做个Tracert可以看看的。可以先使用电脑测试,在后可以再用到设备 回复
avatar

游客404158203  2018-12-31 08:33

@星之宇:我用tracert 看,从我的路由网关(10.10.10.1) 出去后就time out 了。看上去像是没有连上VPN。可是连VPN的设置我仔细检查过了,都是正确的。这个可能是什么原因呢? 我对比了一下设置,想请教你: 是否和interface里设置l2tp-out1 >dial out 里的profile有关,我的CCR1009 也设置了VPN服务器,default-encrytion这个profile有设置的另外的网关10.10.1.1,会不会和这个有关?如果要创立一个新的profile 给l2tp-out1,应该如何设置?你的路由没有vpn服务器,vpn的服务器在lede,而我的路由本身也设立了vpn服务器,所以profile就有设置,会不会是这个原因?谢谢!

Tracing route to fw.ename.net [128.1.70.130]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  CCR1009 [10.10.10.1]
  2     *        *        *     Request timed out.
  3  ^C 回复
avatar

星之宇  2018-12-31 08:56

@游客404158203:首先用电脑测试vpn能否链接。
profile默认即可。我的ros也设置了vpn服务器。
vpn服务器在内网还是外网,就只是connect to的地址不一样。外网直接填写vpn服务器地址。
根据我的教程,l2tp连上后会分配到vpn给的地址,tracert后会看到vpn分配的地址。 回复
avatar

游客404158203  2018-12-31 09:24

@星之宇:谢谢回复!我的内网是10.10.10.0/24, 电脑拨号连vpn是没有问题的,连上l2tp IPsec 后有分配到vpn给的地址 (192.168.89.x) 。我现在做的测试就是在您教程的第三步里 src address , 我就用电脑现在的内网 IP 地址 (10.10.10.76) ,应该这个地址上网就是走vpn了。可是就是连不上去。我再试试。 回复
avatar

梁兴健  2018-02-20 09:18 1楼

路过 回复
昵称
邮箱
主页
提交
订阅