Re: [问题]无法以输入IP的方式连线至朋友的游戏

楼主: vintw (阳光好青年)   2016-02-20 05:02:14
下面已经有热心板友点出了盲点,我在这边帮忙更清楚的解说一下:
原PO遇到的情况,可以推测是因NAT所造成,
即网络位置转换(Network Address Translation),请参考中文维基百科:
https://goo.gl/277ib8
简单的说,因为IP位置不够,所以可能要好多人共用一个IP位置,
这时候电脑所采用的策略,是利用一些特别的IP位置来达成。
请参考中文维基百科: https://goo.gl/JmTZUr
以IPv4来说,当初就规定好10开头、172.16-172.31这段、还有192.168开头的,
都是私有IP位置,特别用来给大家关起门来自己分配用的,网络上不可以用到这些位置。
如果在电脑中发现IP位置落在上述区段,则很有可能是在NAT的网络环境中。
私有IP位置搭配具有NAT功能的路由器,就可以很简单的做到共享IP位置,如下图所示:
192.168.100.1 ┌───┐
┌────────┤电脑1 │
│ └───┘
139.175.55.244 ┌─────┐ │ 192.168.100.2 ┌───┐
互联网 ─────── │NAT路由器 │──┼────────┤电脑2 │
└─────┘ │ └───┘
│ 192.168.100.3 ┌───┐
└────────┤电脑3 │
└───┘
上面的例子中,只有一个IP位址对外,可是内部三台电脑却拿到不同的私有IP位置。
这种环境,在一般使用上是不太会感觉到问题,
因为一般上网或是大部分的应用程式、大部分是你的电脑去要求别人的资料,
而NAT会自动纪录个别电脑要求的资料,并且把结果转到送出要求的机器上。
大概会是下面这种流程:
(2)电脑1 192.168.100.1 ┌───┐
要Steam的资料 ┌─←──────┤电脑1 │
│(1)任爸要上Steam└───┘
139.175.55.244┌─────┐ │ 192.168.100.2 ┌───┐
互联网 ──←─→── │NAT路由器 │──┼────────┤电脑2 │
(3)跟Steam要资料└─────┘ │ └───┘
(4)根据之前的纪录│ 192.168.100.3 ┌───┐
Steam的资料 └────────┤电脑3 │
要丢给电脑1 └───┘
(注:严格来说是封包经过NAT时IP位置被改写而已,细节请容我略过。)
但是问题在你想开Server时就出现了:
因为对外部来的连线,NAT不知道是给哪一台内网的主机,
所以一般的做法就是:不让你连!大概像下图所示:
192.168.100.1 ┌───┐
┌────────┤电脑1 │
│ └───┘
┌───┐139.175.55.244 ┌─────┐ │ 192.168.100.2 ┌───┐
│电脑X ├→────→─ │NAT路由器 │──┼────────┤电脑2 │
└───┘ (1)我要连线 └─────┘ │ └───┘
L4D2服务器 (2)挖哩靠北 │ 192.168.100.3 ┌───┐
谁知道是 └────────┤电脑3 │
哪一台啊? └───┘
通通挡掉!
大概就是这种情况。
至于解决的方法,要看你能不能去改“NAT路由器”的设定值。
如果说造成NAT的机器是自己买的,那把说明书找出来连进去设定一下就可以了。
看各家机器不同,可能叫虚拟服务器(Virtual Server)或通讯埠转发(Port Forwarding)
它可以让你指定说哪一个埠(Port)号进来的流量,全部都指定哪一台电脑,
所以你只要把你想要设定游戏所使用的埠号范围,指到你的电脑,外面就可以连进来了。
如下图所示:
(4)进来啦阿斯
(1)设定好 192.168.100.1 ┌───┐
L4D2服务器 ┌──→──→──┤电脑1 │
都给电脑1 │ └───┘
┌───┐139.175.55.244 ┌─────┐ │ 192.168.100.2 ┌───┐
│电脑X ├→────→─ │NAT路由器 │──┼────────┤电脑2 │
└───┘ (2)我要连线 └─────┘ │ └───┘
L4D2服务器 (3)依照设定 │ 192.168.100.3 ┌───┐
把连线转给 └────────┤电脑3 │
电脑1 └───┘
至于你要连哪个游戏,要设那些埠,则视游戏不同需要自己查询所需设定;
我也是有看过有NAT的机器直接写好热门游戏的设定,用选的就可以,非常欢乐。
至于细节一步步要怎么设定则是随机器不同,得请你回去找机器的说明书。
至于板友提到的DMZ,在一般家用路由器的作用是直接指定一台电脑,
只要外面连进来的连线全部都倒给他,这样设完之后该台电脑等于完全暴露在外,
所以开Server不管是哪个埠外面应该都可以连得进来,也是一种方法。
反过来说,如果造成NAT的机器不是你可以设定的,
例如跟着第四台一起办的社区网络、宿舍的网络等等完全不给对外实体IP位置的情况,
那就只能透过其他方式绕道,比如说透过设定VPN之类的去连线。
就我所知像是Hamachi就是做这件事情的软件,但是这部分的软件我还真没用过,
这部分还得请板上其他先进补完。
※ 引述《aries74262 (aries)》之铭言:
: 不好意思,由于这问题困扰我跟朋友好久了,又苦于不知该蒐寻什么关键字
: 所以上来请教各位
: 一开始是在玩L4D2的时候,以游戏内的区域连线开房是可以正常的连线进去的,
: 但当我们尝试以CONSOLE开图时,开房者可以顺利进入游戏,但其他三人在输入IP
: 后则是不断的显示Try to connect,之后就断线回到主画面
: 在risk of rain,unturned都遇到了相同的情况
: 基本上只要是需要以输入ip来连线的方式都无法成功
: 我们有尝试换不同的人来开房,4个人里面只有一个人开房是大家都可以连进去的
: 但由于他的网速和硬件设备实在不足以负荷游戏的进行,所以无法由他来开房
: 试了无数蠢方法之后只归纳出下面的东西
: 1.可以顺利开房的人是家用网络(其他人不是宿网就是租屋处的分享器拉进来)
: 2.可以顺利开房的人他的IPv4位置和从www.whatismyip.com.tw/查出来的ㄧ模一样
: 其他人的则会有些微出入(抱歉我们和朋友都没有念相关科系的,满头雾水也看不懂啊)
: 我们也试过直接输入IPv4位置,但一样无法连线
: 爬了文也在google搜寻了一堆奇怪的关键字还是不知该往哪个方向找
: 还请各位不吝给点建议
: 非常感谢!
作者: hn9480412 (ilinker)   2016-02-20 05:31:00
其实还有一个class A的私有IP,是10.x.x.x
作者: seiyaku (制約)   2016-02-20 06:48:00
他有说10开头的阿
作者: brmelon (清水西瓜)   2016-02-20 07:43:00
详细推
作者: cfox1 (高雄縣大?p鄉)   2016-02-20 07:44:00
用心给推!!!!
作者: KaiJii (...)   2016-02-20 07:49:00
这一篇文章值 811 Ptt币
作者: ZeroRSX (阳明山的蓝色闪电)   2016-02-20 10:07:00
认真推
作者: HwangTW (谷歌翻译王)   2016-02-20 10:19:00
实用推
作者: ctes940008 (蛤!我只是小兵!?)   2016-02-20 11:48:00
作者: Bencrie   2016-02-20 13:33:00
推阳光好青年 XD
作者: blackstyles (夜猫)   2016-02-20 16:39:00
专业推, 路由器设定找虚拟服务器或埠转送
作者: HwangTW (谷歌翻译王)   2016-02-22 16:49:00
认真觉得这应该要被收入精华XD
作者: aries74262 (aries)   2016-02-22 21:04:00
太专业了,真感谢你!

Links booklink

Contact Us: admin [ a t ] ucptt.com