本帖最後由 张无忌 於 2018-6-14 16:15 編輯

MikroTik hAP ac² - 汇聚光明顶讨论RouterOS与V2Ray结合英雄帖!

MikroTik RouterOS的Routing and Switching出名强大,这是无可置疑的,虽然它有好几个种VPN Protocols,但是有的时候不够用,特别是敏感时期,它们都会被blocked,搞到整个翻墙功能失去。在翻墙软件中,最让阿爷最头疼就是V2Ray!为什么呢?阿爷的防火墙根本分辨不出这与一般traffic有什么区别!如果我们能把两者RouterOS和V2Ray结合来用的话,那么翻墙的稳定性和速度就大大大提高!!!



还有V2Ray安装好的,在大陆连过去香港的V2Ray是秒连(就是连上服务器不需要1秒钟)。还有大陆的traffic不会经过香港走,是这直接从大陆Gateway走,非常聪明,特别用于mobile devices如mobile phone,iPad,比传统的VPN protocols快很多。

V2Ray官网:https://www.v2ray.com/
配置指南:https://toutyrater.github.io/

估计大家都想知道怎样把V2Ray和RouterOS?(所有MikroTik router都运行RouterOS,或者安装PC上X86 RouterOS都可以用),因为我也在探索阶段,主要我在V2Ray官网论坛看到一篇文章[1], 里面后面有人成功把RouterOS和V2Ray结合来用,但是具体没有说明怎样做。于是看到不少文章,特别是[2], 里面有说用PC做router,用iptables,然后用两个protocols去接V2Ray的两个inbounds,一个用resolve DNS(防止被DNS污染),另外一个inbound是复杂actual data traffic to remote V2Ray server。在[2]里有提及过“透明代理”一词,而在MikroTik里有帖子关于这一点[3]。具体怎样连,输入什么commands都在收集中,如果大家能领会个中原理和方法,可以参与讨论。

在文献[4], 我找到一些MikroTik跟Squid proxy的连接方法,就如果我上面所找到的资料差不多,但是比较具体,那么文献参考这一部分也差不多,应该知道怎样做!如果需要知道更加多的MikroTik与别的proxy怎样连,就沿着Squide proxy这个方向找同类的就可以。其他关于MikroTik与Squid proxy结合有[5-10]。

文献[11]极为重要的文件,虽然与RouterOS,用宇uBNT EdgeMAX EdgeRouter。文献[12]是用Raspberry Pi做V2Ray Server。

参考文献:
[1]https://github.com/v2ray/v2ray-core/issues/1016
[2]https://toutyrater.github.io/app/transparent_proxy.html
[3]https://wiki.mikrotik.com/wiki/How_to_make_transparent_web_proxy
[4]https://docs.diladele.com/tutori ... nt_squid/index.html
[5]https://forum.mikrotik.com/viewtopic.php?t=77635
[6]https://aacable.wordpress.com/20 ... h-single-interface/
[7]https://www.linuxquestions.org/q ... h-1-nic-4175488953/
[8]http://squid-web-proxy-cache.101 ... rent-td4671869.html
[9]http://chris-sirhc.blogspot.com/ ... erver-mikrotik.html
[10]https://aacable.wordpress.com/20 ... l-source-client-ip/
[11]https://arkis.me/post/0018-erxproxy/
[12]https://ellinia.me/How-to-set-up-transparent-gateway/


---------------------------------------------------------------------------
其他参考资料:


香港和大陆都有RouterOS做主路由(Main Router A、B,简称RA,RB),而他们Router A、B后面都个别安装V2ray A and  B,简称VA,VB。

在大陆要访问device->RB->VB->RB->Internet->VA->被blocked的website-VA->Internet->VB->RB->device。

在v2ray forum看到RouterOS可以与v2ray结合,有了这个组合,翻墙能力会大大提升!

https://github.com/v2ray/v2ray-core/issues/1016

他们用Raspberry Pi, 而我全用NAS,一机多用。不知道RouterOS的member们是否有兴趣?

More information:

https://forum.mikrotik.com/viewtopic.php?t=48076
https://ellinia.me/How-to-set-up-transparent-gateway/
http://weeklyalgo.codes/2017/08/ ... onfiguring%20v2ray/
http://www.right.com.cn/forum/fo ... ertype=1&page=1
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

Mikrotik "Bonding" is used for binding multiple ports (ethernet or any else) together as one link.
...
VR2VDT 發表於 2018-6-8 17:40



As long as it is 802.3ad, it is Link Aggregation (LACP)

TOP

睇完文都係唔明...v2ray+ router os 係要裝插件定flash專用既rom?

TOP

睇完文都係唔明...v2ray+ router os 係要裝插件定flash專用既rom?
剋星 發表於 2018-6-10 19:33


不是专用ROM,RouterOS是standard的MikroTik的OS,如果你有MikroTik routers,内置都有RouterOS,而V2Ray,我我QNAP NAS来起,估计Synology都是一样,我的NAS的ARM-based,可以安装Container Station,那么我可以安装Docker,在Docker安装Unbuntu 16.04 version。在Unbuntu 16.04里再安装V2ray。

