ps4吧 关注:1,871,649贴子:51,880,365

回复:【科普】NAT类型详细科普及提升NAT类型的方法

只看楼主收藏回复

能直接发操作方法吗 太长了


来自Android客户端36楼2018-12-11 04:25
收起回复
    当时玩dnf都组不上队 我让跟我一起玩的改nat 变成full 就是路由器改成dmz主机 然后他们都好像****一样完全不懂 只有我可以随意组队不出叹号


    IP属地:黑龙江来自Android客户端37楼2018-12-11 06:01
    回复
      辛苦楼主了!很高大上,就是有点看不懂。请教一下,我是国行备份港服,联机网络经常不好,有什么解决办法吗,有人说改DSN,可是我不知道在哪操作,能帮忙指点下解决联机网络不好的问题吗


      IP属地:河南来自iPhone客户端38楼2018-12-11 10:04
      回复(4)
        我的服务器系统使用的Ubuntu 16.04 TLS,内核版本是4.13.0-45-generic,使用apt installlinux-image-4.13.0-45-generic linux-headers-4.13.0-45-generic就可以安装,内核模组部分依赖就这么多,iptables的编译的话我采用的是1.6.0版本的源代码,官网上能下到压缩包,我的环境下依赖包有apt install libmnl-dev libnftnl-dev flex libbison-dev,安装之后就可以直接编译了,两个都编译好之后因为互相依赖所以先需要用iptables跑一下FULLCONENAT,然后才能加载内核,这里用iptables –t nat –A POSTROUTING –o eth0 –j FULLCONENAT跑一下就行,肯定会报错,然后用insmod加载编译出来的ko模组后FULLCONENAT就可以正常使用了,使用方法可以看github上面的文档,也可以无脑
        iptables –t nat –A POSTROUTING –o eth0 –j FULLCONENAT
        iptables –t nat –A PREROUTING –i eth0 –j FULLCONENAT


        IP属地:北京39楼2018-12-11 11:24
        回复
          然后是全端口转发,这个可以理解成是dmz主机,但是和路由器不一样这里使用的是服务器,因而可能会有些许不稳定,这里我们只要利用iptables的SNAT(源地址NAT)和DNAT(目标地址NAT)就可以在网卡上改写我们的数据包了,注意的是我们改写的一定是NAT这端的ip,而不是公网一端的ip,在数据包发向服务器时,我们将所有的数据包的目标地址改写成我们的电脑ip,然后再数据包从服务器发出去时,将我们电脑的源ip改成服务器ip,如此一来就可以无条件转发端口了,这里提供一些我设置时的命令,照抄肯定是用不了的,但是稍微改一改就能用
          iptables -t nat -A POSTROUTING -o eth0 -ptcp --dport 23: -j SNAT --to-source 172.104.74.195
          iptables -t nat -A PREROUTING -i eth0 -ptcp --sport 23: -j DNAT --to-destination 10.8.0.6
          iptables -t nat -A POSTROUTING -o eth0 -pudp --dport 23: -j SNAT --to-source 172.104.74.195
          iptables -t nat -A PREROUTING -i eth0 -pudp --sport 23: -j DNAT --to-destination 10.8.0.6
          iptables -t nat -A POSTROUTING -o eth0 -ptcp --dport :21 -j SNAT --to-source 172.104.74.195
          iptables -t nat -A PREROUTING -i eth0 -ptcp --sport :21 -j DNAT --to-destination 10.8.0.6
          iptables -t nat -A POSTROUTING -o eth0 -pudp --dport :21 -j SNAT --to-source 172.104.74.195
          iptables -t nat -A PREROUTING -i eth0 -pudp --sport :21 -j DNAT --to-destination 10.8.0.6
          其中172是公网ip,10是我的电脑上tun0网卡的ip


          IP属地:北京40楼2018-12-11 11:30
          回复
            正文基本上就截止了,文章相关或者网络相关的问题都可以提问,虽然不一定都能解答上来,但是会尽可能回答


            IP属地:北京41楼2018-12-11 14:41
            收起回复


              IP属地:陕西来自Android客户端42楼2018-12-11 15:35
              回复
                只学过七层网络协议的有点蒙。。。但还是留个名


                IP属地:四川来自Android客户端43楼2018-12-11 16:39
                回复
                  路由器Dmz设置好了,立马就搞定


                  IP属地:河北来自Android客户端44楼2018-12-12 09:21
                  回复(9)
                    技术贴收藏了慢慢看


                    IP属地:上海来自Android客户端45楼2018-12-12 13:38
                    回复
                      有几个人看完了?


                      IP属地:北京来自Android客户端46楼2018-12-12 19:12
                      回复
                        好像大家看着都有点蒙


                        IP属地:美国来自iPhone客户端47楼2018-12-12 20:07
                        回复(4)
                          NAT可以说是被各路大佬科普过了,今天我从一名程序员的角度来讲解一下什么是NAT,为什么NAT会有各种类型,又如何改变我的NAT类型。而关于大家最感兴趣的提升NAT类型的部分我可以保证,只要操作没有问题,最后的效果和你的网络没有任何关联,就算你是城中村亦或者是辣鸡校园网,都是完全可以通过软件层面上改写数据包来实现full cone(nat中最高级别,对应ns的natA,ps4的nat2中最好的),甚至可以享受公网ip的待遇(nat中最高级别,对应ns的natA,ps4的nat1)
                          同时本帖也用于记录我终于成功完成了路由器稳定的full cone nat以及不稳定到ping命令跑不过但是就是能上网而我也懒得知道为什么的公网ip映射


                          来自iPhone客户端49楼2018-12-13 01:11
                          回复
                            同行顶帖


                            IP属地:陕西来自iPhone客户端51楼2018-12-13 08:17
                            回复