약 4개월전 베어 너클4가 출시 되었고, 멀티플레이를 하려고 할때 "연결이 끓어 졌습니다!"라는 문구와 함께 어떤방식으로든 멀티를 진행할수 없는 문제를 경험 했습니다. 이것에 대해서 거의 포기를 하고 있다가 어찌저찌문제를 해결하게 되어서 그 원인과 해결법을 여기에 올립니다.
XBOX 앱을 사용하는 게임들은 멀티 플레이 세션에서 포트를 찾을 때 Teredo라는 프로토콜을 사용합니다. Teredo는 NAT과 같이 동작하는(정확히는 뒤에서) 프로토콜의 일종입니다. Teredo에 대해서 이야기 하기전에 NAT에 대해서 알아둘 필요가 있습니다. 최대한 간단히 이야기 하면 여러개의 내부 아이피(사설 아이피)를 외부아이피(공인아이피)로 묶는 것을 NAT이라고 합니다.
그리고 내부아이피에서 나간 주소가 외부아이피로나갈때는 하나의 아이피 즉, 공인 아이피(public IP)로보여지게 되고, 이게 여러분들이 하나씩 가지고 계신 '아이피주소'가 됩니다.
한편, 내부네트워크(집안 공유기를 통해 연결된 모든 기기들)를 사용하는기기들은 하나하나가 사설 아이피(내부 아이피)가 부여되있기때문에, 외부에서 데이터가 들어올때 공유기에서 어떤 곳으로 데이터가 들어가는지 알아야 합니다. 이럴때 NAT 라우팅 테이블을 통해서 외부의 데이터가 어떤 기기로가야 하는지 공유기가 길을 찾아 줍니다. 간단히 말해서, 공유기가데이터가 어디서 왔는지 파악하고 그것을 데이터를 요청한 기기(PS4, 엑박, 스마트폰... 등등)을보내줍니다.
만약, NAT 라우팅(길찾기)가 안된다면 데이터 통신을 할 수 없겠죠. 그리고 이렇게 이유기 공유기/기기/통신사(통신사에서 이를 막진 않지만 특이하지만 케이스가 몇몇 있습니다. 기숙사등)가 이 길을 막아 놓거나, 길을 제대로 터놓지 않으면 데이터 통신오류가 발생합니다. PS4나 스위치 등에서 NAT TYPE으로 문제가 발생하여 게임이 안된다면 이 문제이고, 이경우에는 포트포워딩을 통해서 대부분이 해결 가능했습니다. port(포트)/forwarding(전달). 그 글이 뜻하는 대로 디바이스(디바이스의 port)로 갈 이런 길을 수동으로 터놓는 것이죠(forwarding). 이러면 대부분의 게임 네트워크 문제를 해결 할수 있었습니다.
허나Teredo는 좀 골치 아픕니다. 기존의 NAT이 ipv4(우리가 일반적으로 사용하는 아이피 주소 xxx.xxx.xxx.xxx)를기반으로 하여 아이피를 묶었지만, Teredo가 적용되면 Ipv4를 ip6v(길어진 아이피 주소)로 전환하여 던지는 과정이 붙습니다.(중간의 서버가 아이피 주소를 변환해줌) 또한 가상 테레도 네트워크 어뎁터가 윈도우 1804버전 이전에는 분리되어 동작했습니다. 뭔 소리인지 이해하려 할 필요는 없습니다. 그냥 기존에 먹혔던 포트포워딩으로 해결하기가어렵다는 것만 알아두셨으면 합니다.
해결법은 조금 복잡할수 있지만, 제가여기다 적은 것을 하나 하나 시도해보면서 해결해 보아요.
1. 테레도가 제대로 작동하는지체크
일단 테레도가 제대로 작동하는지 체크를 해보아야겠죠.
1. 윈도우-검색창에 설정 검색(원도우버튼을 누르면 나오는 톱니바퀴키를 눌러도 됩니다.), 실행합니다.
2. 게임- xbox 네트워킹을 클릭합니다.
3.
클릭하면 이런창이 뜹니다.
저는 테레도 가 정상 작동하지만, Teredo가적합하지 않습니다. 혹은 서버 연결에 차단됨 이라고 뜨면, 테레도에무엇인가 문제가 있다는 겁니다.
이런 경우에는 2번째 항목으로가서 차차 문제해결을 해봅시다.
2.테레도를 차단하는 앱/공유기 설정이 있는지 확인.
1.혹시 Adguard를 사용하지 않으시나요? 그렇다면, 애드가드를 실행시키고, 설정창에 들어가가 일반탭의 끝자락에 고급설정에 들어가서 WFP 드라이버사용시 Teredo 차단항목을 체크해제 해보신 후, 재부팅해보고 1번항목의 Xbox 네트워킹을통해 상태를 다시 체크해보세요. 정상적으로 동작하면 NAT 유형이개방형, 서버 연결이 연결됨으로 보여질겁니다.
2.혹시 비트디펜더나 카프퍼스키, 방화벽 체크가 깐깐한백신을 사용하시나요? 각각의 백신등이 Teredo 연결을차단하고 있을 수 있습니다. 이를 예외 설정해주시고 재부팅 후 Xbox 네트워킹을 통해 상태를 다시 체크해보세요. 정상적으로동작하면 NAT 유형이 개방형, 서버연결이 연결됨으로 보여질겁니다.
3.혹시 Asus game first service를 사용하시나요? 그렇다면 해당 기능을 끄시거나, 아수스 공유기를최신버전으로 업데이트해보세요. Xbox 네트워킹을 통해 연결상태를 체크하면 정상적으로 연결될수도있습니다.
대부분의 teredo 관련문제가 1,2번같은 프로그램이 Teredo를 막아서 발생합니다. 위를 따라하신 후 Teredo가 재동작을 하면좋겠지만, 이상하게 Teredo가 동작하지않는 경우가 있습니다. 이 경우에는 Teredo 설정을초기화해야 합니다. 3번째 항목으로 가서 문제해결을 진행해봅시다.
3.윈도우 서비스 재설정
드물지만, 단순히 테레도가 비활성화 되있거나아니면 안 켜져 있을수 도 있습니다. 이럴때는 msconfig을통해서 서비스를 전부 껐다 켜서 재설정 해볼 수 있습니다.
1. 윈도우-검색창에 실행검색(혹은윈도우키+R)
2. 실행창이 나오면 msconfig을치고실행
3. 시스템 구성의 탭에서 서비스 선택, 모두 사용을 누르고다시 적용-확인
4. 재부팅 이후 Xbox 네트워킹을 통해 연결상태확인. 정상 작동되면, 멀티플레이를 즐기시면 됩니다.
이 방식으로 Teredo를 껐다켜보는게 안먹히면, 4번째 항목으로 가서 문제해결을 진행해봅시다.
4.완전수동으로 Teredo 재설정
완전히 수동으로 Teredo를재설정합니다. 위에서 앱들이 막어 놓았던 찌꺼기들을 제거하고 초기설정으로 되돌리는 것이라 생각하면편합니다.
1. Cmd를 관리자 권한으로켭니다. 윈도우 검색창에 cmd를치고관리자권한으로실행시킵니다.
2. "netsh interfaceteredo show state"를 cmd에다 입력하여 teredo의 상태를 확인합니다.
3.
Teredo 매개 변수
---------------------------------------------
형식 :enterpriseclient (Group Policy)
서버 이름 :win10.ipv6.microsoft.com.
클라이언트 새로 고침 간격 : 30초 (Group Policy)
클라이언트 포트 :unspecified (Group Policy)
테레도가 구성되지 않았으면, 이런창이 뜨고, teredo가 disable 되었다고뜹니다. 각각의 상황이 다르지만 보통은 연결되지 않음 등으로 뜰겁니다. 만약 연결되지 않았으면 각각의 항목등을 하나하나 변경해볼 수 있습니다.
첫번째로, "netsh interfaceteredo set state servername=default"를 cmd에다 치고서버를 기본값으로 되돌립니다. 이를 적용하고 확인해봅니다. 안되면다음 항목을 바꾸어 봅니다.
두번째로, "netsh interfaceteredo set state type=enterpriseclient"를 cmd에다 치고형식을 enterpriseclient로 적용해봅니다.
다시 "netshinterface teredo show state"를 cmd에 적고 teredo의 형식이 enterpriseclient로됬는지 확인해봅니다. 위 두개의 항목이 제대로 바뀌었으면 이런 메시지가 뜹니다.
Teredo 매개 변수
---------------------------------------------
형식 :enterpriseclient (Group Policy)
서버 이름 :win10.ipv6.microsoft.com.
클라이언트 새로 고침 간격 : 30초 (Group Policy)
클라이언트 포트 :unspecified (Group Policy)
상태 :qualified
클라이언트 유형 :teredo client
네트워크 :managed
NAT :cone
NAT 특수 동작 : UPNP: 예, 포트 유지: 예
로컬 매핑 :192.xxx.0.xx:xxxxx
외부 NAT 매핑 : 1xx.xxx.xxx.x:xxxxx
이렇게 NAT과 로컬매핑, 외부 NAT 매핑이뜨면, Teredo가 구성되었고 윗 항목의 Xbox 네트워크를통해서 네트워크가 제대로 동작하는 것을 확인할 수있습니다. 혹시라도 안 되면 재부팅을 해봅시다.
5.완전수동으로 teredo 재 설정을 해도 안됬을때
혹여나, 이런 재설정을 통해서도정상적인 teredo 연결이 설정 안됬을 수가 있습니다. 이런 경우에는 서버 이름을 수동으로 재설정하거나, 로컬 그룹 정책 편집기를 통해서 수동으로 상태를 재설정해야합니다.
1. "netsh interface teredo set stateservername=win10.ipv6.microsoft.com."(마지막에 붙는 점도 같이 적어야 합니다.)로 서버를 수동으로설정합니다. 위를 적용한 뒤에 xbox 네트워킹을통해서 확인합니다. 안되면 다음 항목으로 이동합시다.
2. 로컬 그룹 정책 편집기를 통해서 형식을 수동으로 적용해줍니다.
윈도우 검색창에gpedit.msc를 검색해서 엔터를 치거나, 실행에 gpedit.msc를 쳐서 로컬 그룹 정책 편집기를 실행합니다.
3. 로컬 그룹 편집기의 컴퓨터구성-모든 설정을 클릭하시고 설정 중 "Teredo 상태설정"을 더블클릭합니다.
4. 상태 설정이 구성되지 않음 혹은, 사용안함으로 되있으면사용으로 되돌리고, 밑의 옵션값에 "기본상태"를 "엔터프라이즈클라이언트"로 설정합니다.
5. 적용후 확인버튼을 누르고, 재부팅을 합니다. 윗항목에서 알려드린 Xbox 네트워크를통해 연결 상태를 확인합니다.
아마도 이과정을 전부 적용했으면 정상적인 멀티플레이가 가능하실겁니다. 조금이라도 도움이 되셨으면 합니다.
한주가 시작됩니다. 비도 끔찍하게많이내리고 습합니다. 비 조심하시고 건강히 한주 무탈하게 보내셨으면 합니다.
Adguard 쓰시는 분들은 고급설정에서 Teredo 차단 해제하시면 됩니다
정보 감사합니다
뭘이리 어렵게 쓰나 "netsh interface teredo show state" 이거 치고 서버 이름이 win1910.ipv6.microsoft.com. 이거면 "netsh interface teredo set state servername=win10.ipv6.microsoft.com." 이거쓰면 끝남 CMD나 windows powershell 관리자로 실행하고 1910이 문제인거지
저 같은 경우에는 여러가지 문제가 엵혀있어서, 로컬편집 도구로 형식을 client에서 enterpriseclient로 직접 설정을 해주어야지 커넥션이 형성이 되었습니다. 물론 2004버전 같이 최신식 버전을 쓰는 윈도우 유저들은 이런 문제를 겪을 일이 없지만(자동으로 서버를 설정해주면 끝나기 때문에) 그이전의 19xx, 18xx등의 버전을 쓰는 유저들은 수동으로 저렇게 해주어야 정상적으로 동작할때가 있기 때문입니다. 굉장히 복잡하고 쓸모 없는 부분이 많지만, 저방식 때로 따라하면 'fail-proof'이기 때문에 약간 복잡하더라도 확실히 설정하는 부분을 설명했습니다. 모든 분이 윈도우 최신 버전을 쓰지는 않으니까요.
이분 말대로, 이것만 따라서 하면 문제가 해결 될 수 있습니다. 이것 부터 시도해 보시는 것도 추천드립니다.
정보 감사합니다
추천
Adguard 쓰시는 분들은 고급설정에서 Teredo 차단 해제하시면 됩니다
꿀팁 감사감사 !!
이게 처음 겪으면 해결하느라 골까져.. 포호 하면 한번은 볼 수 있는듯
뭘이리 어렵게 쓰나 "netsh interface teredo show state" 이거 치고 서버 이름이 win1910.ipv6.microsoft.com. 이거면 "netsh interface teredo set state servername=win10.ipv6.microsoft.com." 이거쓰면 끝남 CMD나 windows powershell 관리자로 실행하고 1910이 문제인거지
저 같은 경우에는 여러가지 문제가 엵혀있어서, 로컬편집 도구로 형식을 client에서 enterpriseclient로 직접 설정을 해주어야지 커넥션이 형성이 되었습니다. 물론 2004버전 같이 최신식 버전을 쓰는 윈도우 유저들은 이런 문제를 겪을 일이 없지만(자동으로 서버를 설정해주면 끝나기 때문에) 그이전의 19xx, 18xx등의 버전을 쓰는 유저들은 수동으로 저렇게 해주어야 정상적으로 동작할때가 있기 때문입니다. 굉장히 복잡하고 쓸모 없는 부분이 많지만, 저방식 때로 따라하면 'fail-proof'이기 때문에 약간 복잡하더라도 확실히 설정하는 부분을 설명했습니다. 모든 분이 윈도우 최신 버전을 쓰지는 않으니까요.
이분 말대로, 이것만 따라서 하면 문제가 해결 될 수 있습니다. 이것 부터 시도해 보시는 것도 추천드립니다.
오, 정말이다. 저도 5-1번의 해당 커맨드 입력까지 해보니 제대로 되네요.
애드가드가 문제였군요... 하다 포기하고 엑원으로 멀티돌렸는데...
SecretSNI 같은 프로그램 써도 연결 못하니깐 하실때는 꺼두세요
제 휴무 하루동안 개삽질한거 님덕분에 해결 새벽 5시 17분전 괴성지름 감사합니다. (하필 맨 마지막 엔터프라이즈가 답이엇음)
추카드립니다
안녕하세요 좋은 정보 감사드리며 정말 많은 도움이 되었습니다~ 근데 아직 제가 초보라 완전히 해결이 안되네요 ㅜ.ㅜ 정말 머리 아파 죽겠네요.. phantom dust 라고 멑티 게임중에 계속 저만 튕겨져 나와서 방장님의 글대로 따라하니 어느 정도 해결은 되었으나 서버 연결이 차단됨이 자주 뜹니다. 새로고침을 2~3번 하면 다시 연결됨으로 나오구요 간혹 가다가 NAT 도 개방형으로 나오다가도 TEREDO가 적합하지 않습니다 라고 나오구요.. 이게 계속 자동으로 변하는거 같아요.. 게임 할때 튕겨 나오기도 하구요... 그럼 또 몇 번 새로고침을 하고 (10번까지 할때도 있음) 기다려야 하구요.. 방장님의 글 에 있는 NETSH STATE 에서 나머지는 동일하구요 NAT 특수 동작이 UPNP: 아니요, 포트 유지: 아니요 라고 나오는데 이것 때문에 그런걸까요... LG 인터넷 사용하는데 팀뷰어로 원격상담도 해봐도 안되고 잘 모르겠다고 하구요.. 방문 기사까지 와도 해결이 안되네요.. .. 참 그리고 gpedit 모든 설정에서 teredo 를 enterprise 로 바꾸었구요.. 근데 teredo 빈도 설정이 구성되진 않음으로 되어 있는데 이것을 사용 으로 변경해 주면 좀 나을런지요...? 고수님의 친절한 답변 기다리겠습니다~ 이것때문에 주말마다 머리 싸매고 있네요 ㅠ.ㅠ
그룹 설정을 할때 Enterpriseclient로 하셔야 합니다. 윈도우를 19xx 버전 이상으로 업그레이드 하는 것을 추천드립니다.
만약 공유기단에서 테레도 설정을 건드리고 있다면 딱히 바꿀수 있는 방법이 없습니다. 위에 있는 enterpriseclient로 바꾸시고 연결을 갱신해보세요.
그룹 설정은 어디서 하는지요.. gpedeit 에서는 enterpriseclient 로 변경 해 놓았습니다~ 윈도우는 업그레이드 해보겠습니다 답변 감사드립니다!!!
Gpedeit이 로컬 그룹 편집기입니다. Enterpriseclient로 변경한뒤에 다시 연결을 재갱신을 해보세요.
teredo show state 에서 서버 이름이 win1910.ipv6.microsoft.com. 으로 나와있습니다
공유기에서 테레도 설정을 건드릴수도 있는군요.. lg 인터넷인데 유선으로 연결되어 있고 아파트 인터넷 단자함에 연결하지 않고 자기네들이 가지고 온 공유기(라우터?) 여기에 인터넷이 연결되어 있어요.. 인터넷 통신사를 바꿔서 나아지기만 한다면 그렇게라도 해보겠는데 바꾼다고해서 나아진다는 보장이 없으니 미치겠어요 ㅠ.ㅠ
Lg 공유기를 사용하지 않아서 잘 모르겠는데, 대개는 건드리는 경우가 거의 없습니다. 혹여나 해서 일단 말씀드린거구요. 일단 가장 높은 확률은 1.설정된 중계 서버가 죽어있어서 2.방화벽 역할을 하는 프로그램을 설치하다 teredo 설정을 건드려서 이를 차단/번형을 한다거나 3.18xx 이전 버전의 윈도우를 사용하여 클라이언트가 enterprise 혹은 enterpriseclient로 갱신이 되지 않았을 케이스가 가장 많습니다. 천천히 따라 해보세요. 위에서 말한것 처럼, 공유기 문제일 확률이 상당히 적어서 윈도우 설정에서 고쳐질 확률이 큽니다.
친절한 답변 너무 감사드립니다~~~ 따라서 해보고 또 답글 남기겠습니다.. 진짜로 감사해요~~~
혹시 모르니, win10.ipv6.microsoft.com. 으로 서버도 바꾸어 보세요.
서버 바꾸는 방법도 한번만 알려주시면 감사하겠습니다 ^^;;;
1. "netsh interface teredo set state servername=win10.ipv6.microsoft.com."(마지막에 붙는 점도 같이 적어야 합니다.)로 서버를 수동으로 설정합니다. 이것 그대로 cmd(관리자 권한) 입력하세요
감사합니다 제 윈도우는 10 64비트 이고 버전은 19041 로 나오네요..
비트디펜더 쓰시는 분들은 방화벽 > Rules > Reset rules 하신 다음에 C:\WINDOWS\System32\svchost.exe 추가 시키세요
와 포르자호라이즌4 세션연결 암만 위에 내용대로해도 안되다가 이글보고 추가시켰더니 바로되네요 감사합니다