SharedIT | 묻고 답하기(AMP)

서버에서는 포트 Listen 되었다고 나오는데, 외부에서는 해당 서버의 포트 Listen 안됐다고 나올 때

최근에 겪었던 일인데, 원인을 찾을 수가 없어서 여기에 올려 봅니다.

아래 내용은 프라이빗 클라우드 환경에서 적용해 본 내용이며, Kubernetes 기반으로 되어 있습니다.


프라이빗 클라우드에서 서비스를 올리면, 특정 IP와 특정 PORT에 서비스가 올라가게 됩니다.

일반적으로 서비스가 올라가면 외부나 타 IP에서 해당 IP / PORT에 접속하거나 서비스를 이용할 수 있게 되는데요.

서비스 올라간 후 접속을 해보면 크롬에서 방화벽 확인하라는 화면만 뜨고 있습니다.

서비스가 올라간 서버에 터미널로 접속해서 해당 포트 상태를 확인해보면, 해당 포트는 Listen 되고 있는 것으로 나옵니다.

문제는 윈도 환경인 로컬 PC에 Port Query UI 라는 Microsoft에서 개발한 포트 상태 확인하는 Tool을 이용해보면,

서비스가 올라가있는 IP에 Port는 Listen 하지 않고 있다고 조회가 됩니다. 

서버에서는 Listen 하고 있다고 나오고, 외부에서 툴을 이용해서 확인하면 Listen 하지 않고 있다고 나오고...

오픈스택 담당자는 방화벽 설정은 하지 않았다고 하고...

어디부터 확인해 봐야 할까요?

Tags : 태그가 없습니다.

8개의 답변이 있습니다.

쿨가이
  0 추천 | 11달 전

서버 방화벽 먼저 확인해보시구요.

간혹 네트워크 잡고 있는 프로그램들도 있더라구요.

예전에 이것때문에 엄청 고생을.ㅜ 이런것들도 체크해보세요

deerokgo | 11달 전

넵. 

확인해봐야 겠네요.

감사합니다.

에이스퐝
  0 추천 | 11달 전

일단 서버의 리스닝이 되어 있는지 확인해보세요.(netstat -an | grep LISTEN)

그리고 서버의 게이트웨이가 정상적으로 되어 있는지(netstat -rn 으로 보고 GW가 여러개 있는지 확인하고 정상적으로 해당 GW로 나가는지)

그리고 정상적으로 라우팅과 리스닝 되어 있는지 확인이 되었으면, 서버의 방화벽 점검 꺼져있는지

(firewalld , iptables 등)

그게 다 확인이 되었으면, 이제 해당 경로의 방화벽 정책 점검

(방화벽은 기본 화이트리스트 기반이라, 기본 차단에 정책으로 되어 있는것만 오픈, 그리고 순차적으로 정책 적용, 호스트 IP가 클래스 IP보다 우선 등, 정책 정확히 확인, 오픈정책위에 차단정책이 있는지 등등)

그렇게 하면 됩니다.

deerokgo | 11달 전

서버에서는 netstat 으로 Listen 된거 확인된 상태 입니다.

게이트웨이는 확인 해봐야 할거 같고요.

방화벽도 체크 다시 해봐야 겠네요.

감사합니다.

빨간신발
  0 추천 | 11달 전

보통은 거의 방화벽 문제이고, 네트워크 설정이나, 서버 설정 문제일 가능성이 조금씩 있죠.

각 단계별로 접속이 되는지 확인하면서, 안되는 포인트를 찾아서 해당 담당자에게 확인을 요청하세요

deerokgo | 11달 전

방화벽 문제 같긴한데...

인프라 담당자는 방화벽이 없다라고 하고... ㅠㅠ 

topkslee
  0 추천 | 11달 전

얼마전 내부와 외부 연동할 때 비슷한 문제를 겪어던것 같은데요.

방화벽 담당자는 요청한 포트 다 열어줬다고 했지만

결국 방화벽문제더군요. 가장 먼저 방화벽을 체크해보세요.

deerokgo | 11달 전

저도 방화벽 문제라고 생각 합니다.

좀더 체크해 봐야 겠네요. 

차바라기
  0 추천 | 11달 전

방화벽에서 외부에서 들어오는 포트를 오픈하지 않아서 발생하지 않을까요? 외부에서 들어오는 정책을 확인 해보세요

deerokgo | 11달 전

외부에서 들어오는 것들에 대해서도 체크해봐야 겠네요 

감사합니다. 

Simon.Park
  0 추천 | 11달 전

서버 자체의 방화벽을 먼저 체크 해 보시고,

그 다음은 외부와 해당 서버와의 사이에 있는 보안장비가 있는지 여부와,

해당 보안장비에서의 Port 오픈 여부를 체크해 보시면 될 듯 합니다. 

deerokgo | 11달 전

방화벽 체크 좀더 해봐야 겠네요. 

감사합니다. 

wansoo
  0 추천 | 11달 전

서버 내에서 Listen으로 정상 구동중인데, 서버 외부에서 접속이 안된다면 99.999% 방화벽 문제입니다.

방화벽 문제가 아니라면 OS에 버그, 악성 코드, 알려지지 않은 오류가 있는 비정상적인 상태가 되겠고요.

서버 외부의 클라이언트에서 nmap으로 해당 서버의 포트 상태를 조회해서 정상적으로 열려 있는지, 열려 있지 않은지 확인해 보는 것도 점검에 도움이 될 수 있을 것 같네요.

deerokgo | 11달 전

nmap도 사용해봐야 겠네요

inside07
  0 추천 | 11달 전

서비스가 올라간 서버에서 포트 상태가 Listen인데, 외부 로컬 PC에서 port open되어 있지 않으면,

서버 자체 방화벽아니면 클라우드 방화벽 또는 nsg 정책 때문일거에요 ~ 

오픈스택 담당자가 방화벽 설정하지 않았다고 하는 거면,

서버 자체 방화벽 설정하지 않았다고 보여집니다.

해당 클라우드 서비스 자체 방화벽 정책 또는 nsg에 외부 포트와 서비스 포트 맵핑이 정상적으로 설정되어 있는지 우선순위로 확인 해보시는 게 좋을 것 같습니다.


위 내용 둘다 아니라면 로컬 PC 망의 방화벽에서 아웃바운드 정책이 있을 수도 있습니다.

deerokgo | 11달 전

nsg는 처음들어보는데

체크 해봐야 겠네요.

감사합니다.