[已解决]ROS做PPTP客户端,内网全部通过PPTP上网,并且解决回流问题。
本帖最后由 helijohnny 于 2012-3-31 23:34 编辑昨天又研究了一下,似乎找到了解决的方法,首先还是要感谢之前给我帮助的几位朋友。
可能我的方法会有问题,不过可以给大家参考一下,至少我是暂时没有出现问题。
要同时避免出现回流问题,又让指定网段通过VPN的通讯办法如下,当然,前提是之前已经处理过回流(我的方法是在内网接口上也建立伪装),当然还有一个办法是用于上网的伪装不指定接口,好像更加方便一些。
1.先建立PPPoE连接,并且设置为默认路由
2.建立PPTP连接,不要设置为默认路由,而是手动设置一条到0.0.0.0/0通过网关为PPTP接口(我是5.12可以直接指定接口为网关),并且设置routing mark为vpn
3.到IP FireWall Mangel,新建一条规则,Src.address为需要通过VPN上网的网段,Dst.address为!1.1.1.1(1.1.1.1为你的公网IP,前面有感叹号,不等于。),这样会让用公网地址访问内网服务器的时候不通过VPN走。 最后给这条Mangel的Action设置为标记路由,名称是vpn。
Ps:之前只能ping同第一个包的问题,是因为我把连接状态设置为了new,自己学艺不精,听说设置为new可以改善性能,其实在这里不能这样做。
4.给PPPoE接口和PPTP接口都做个伪装。
现在指定的内网网段应该已经可以通过VPN上网,并且可以用ROS的公网IP访问从内网映射出去的服务器。
如果是动态的公网IP,就用这个脚本来更新Mangle规则和NAT规则吧,这个大家应该很熟悉啦。
:global newipaddress
:global lodipaddress
:set newipaddress address]
:set newipaddress [:pick $newipaddress 0 ([:len $newipaddress] -3)]
:set lodipaddress dst-address]
:if ($newipaddress != $lodipaddress) do={/ip firewall nat set dst-address=$newipaddress
/ip firewall nat set dst-address=$newipaddress
/ip firewall mangle set dst-address="!$newipaddress"
}
----------之前的问题2------------
感谢几位大大的帮助,已经解决了设置路由表的问题。
但是设置完通过PPTP的路由表以后,那个烦人的回流问题又出现了,
不知道在有路由规则的时候应该怎么处理回流问题,
希望可以再次得到高手们的帮助,谢谢
----------之前的问题------------
大家好,向各位大大请教一个ROS做PPTP客户端的问题。
想用ROS做VPN的客户端,让内网的所有数据通过VPN来上网。
我用ros做了如下设置
1.在Interfaces里创建PPTP客户端端口,已经成功建立连接。
2.创建静态路由优先为1,删除pppoe拨号的路由(尝试过保留pppoe拨号,但是通过Mangle标记内网网段,把路由设置到pptp接口)
3.创建在pppoe接口的伪装,和在pptp接口的伪装。(尝试过关闭在PPTP接口的伪装)
目前的情况表现为,在ROS上可以直接通过pptp接口通讯,ping其他网站,或者ping pptp服务端局域网的电脑,都没有问题。
但是在ROS的内网的电脑,ping网站的时候只有第一个包是有返回的,之后全部都是timeout。
请问我是哪里出错了么? 本帖最后由 newmean 于 2012-2-16 21:40 编辑
路由错了
我给你说一个我用的思路吧,先做一个PPPOE,并设为default route,这时,内网所有机器都会走这条路由
再做一条pptp client 不勾选 default route 并连通,这时你在路由表里会发现已经有了vpn的本地路由了
这时,你再在路由表里加一条0.0.0.0/0的default route 并设置routing mark
再将要走vpn的电脑选择成走route mark表就行了。完美解决你这个问题。
新建一个路由表名为SBVPN
让192.168.88.0/24段全走SBVPN这张路由表
再给SBVPN做一个NAT 也可以根据实际情况不做,而使用路由的方式。 bobwalker 发表于 2012-2-16 22:08 static/image/common/back.gif
路由:
建立一条到VPN服务端公网IP的静态路由,网关设置为你的外网网关,distance=1。
再建立一条到全网静 ...
如果服务器地址是动态的呢?手工建的话不太现实。 bobwalker 发表于 2012-2-16 22:29 static/image/common/back.gif
一般VPN服务器都是静态IP的,楼主也没有说VPN服务器是动态IP。
我只是不想简单问题复杂化。
我的意思是在多种情况下,楼主确实没有说明远程服务器的情况,在这时,我想在解决方案里给一个比较全的解决方法更优一点,再说,如果用routing mark的话,对内可以有选择性路由也可以排除地址问题。 樓上的二位真是"皇帝不急急死太監".....................! 首先感谢几位大大的解答,非常感谢。
现在去研究下大家的方案,的确VPN服务器并不是动态IP。
不管怎么样,还是非常感谢大家。 newmean 发表于 2012-2-16 21:33 static/image/common/back.gif
路由错了
我给你说一个我用的思路吧,先做一个PPPOE,并设为default route,这时,内网所有机器都会走这 ...
按照您的方法成功解决问题,太感谢您了!! bobwalker 发表于 2012-2-16 22:08 static/image/common/back.gif
路由:
建立一条到VPN服务端公网IP的静态路由,网关设置为你的外网网关,distance=1。
再建立一条到全网静 ...
也非常感谢您提出的方案,我稍后也去尝试一下。 newmean 发表于 2012-2-16 21:33 static/image/common/back.gif
路由错了
我给你说一个我用的思路吧,先做一个PPPOE,并设为default route,这时,内网所有机器都会走这 ...
不好意思,还有一个问题想请教您,这样设置好以后,我要怎么解决这个通过VPN的网段的回流问题呢?
之前通过pppoe的网段可以通过给这个网段设置一个在内网网卡上的伪装,
但是对于设置了通过VPN路由的网段,这样的设置似乎不起作用了。
比如刚才192.168.88.0/24这个网段的通讯全部通过VPN来进行了,
我想让这个网段的机器,也能使用ROS的公网IP来访问内网映射出去的服务器,要怎么设置呢?
再次表示感谢。 helijohnny 发表于 2012-2-17 23:54 static/image/common/back.gif
不好意思,还有一个问题想请教您,这样设置好以后,我要怎么解决这个通过VPN的网段的回流问题呢?
之前通 ...
尝试做一个dst-nat吧 本帖最后由 helijohnny 于 2012-2-18 19:54 编辑
newmean 发表于 2012-2-18 17:45 static/image/common/back.gif
尝试做一个dst-nat吧
恩?可以详细的说一下么?
我目前的映射是这样做的
114.95.34.72 是我的公网IP
192.168.0.126 是内网要映射出去的机器
ether2-master-local 是内网网卡
规则如下
映射内网端口
chain=dstnat action=dst-nat to-addresses=192.168.0.126 to-ports=9091 protocol=tcp dst-address=114.95.34.72 dst-port=9091
内网伪装
chain=srcnat action=masquerade src-address=192.168.0.0/24 out-interface=pppoe-out1
处理回流
chain=srcnat action=masquerade src-address=192.168.0.0/24 out-interface=ether2-master-local
但是按照您的设置以后,通过PPTP出去的那个网段,没办法用114.95.34.72:9091来访问映射出去的机器了
但是原来的网段192.168.0.0/24可以使用114.95.34.72:9091来访问映射出去的机器 有人做了,我刚好学习下 老兄怎么弄.我按你的方法没有成功哦. yuefy 发表于 2012-3-26 06:42 static/image/common/back.gif
老兄怎么弄.我按你的方法没有成功哦.
不好意思,这几天都没来看论坛,你遇到什么问题了?
走PPTP不成功?还是出现回流问题了? helijohnny 发表于 2012-3-30 23:55 static/image/common/back.gif
不好意思,这几天都没来看论坛,你遇到什么问题了?
走PPTP不成功?还是出现回流问题了?
我就是想80端口全走PPTP,可以看国外新闻.PPTP拔上了(连通了),但就是不走PPTP隧道.我也标记路由了.高手指点
页:
[1]
2