NAS穿透长城宽带等NAT式的ISP网络接入internet 的方法 2012-04-29 | langfein... | 转藏(22) NAS, 穿透, NAT 为了将家中一票电子设备方便的联络起来,前一阵子泡坛子时突然发现NAS是个好玩意。不仅可以在内网上高速共享硬盘,挂机PT,为我的macbook提供time machine备份服务,也能随时从公网访问,支持账户权限设置,还支持一大票的主流的share协议(windows、linux、mac os都木有问题),耗电也低。二话不说,败入群晖212J(应该是双盘位里最便宜的群晖NAS吧..NAS的价格还是虚高啊,不过他家的软件确实做的不错...)和2T硬盘(坑爹的价格啊!!!)。 开始捣鼓。。。。。此处省去1000字。。。。 所有设置完毕,局域网内没有问题,速度杠杠的(下载最高到90M/S,一般维持在70M/S上下,千兆网络)。路由器设置端口映射...郁闷的事来了,从公网(internet)上无法通过路由器获取的IP地址访问NAS!! 虽然,买NAS的主要目的是为了家庭内共享储存,但不能公网访问的话,还是会少了好多折腾的乐趣(比如外出出差的时候让NAS帮忙挂个PT,ipad从NAS临时取个文件,传几张照片什么的....)。不甘心,一顿google baidu,终于让我找到了原因——问题就出在我家的网络接入商(ISP)长城宽带! 好吧,关于长城宽带的口碑我就不多说了,大家可以自己baidu一下,每每提到这个公司,都是一顿黄瓜、番茄、白菜、土豆丝....长宽的优点就是便宜,基本不存在网通、电信互通的问题(用utorrent下载的速度确实快,这点还是要承认的),而它的的问题(除了百度贴吧里说的限速、封BT、封RAYFILE等等外)就在于他的接入方式——与普通电信、联通的ADSL不同,长宽是通过NAT的方式(什么叫NAT...baidu 一下吧!)让用户接入公网,因此用户通过pppoe方式取得的IP地址并不是internet公网的地址,而是长宽的内网地址。测试下自己家的网络是不是公网地址的方法很简单,baidu一下“IP 地址查询”,多打开几家不同的查询网站,看看显示的来源IP地址是不是都一样,如果不一样,排除网站显示错误外,那就证明你家的网络也十有**是NAT模式了! NAT的最大问题在于,由于你没有公网IP,internet网上的其他用户无法直接找到你的地址,也就没办法主动与你建立通信(例如,BT时大多数人都无法连上你,PS3显示联机功能受到部分限制...)。 问题找到了,接下来就是解决方式了,好吧,喝口水,让我们进入正题... 既然问题出在没有“地址”,那我们就给NAS(或者你家路由)找一个internet公网地址(通过UDP、服务器中介或其他什么的直接穿透NAT的方式就不说了,忒复杂——电脑还行,NAS也不见得能够支持...),目前本人找到的可行方案有两种: 第一种方案 利用IPv6地址。 什么叫IPv6?请自行烧香拜佛,斋戒三日,再请出baidu大神,为你指点迷津 ...。IPv6的口号是”让地球上的每一粒沙子都有一个IP地址”,那么我们的NAS自然也可以有一个!由于我国普通的宽带用户基本还是IPv4的环境(教育网用户请无视...),无法直接取得IPv6地址,因此我们要请出第一个大神出来——ipv6 tunnel。 ipv6 tunnel就是要在ipv4的环境里建立一个隧道,与ipv6的计算机进行通信,因此使用ipv6 tunnel的计算机会都获取一个ipv6的地址。而且由于ipv6地址实在是太多了,一些ipv6 tunnel服务商都免费地向用户提供固定的ipv6地址。由于我天朝的ipv6服务提供商大多使用软件的方式而不提供ipv6 tunnel接入服务器,因此我们只能请出google大神找出一家nice点的服务提供商。 好吧,它就是gogo6.com。如何注册该网站....E文不好的童鞋可以请出大神google,网上一堆教程...。 群晖的IPV6 TUNNEL设置,就在控制面板——网络——TUNNEL里,非常简单的设置,服务器、用户名、密码,然后应用,喝口茶。显示“已联机”并取得了外部地址的话(大概是 xxxx:xxx:xxx的样子,ipv6和ipv4的地址的样子已完全不同),证明你已经成功了。 打开你的IE浏览器,输入“http://[你NAS的IPV6地址]:端口号”,你的IE浏览器会毫不迟疑告诉你——“无法显示该页面”。 好吧,别扔砖,我们还少了一步。由于当年制订这个坑爹的ipv6标准时,忽略了与ipv4的兼容性问题,目前ipv4和ipv6在大部分情况下相当于两个网络,他们之间是不通的!(让我想起了天朝的internet...)因此,除了原本就支持ipv6的网络外(例如教育网?),你也需要在你的计算机上使用ipv6 tunnel或者是其他的能在ipv4条件下使用ipv6网络的软件,例如六飞(6fei.com.cn)。不会用或是中文不好的童鞋可以请出大神baidu ... 好吧,到这里你电脑也已经进入IPV6的时代了,再次打开你的IE浏览器,输入 http://[你NAS的IPV6地址]:端口号(NAS的IPV6地址请从tunnel界面里一个符号不错的copy下来填在前面的中括号里,端口号是NAS管理页面的端口号)。 好了,你的IE终于可以在internet上直接与NAS通信了! 但IPV6方案有个最大的问题:由于IPV6与IPV4的兼容性太差,在目前大多数的网络环境下,必须在客户端装上专门的软件才能解决问题,不仅麻烦,而且IPHONE、IPAD等移动终端不能访问NAS(越狱并的大神们请无视)。而且该种方式访问速度较慢,稳定性不好(原因不明)。 第二种方法 利用虚拟专用网络(VPN!!!!连这个都是敏感词了么?) VPN是什么?按照国际惯例,请自行烧香拜佛,斋戒三日,再请出google大神,为你指点迷津.... 由于VPN是虚拟的”局域网“,因此,设置VPN后,NAS也能取得一个VPN网络内的地址,如果此时客户端(你在internet上的计算机)也同时在同一个VPN”局域网“里,那么通过访问NAS的VPN网络地址,就能与其进行通信! 我们要实现上述目标,需要的是一个VPN网络的账号、密码,免费的请自行google,收费的嘛....taobao一下(什么?!taobao 没有卖VPN服务的?!好吧,请换个类似“网络 加速”的关键词试试....另外,问清楚卖家是不是VPN,别买到代理服务器的账号了...)。建议使用PPTP的VPN,据称安全性木有其他类型的好(传输的数据是加密的,虽然有被截获后破解的可能,但据说很难),但PPTP的穿透性是不错的,比openvpn等易用性更强(iphone、ipad无法使用openvpn),况且我们也没有什么敏感数据...当然,有特别摄影癖好的童鞋请无视...。 群晖的VPN客户端设置在”控制面板“-”VPN“里。填写的内容很简单,包括选择VPN服务的类型、服务器名、用户名、账号。如果无法连接的话,请确认自己路由器的1723端口是打开的。 确认NAS可以连上VPN服务器并取得了VPN内网地址后,再在电脑上设置好同样的服务器(一定要一样!),VPN的账号和密码(如果你的账号不能同时登陆两台机器的话,那你得买两个VPN账号...),并按照baidu大神的指引设置好你的pc 或 mac后,在浏览器内输入 http://你NAS获取的VPN内网IP地址:端口号 (IP地址的填写方式和普通的IP地址一样,端口号是NAS管理页面的端口号)。 你应该能通过internet上的PC连上你的NAS了! 通过VPN连接NAS,比起IPV6而言,速度更快,更稳定(取决于你购买的VPN服务速度),IPAD和IPHONE等移动终端也能设置VPN后顺利访问。但和IPV6一样,不能在普通电脑和设备上直接访问,必须先设置VPN。而且VPN方案有个致命缺陷,一旦设置VPN后,NAS的所有internet连接全部通过VPN进行,PT下载彻底悲剧了.... 有木有更完美的解决方案?! 虽算不上绝对完美,但本人,作为baidu大神和google大神的得意门生,已找到了!(鲜花,鼓掌,聚光灯..) VPN方案有两个问题需要解决:1是客户端不再需要专门登陆同一个VPN服务器后才能连接上NAS;2、PT下载等大数据流量的服务不能通过VPN进行。 好了,上面写了这么多,以下才是全文的重点.... 由于NAS躲在NAT后面,除了VPN外,暂未找到其他可以方便穿透、并建立连接的通用方法(当然,会自己写程序的童鞋请无视....)。要与外界直接建立连接,VPN服务器是这个连接中的关键,我们需要让VPN服务器将外部网络的连接请求转发到VPN的内网里。因此,完美(或者说接近完美)解决该问题的思路,就是自己搭建一台VPN服务器。 需要的准备的设备环境:租用一台有固定IP 的VPS,一台可以刷DD WRT(此处请自行请神)通用完整版的家用路由器。 VPS可以用米国的...好处嘛...除了便宜...VPN...你懂的....。建议是:XEN结构,LINUX操作系统,拥有**IP,与国内连接的速度快。至于硬盘、内存大小、流量有限制等,则可以无视(当然,有搭建网站需求的另说)。 哪些路由器支持刷DD WRT,请移步DDWRT的网站查询(http://www.dd-wrt.com/site/support/router-database)。我个人的建议是,既然买了NAS,就必须败一台千兆路由器,那么不如 |