SharedIT | 묻고 답하기(AMP)

윈도우서버 끼리 통신을 거부하는 것 같아요.

안녕하세요?

금번에 서버 2대 웹 App 서버와 DB 서버를 배포 했는데요,

갑자기 웹 서버--> DB 서버로 통신이 모두 막혀버렸습니다.

방화벽에서 막히진 않은 것으로 보이는데요,

웹 서버 로그 쪽에 의심될만한 로그는 아래 뿐이 보이지 않네요.....

모든 사용자 --> 웹서버 /OK

모든 사용자 --> DB 서버 /OK

DB 서버 --> 웹서버 /OK

웹서버 --> DB 서버 /No

이러한 상황입니다. 어떤 부분을 확인해야 할까요? ㅠ_ㅠ


Tags : 태그가 없습니다.

11개의 답변이 있습니다.

deerokgo
  0 추천 | 8달 전

잘 사용하다가 

배포 이후에 문제가 있다고 한다면...

Web에서 DB 접속할 때 사용하는 DB 접속 정보를 확인 해보시기 바랍니다.

아래 URL에도 비슷한 내용이 있어서 올립니다.

https://www.experts-exchange.com/questions/29002909/Event-16969-logged-with-remote-calls-to-the-SAM-database-have-been-denied-in-the-past-900-seconds-throttling-windows.html


에이스퐝
  0 추천 | 8달 전

보통 방화벽 담당자로서 정책을 넣게 된다면, 사용자 -> 웹서버 열어두고

사용자 -> DB서버 막고, DB접근제어 서버IP만 허용으로 해두겠죠.

그리고 DB서버에서 웹서버로의 통신이 할 필요가 없으니 열지 않을 것이고,

웹서버 또는 WAS서버에서 DB서버로의 통신이 있을수 있죠. 

그럼 웹서버 또는 WAS서버에서 DB서버로 포트 열고 있죠. 근데 웹서버에서 DB서버로 안된다고 하면

일단 앞단의 방화벽이 아니라고 하면, DB서버가 보통 solaris 또는 리눅스 일것이고 그럼 서버 자체 iptables 또는 firewalld 가 있을 수 있겠죠. 그럼 전부 disable 해보시고 그래도 안된다고 하면,

DB접근제어가 있다면 정책으로 막고 있을수도 있습니다. 

DB서버에서 웹서버가 된다는거보니 라우팅에는 문제가 없어보입니다.

일단 테스트 해보고 싶으면 웹서버에서 telnet DB서버 IP 1521, 1523 이든 포트를 하고

DB서버에서 tcpdump로 패킷 캡쳐를 해서 실제로 패킷이 들어와서 안나가는것인지 아예 안들어오는것인지 확인해보면 답이 나올것 같습니다.

만약 패킷이 안들어오면 앞단에서 막힌것이고, 패킷이 들어오는데 서버에서 내보내지 않으면 서버에 방화벽설정이 되어 있는것이죠.


danis78
  0 추천 | 8달 전 | 제이컴즈 | 010-2871-8756
topkslee
  0 추천 | 8달 전

웹서버에서만 DB 서버로 접속이 안된다면 

서버쪽 방화벽 설정 체크해보세요~

Simon.Park
  0 추천 | 8달 전

한쪽으로의 통신만 막혔다면 해당 서버의 문제일 가능성이 제일 크네요.

해당 서버의 방화벽을 제일 먼저 살펴 보셔야 하고,

