怪物猎人世界吧 关注:839,791贴子:21,204,258

网络nat类型转换全攻略

只看楼主收藏回复

开一个坑,本攻略分为两个部分,第一个部分是网上已经传遍了的各种方法,这种方法只能用于运营商❶网络拓扑还算好并且运营商配合用户的情况,第二部分是进阶高级版,只要你能够上网,就算遭到严重限制,网络拓扑一片混乱,运营电话打都打不通,ps4甚至都无法显示你的nat类型的情况下,仍然可以nat2甚至1不过需要一定硬件基础和计算机常识并且敢于折腾
❶网络拓扑可以理解为网络的结构比如你与公网之间有几个路由器之间是什么关系采用什么nat之类的
ps:我就是第二种情况,心累的不行
ps2:后来的可以只看楼主
ps3:真不想写啊,我感觉写了之后贴吧能看懂而且做出来的人屈指可数
ps4:谁让我无聊呢
ps5:什么时候有事干了可能就坑了
ps6:一些专有名词我会用数字标出并且在下面假装贴上定义
ps7:你可能需要一个单片机/树莓派>路由器>=电脑以及可能需要一个网卡来接线(觉得热点能用的勇士们随意)以及几毛存款来完成第二种方法
ps8:看了7之后你们还会想要做第二种方法么
ps9:其实奇游的那个路由器挺好的,我的第二种方法相当于自制一个ps4加速器,不过理论上来讲我的方法可以达到nat1而不是大多数加速器的nat2
ps10:如果你发现有加速器能把你加速到nat1那只有两种可能,1你被坑了,其实改个局域网配置就可以到1,或者你的是黄金帝王套餐,一个月超贵的那种
ps11:如果无聊到看到7还没有退出还把我剩下的废话都看完了,请留个名,同为寒假无聊人


