1
내가 뭔가 localhost를 통해 연결을 허용 포트 1337 에 연결을 허용하는 간단한 소켓 설정 :의 UPnP 포트 매핑, 서비스가 수락하지 연결
$ nc -vv localhost 1337
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif lo0
src ::1 port 57224
dst ::1 port 1337
rank info not available
TCP aux info available
Connection to localhost port 1337 [tcp/menandmice-dns] succeeded!
^C
내가 코코아 - 매퍼를 사용합니다 (https://github.com/mugginsoft/Cocoa-PortMapper)이 전달하는 포트를 NAT 라우터에 연결합니다.
portMapper = [[PortMapper alloc] initWithPort:1337];
portMapper.desiredPublicPort = 1337;
[[NSNotificationCenter defaultCenter] addObserverForName:PortMapperChangedNotification object:portMapper queue:nil usingBlock:^(NSNotification *note) {
NSLog(@"Successfully mapped: %@", portMapper.isMapped ? @"YES" : @"NO");
NSLog(@"Mapped %@:%hu", portMapper.publicAddress, portMapper.publicPort);
}];
if(![portMapper waitTillOpened]) {
NSLog(@"Could not open port");
}
그것은 YES 반환하고, 내 라우터에서의 UPnP 포트 맵 테이블은 내 컴퓨터의 로컬 IP에 대한 내부 포트 1337에 대한 외부 포트 1337에 활성 TCP 매핑이 있다는 것을 알 수있다.
그러나, 외부 IP를 통해 서비스에 연결이 작동하지 않습니다
$ nc -vv xxx.89.136.xx 1337
nc: connectx to xxx.89.136.xx port 1337 (tcp) failed: Connection refused
내가 수동으로 라우터의 포트 전달 규칙을 설정하면 연결이 작동합니다. 라우터에서 작동한다고해도 UPnP 포트 매핑이 작동하지 않는 이유는 무엇입니까?
나에게도 똑같은 일이 일어났습니다! – simernes