现在不能用system command启动v2ray,要通过手动
  1. /usr/bin/v2ray/v2ray -config /etc/v2ray/config.json
複製代碼
你不用NAS,用其他如Raspberry Pi 3B+也可以。安装过程都是一样的。用这个方面,V2ray有什么新的版本和功能都能马上用到,还有灵活性比较大。

TOP

在大陆用什么DNS最好?

最好的选择就是香港的ISP DNS servers!为什么如果你用8.8.8.8这一类的DNS,在大陆会把你的traffic route到他们的servers,然后做记录和深度分析。如果你用别的香港的DNS那么被监听的机会率会少一些,每个ISP都有不同的DNS server IP address,你就用那个就最好!

不知道其他members有别的好方法吗?

TOP

本帖最後由 张无忌 於 2018-6-13 08:32 編輯

在逆向翻墙自动修正断link的script

我们从大陆VPN到香港,然后通过这条link反大陆,就如你身在大陆一样,用大陆IP看CCTV5,CCTV5+,奇艺网。但是这种逆向翻墙回大陆有一个不好的地方就是,大陆VPN过来的link经常会断,那么每次都有去router重置一些settings,这做成极不方便,为了解决这个问题,我写了一个script,能格5分钟就检查一次,如果断了就会自动更正。有时间我会解析一下这个script原理。

下面的script放在哪里?用GUI,点击[system]->[Scripts]就可以。

Script name: Res-China-IP
  1. :local a (/interface find name=pptp-China)
  2. :local b ([/ip firewall nat get [find comment=China-IP] out-interface]="<pptp-China>")

  3. :if (!b && a) do={
  4.     /ip route set [find comment="China Gateway"] gateway=<pptp-China>
  5.     /ip firewall nat set [find comment=China-IP] out-interface=<pptp-China>  
  6.     :log info "China IP NAT and Route were updated.";         
  7. }
複製代碼
.

01. Define local variable a, which receives the truth value of (/interface find name=pptp-China).
China给大陆vpn过来的user login ID,大家根据自己的settings来决定。a 将会是 true or false. 用括号是提取expression的true value。

02. Define local variable b,which receives the truth value of "([/ip firewall nat get [find comment=China-IP] out-interface]="<pptp-China>")".
这句比较长,大家看先从里面看。首先ip firewall nat table里有那么多条rules,script怎样知道在哪条rule找呢?我用的方法是先把某条rule先一些comment,然后通过这个comment找到那条rule的ID。Rule ID是什么,你打开nat rule table就知道(/ip/firewall/nat/print),在表里左手边的数字就是rule ID。忘了说一句这个中括号[]有什么用? 这是把return value,不是truth value,truth value用括号(),其他用[], 因为ID是数字value,所以用[]。“[/ip firewall nat get [find comment=China-IP] out-interface]”, 就是提取了那个rule的out-interface是什么?然后做logical comparision with “pptp-China”。如果是就通过括号()给出true,otherwise给false。

04:if (!b && a) do,这一步就是看看是nat的b = not(out-interface="pptp-China") and 大陆vpn过来过来的Link是否ready?如果 (!b && a)是true的就进行修改,什么是true?如果不是就scheduler再trigger后再检查。

Scheduler
  1. /system scheduler
  2. add interval=5m name=Res-China-Gateway on-event=\
  3.     "/system script run Restore-China-IP"
複製代碼

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

在逆向翻墙自动修正断link的script

我们从大陆VPN到香港,然后通过这条link反大陆,就如你身在大陆一样, ...
张无忌 發表於 2018-6-12 19:59



這個step 在香港router 做嗎

TOP

回覆 858# bigbig02

是的。就是大陆VPN到香港,如果大陆VPN来的link断了,有两条line要修改。

但是具体你要进行修改才能用。

TOP

本帖最後由 张无忌 於 2018-6-13 15:38 編輯

最新大陆防止翻墙的手段

1、发现有VPN去国外(香港、澳门和国外)
2、没有flow,暂时不理会。(最近发现就算没有flow都暂时block IP!!!)
3、如果有flow,估计大陆有个threshold,如果过threshold就block VPN。
4、如果flow非常大,就block IP。

如果block IP怎样办,那么只有关router和modem,超过5分钟,希望可以取得另外一组IP。还有VPN最后不要长期连接,能不连接就不连接。

如果只用传统的VPN方法,还有天天要换IP,才能有好的效果。如果不用传统VPN方法,还有什么方法呢?就是利用V2ray,把两边连起来。一般的members可以用mod机刷其他第三方firmware来达成,但是mod机是mod不好,router就会变砖,而且刷出来的v2ray都不是最新版本。

所以最终的方法就是MikroTik + V2ray,就是两边安装V2ray server/client。如果我们把两边的V2ray的device建立起来,然后连起来。再加上天天更换IP,那么效果会比较好,其他不会那么容易被侦测到。

现在我大陆和香港都安装V2ray,香港用Intel-based QNAP NAS,从Container Station安装,而大陆用ARM-based QNAP NAS,都是用Container Station安装。我没有v2ray docker appliance安装,而用V2ray一键安装方法,下一步就是怎样把它们连起来。

TOP