방화벽 장비의 설정도 무시할 수 없으니 다시한먼 체크해 보세요~~`

명동쓰레빠
  0 추천 | 8달 전

서버내 방화벽 설정을 확인 해보시기 바랍니다.

Genghis Khan
  0 추천 | 8달 전

방회벽도 다시 체크해 보시구요

스위치에서 트래픽 체크, 라우팅 정보도

체크해보세요

그리고 cmd에서 아래 내용 체크 해보세요

1) 현재 열린(LISTEN) 포트 확인

// TCP와 UDP 모두 확인

netstat -ano | find "LISTEN"



// TCP만 확인

netstat -anp tcp | find "LISTEN"



 

// UDP만 확인

netstat -anp udp | find "LISTEN"

 

아래 그림은 현재 LISTEN 중인 UDP 포트가 존재하지 않아 결과 값이 출력되지 않았다.



 

2) 특정 포트로 접속한 IP 확인

// 현재 Local 컴퓨터에 443포트로 접속한 ip 확인

netstat -ano | find "443"


wansoo
  0 추천 | 8달 전

웹서버와 DB 서버가 서로 통신이 안되는 상황이란 말씀이네요.

그렇다고 어느 한쪽의 네트워크가 끊긴 건 아닌 상황이란 말씀이고요.


가장 가능성이 높은 상황은 어느 한쪽 방화벽에서 차단한 경우일 것 같네요.

어느 한쪽 방화벽에서 특정 대상 호스트만 콕 집어서 차단 시켰을 가능성이 높지 않을까 싶어 보이고요.


다른 가능성은...

두 서버의 IP와 서브넷 마스크를 비교해 볼 필요도 있을 것 같네요.

IP 주소와 서브넷 마스크 설정에 의해서 두 서버가 서로 다른 네트워크에 있는 상황이 되어 버렸고, 둘 간의 라우팅이 되지 않는 상태라면 통신이 안될 가능성이 있겠네요.

이 경우에 다른 사용자들과의 통신은 어떻게 되냐는 건... 다른 사용자 컴퓨터들에는 서브넷 마스크 값이 같은 네트워크로 설정된 상태이기 때문일 수도 있겠고요.

예를 들어 웹서버(192.168.1.1), DB 서버(192.168.2.1)의 서브넷 마스크는 255.255.255.0 인데...

다른 사용자(192.168.3.x)들의 서브넷 마스크는 255.255.0.0일 경우라면...

해당 상황이 발생하게 됩니다.

앵그리파파
  0 추천 | 8달 전

아이피 대역도 확인해보세요. 같은 대역이라면 일부러 차단하지 않은 이상 통신이 될것이구요. 다른 대역이라면 라우팅 또는 방화벽 설정으로 길을 만들어 줘야 합니다. 그리고 윈도우 서버 자체 방화벽 등도 확인해보세요.  

경험상으로 DB 서버는 외부접근이 불가능한 내부ip를 NAT 하고 웹서버는 DMZ 구간에 외부에서 접근가능한 공인ip 를 주고 방화벽에서 정책을 만들어 통신이 되도록 적용한 적이 있습니다.

글 올리고 1시간 지났으니 벌써 성공하셨을 수도 있겠네요. 

아이티유
  0 추천 | 8달 전 | (주)아이티유 | 010-3658-9792

올려주신 시스템 이벤트 로그와는 무관한 증상처럼 보이는데요... 

혹시 제 경험에 비추어 App 서버와 DB 서버 모두 물리호스트인가요? 

두대 모두 서로 다른 물리 서버라면 아래의 내용 패스하시고 만약 한대는 물리호스트이고

한대는 가상 VM 이라면 V스위치문제로 이와같은 문제가 있을 수 있습니다. 참고바랍니다.

차니
  0 추천 | 8달 전

웹서버 --> DB 서버 로 ping을 날려보세요.

포트인지 ip 인지 확인 하고 다시 방화벽 확인 하시면 될 듯 합니다만....

아니면 바이러스 백신 로그도 확인해보세요... 이상 감지시 자동 차단 하는 경우도 있어서요..

Steve Lee | 8달 전

ping은 날라가는데 \\서버이름 으로 네트워크 폴더 접속이 막히네요.... Log on Failure 에러 나타나구요... 백신에는 아무런 로그가 업어요

에이스퐝 | 8달 전

Ping 은 의미가없습니다. 일단 웹서버와 DB서버간의 통신이 된다고 했으니 Ping 은 라우팅에 이상만 없으면 가게 되어 있습니다. 포트 오픈이랑은 관계가없고,

일단 DB서버에서 DB포트 리스닝이 되어 있는지 확인하시고, 리스닝이 되어 있으면, 웹서버에서 telnet DB 서버 IP 포트 정보로 접속 시도 해보시고 trying 인지 escape 문자가 뜨는지 확인하시고 만약 트라잉 중이면 DB서버에서 tcpdump -ni any host 웹서버 IP 로 한뒤에 DB서버 인터페이스로 정확하게 들어오는지 확인. 그리고 중요한것 DB서버의 인터페이스가 한개 인지 2개이상인지. (예를들어 DB서버에 인터페이스가 여러개있으면 들어오는 곳과 나가는 게이트웨이가 달라서 안될수도있으니)

TCPdump 로 확인가능.

결국 총 3가지만 확인하면 됨.

  • 1.DB포트 리스닝 중인지.

  • 2.앞단의 방화벽 정책 있는지, 서버의 방화벽이 있는지, DB접근제어가 있는지

  • 3.DB서버의 인터페이스가 2개 이상인지


Steve Lee | 8달 전

아.......드디어 이유를 찾았습니다....... 윈도우 정책으로 막혀있었네요..... 저희 회사에서 설정한 특별한 정책으로 안되는거였어요 ㅠ_ㅠ 답변 감사합니다.

에이스퐝 | 8달 전

찾으셔서 다행이네요. 

아무쪼록 뭔가 문제 생기면 제가 말씀드린 방법으로 하면 대부분 해결되니 참고하시면 되겠습니다.