看板 Steam 關於我們 聯絡資訊
下面已經有熱心板友點出了盲點,我在這邊幫忙更清楚的解說一下: 原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搜尋了一堆奇怪的關鍵字還是不知該往哪個方向找 : 還請各位不吝給點建議 : 非常感謝! -- Sincerely. --VinTW -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.10.183 ※ 文章網址: https://www.ptt.cc/bbs/Steam/M.1455915738.A.AC7.html ※ 編輯: vintw (1.161.10.183), 02/20/2016 05:30:25
hn9480412: 其實還有一個class A的私有IP,是10.x.x.x 02/20 05:31
seiyaku: 他有說10開頭的阿 02/20 06:48
brmelon: 詳細推 02/20 07:43
cfox1: 用心給推!!!! 02/20 07:44
KaiJii: 這一篇文章值 811 Ptt幣 02/20 07:49
ZeroRSX: 認真推 02/20 10:07
HwangTW: 實用推 02/20 10:19
ctes940008: 推 02/20 11:48
Bencrie: 推陽光好青年 XD 02/20 13:33
blackstyles: 專業推, 路由器設定找虛擬伺服器或埠轉送 02/20 16:39
HwangTW: 認真覺得這應該要被收入精華XD 02/22 16:49
aries74262: 太專業了,真感謝你! 02/22 21:04