IP属地:北京来自Android客户端1楼2018-02-03 00:20回复


    IP属地:辽宁来自Android客户端2楼2018-02-03 00:23
    回复
      nat类型一共有四种分别对应nat1~3还有nat失败(nat失败是不是第四种我不敢确定),因为猛汉王采用的是p2p的联机方式,所以nat类型会严重影响到联机的成功程度以及流畅程度,这种情况在服务器联机中是不存在的,而nat类型大多数情况下由网络拓扑直接决定,如果是运营商的网络拓扑比较好的话就能直接享受比较好的起点,但是如果网络运营商的网络拓扑比较差并且拒绝变动的情况下,那么短板效应将直接影响nat类型,当然运营拓扑好自己玩死了的也大有人在,下面科普一下4种nat类型,来源是nat的百度百科,从上到下限制从松到紧,分别对应四种nat类型,这是后面改造网络拓扑的理论基础,看不懂不看也可,看懂了更好
      ——————————————————非原创百科部分—————————————————————————
      Full cone NAT
      即著名的一对一(one-to-one)NAT一旦一个内部地址(iAddr:port1)映射到外部地址(eAddr:port2),所有发自iAddr:port1的包都经由eAddr:port2向外发送。任意外部主机都能通过给eAddr:port2发包到达iAddr:port1Address-
      Restricted cone NAT限制地址,即只接收曾经发送到对端的IP地址来的数据包。一旦一个内部地址(iAddr:port1)映射到外部地址(eAddr:port2),所有发自iAddr:port1的包都经由eAddr:port2向外发送。任意外部主机(hostAddr:any)都能通过给eAddr:port2发包到达iAddr:port1的前提是:iAddr:port1之前发送过包到 hostAddr:any. "any"也就是说端口不受限制

      Port-Restricted cone NAT类似受限制锥形NAT(Restricted cone NAT),但是还有端口限制。一旦一个内部地址(iAddr:port1)映射到外部地址(eAddr:port2),所有发自iAddr:port1的包都经由eAddr:port2向外发送。一个外部主机(hostAddr:port3)能够发包到达iAddr:port1的前提是:iAddr:port1之前发送过包到hostAddr:port3.

      Symmetric NAT(对称NAT)每一个来自相同内部IP与port的请求到一个特定目的地的IP地址和端口,映射到一个独特的外部来源的IP地址和端口。同一个内部主机发出一个信息包到不同的目的端,不同的映射使用外部主机收到了一封包从一个内部主机可以送一封包回来

      ——————————————————————非原创百科部分—————————————————————


      IP属地:北京3楼2018-02-03 00:40
      回复
        干活贴。


        IP属地:辽宁来自Android客户端4楼2018-02-03 00:44
        回复
          干货贴。


          IP属地:辽宁来自Android客户端5楼2018-02-03 00:44
          回复
            干货啊


            IP属地:广东来自iPhone客户端6楼2018-02-03 00:47
            回复
              养肥再看


              IP属地:辽宁来自iPhone客户端7楼2018-02-03 00:49
              回复
                单片机都用上了怕不是还得懂点C语言?


                IP属地:广东来自iPhone客户端8楼2018-02-03 00:50
                收起回复
                  直连可以nat1 路由器只能nat2 我是桥接拨号的 然后看到华硕路由可以开启多线拨号这个功能 开了后ps4拨号成功了 但其他设备就上不了网


                  IP属地:上海来自iPhone客户端9楼2018-02-03 00:59
                  回复
                    第一种方法
                    适用情况:运营商手中有闲置公网ip且愿意给你或已给你,外面只有一个路由器并且共用的人数较少,一句话就是运营能提供更好的nat类型但是生生被你家中的网络拓扑拉了后腿
                    具体方法:网络最佳的情况就是拥有公网ip,有了公网ip那么就没有nat,所谓nat就是在公网ip不够的情况下多人凑活一个ip上网用的,有了公网ip那你就没有nat,也就相当于nat1的状态,那么如何确定是否拥有公网ip呢,首先你可以百度ip查看自己的ip地址,然后看看重新拨号重启光猫之类的是否改变,如果改变那么八成就是公网ip了,再者你可以不在家的时候用windows的远程桌面远程你的电脑(ip用百度显示的ip),如果可以那么你一定就是公网ip,这种情况下,你就是nat1的网络了
                    但是九成九的人家里都不只有一个设备上网,那么一定会有nat产生,那么如何追平家中网络带来的负面影响呢,大体上分为两种,第一种dmz主机,一般在路由器中会有显示,会让输入一个ip地址,这个ip地址就用本地ip,这个可以在ps4网络状态或者电脑网络接口信息里面看(百度),大多数家庭都是192.168开头的,这个功能可以把这个主机的所有端口映射出去,访问路由器就是访问这个ip,第二种是upnp,这种是端口映射,可以把特定端口映射出去,访问路由器相应端口就可以直接访问电脑同样的端口,其中49152到65535为闲置端口,基本不会被程序指定,不过你把0~65535都映射出去也可以
                    通过以上两种方法你就可以享受到运营直接提供给你的网络环境了,至于找客服要ip改网络模式这就看别的帖子吧,我没有什么了解
                    不明白的地方可以留言或者私信,不过请先百度


                    IP属地:北京10楼2018-02-03 01:01
                    回复
                      在写第二种方法之前先扯点有的没的,相信大多数人家里面网络都没有公网ip,上传速度极慢,从网通到电信就跟断网了似的,那么这是为什么呢,原因很简单,运营商把上传和ip卖给各大公司的服务器了,他们出的起钱,所以运营就把客户应有的一些服务克扣了(不过这也是合约一部分),那么网络环境不好如果我可以获得一台服务器的话,那么不就很舒服了,那么接下来的第二种方法的主要思路就是如何获取到一个服务器并且要求所有访问服务器的人都会直接访问到我的ps4就好了,如此一来我能连接到服务器,服务器高速网络又可以访问到别人,而且服务器的ip也只供我的ps4使用,如此一来运营的网络就彻底被排除,整个网络的好与坏可以说完全由你自己来决定了,这对于某些深受城中村辣鸡网络困扰的人可以说简直就是救赎(我就是那种猛汉王随机集会都完全无法连通的辣鸡城中村网)


                      IP属地:北京11楼2018-02-03 01:12
                      回复
                        接下来的第二种方法会有很多图而且我很可能不会一口气写完,流量的话小心一些,还有我使用腾讯云完全是因为优惠多,而且腾讯财大气粗一直以服务器好闻名,如果觉得贵之类的话,找别的也可以,嘛,随你们了


                        IP属地:北京12楼2018-02-03 01:19
                        回复
                          好长,我还是说说我的办法吧,我是电信百兆宽带没卵用,靠电信手机热点玩的,现在基本不掉线,朋友集会没有进不去的,苹果手机的话记得把手机设置成不自动黑屏,不然热点会自动断掉


                          IP属地:江苏来自iPhone客户端13楼2018-02-03 01:42
                          收起回复
                            如何租借服务器
                            以腾讯云为例子(全球的运营商都行,我现在就是一个北京一个东京,联机失败换一个),首先上官网,这个百度就好,注册或者登陆(不会就一头撞死吧,拯救不了),然后有两个福利,一个是大学生的话可以享受每个月10块的超低优惠(需要学生验证)

                            还有就是如果你进行了实名认证可以有7天的免费试用,如果你有设备并且想要试试但是不确定能不能成功的话你可以用这个优惠来练手

                            记住是云服务器CVM不是别的
                            如果你没有办法享受这些优惠的话可以在左上角的产品中选择第一项云服务器然后点击立刻选购,为了节约金钱我们选择自由配置,然后选择一个离你最近的地域,可用区随便选择,型号越便宜越好,反正咱们不要性能(不要用国外的,去国外运营商买国外服务器的话更加便宜)

                            系统我们选择公共镜像的Ubuntu 16.04.1 LTS 64位(反正用最新的64位就好,用老的其实也没啥区别)

                            硬盘我们选择云硬盘,网络按量的话带宽就可以随便拖拽了,1个g才8毛,玩游戏一个月能用掉10个g算你强

                            最后一页设置一下密码然后安全组设置成开放所有端口(别的运营商也一定要开放服务器的所有端口),如果说被服务器官方限制了访问那么配置失败就很难察觉了


                            IP属地:北京14楼2018-02-03 01:48
                            回复
                              下面的内容就有一定难度了,如果linux系统有基础的话应该不难,如果没有基础的话百度搜索一下,我下面给了非常完善的提示,如果提示不懂搜索一下就好了,束手无策的请从注释开始阅读
                              接下来第二步就是配置服务器的openvpn了,http://bl og.topspeed snail.c om/archives/4860,给大家一个博客,按照里面说的一条一条照做就可以配置好openvpn了,其中有两处不要照做,第一处是在配置openvpn服务,如果你的服务器和你的电脑/ps4的时间不同那么不要开启TLS验证

                              还有一处就是

                              从配置服务器到下面的启动openvpn服务中间都不要执行 ,你的服务器上八成没有ufw这个防火墙而是iptables这个防火墙,这里的操作更换成
                              sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
                              sudo vim /etc/rc.local
                              然后把iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE添加到exit 0上面一行
                              最终效果是这样的

                              最后一节生成OpenVPN客户端使用的ovpn中的内容可以不用做,我会给你们一份客户端的配置文件,你们自己复制粘贴到客户端里面就好,这个后面会提到,如果你采用我的配置文件的话你需要把~/openvpn-ca/keys/目录下的ca.crt,client1.key和client1.crt拷贝到自己的电脑中(这里可以使用winscp的sftp来拷贝,具体的使用方法百度就好了,还不懂可以私信我)
                              注:连接服务器可以使用shell5,linux系统直接ssh就好,注意,腾讯云的初始用户名是ubuntu,密码是设定或者随机密码,这个能在腾讯云控制台右上的消息箱中找到新建服务器时的消息里面看到你的用户名和密码,忘了可以重置,shell5不会用可以百度,博客和微博中出现的sudo是一个提高权限的命令,sudo后面跟着命令内容可以再输入密码后(如果没有让你输入密码的话也是可以的),可以提高你的权限来执行命令,如果不确定什么命令权限不够 那你可以把所有的命令前面都加上sudo,如果你的用户名不是ubuntu之类的而是root(小写的,一个都不能差),那么你拥有最高权限,所有的命令都不要加sudo,看见sudo开头的请去掉sudo,不然有可能会报错,服务器的openvpn配置过程中使用的文本编辑器是vim(使用方法百度一下),其他的编辑器也可以,所有看到让你改文本的那种都可以用vim来更改,如果你输入vim提示命令不存在(No command found或者The program xx is currently not installed),可以使用sudo apt-get install vim然后一路回车来安装,最后一定要把iptables那行命令加到/etc/rc.local这个文件里面(exit 0前面,如果没有exit 0那么加在文件最后就好),不然每次重启服务器之后需要重新输入一边这个命令(添加到文件中的命令不用加sudo,但是在命令行中执行的话不是root用户就要加sudo)
                              shell5提示
                              安装好双击打开,新建一个配置输入你服务器的ip地址(这个在腾讯云的后台管理中可以看到,以后会多次用到)

                              找不到服务器请确定是否选中对应地区,用主ip地址下面的那个公,不要用内
                              输入完确定后连接,会让输入用户名,用户名用ubuntu(运营给你的用户名,大多数是root腾讯的ubuntu系统是Ubuntu),密码输入好之后就进入服务器的命令行了,注意命令行中ctrl+c是中断命令复制请右键或者ctrl+insert,粘贴是shift+insert键盘小可能会倍缩写成ins,多找找就有
                              vim提示
                              打开文件
                              vim 文件地址
                              退出vim
                              :q回车
                              保存并推出
                              :wq回车
                              强制执行在冒号后面加一个!
                              进入编辑模式
                              字母i
                              退出编辑模式
                              esc
                              编辑模式下不能执行:开头的命令,左下角为insert的时候是编辑模式,如果不是可以尝试esc然后字母i进入编辑模式


                              IP属地:北京15楼2018-02-03 02:37
                              收起回复