OS/Linux
linux에서 nc (Netcat) 을 이용하여 방화벽 확인하기
호형
2020. 7. 28. 14:19
web/was 세팅을 마치고 브라우저에서 잘 연결이 되는지 확인을 하려고 nginx에 설정한 도메인을 딱 치는순간!
왜 이런 오류가 날까? 원인을 파악해 보니 web서버에서 was서버로 (물리적으로 다른 서버) 연결을 하는 경우만 이렇다. web to web 은 nginx 설정대로 아주 잘 된다. 그렇다는것은 web 서버와 was 서버간의 방화벽이 문제가 될수 있는다는 것이다. 방화벽이 열렸는지 확인할 수 있는 방법은 telnet도 있지만 오늘은 netcat (or ncat)에 대해서 살펴보겠다. (기존의 netcat을 크게 개선시킨것이 ncat 이라고 한다.)
일단 nc가 설치가 되었는지 확인을 해본다.
역시 깔려있지 않다. 인생이 그렇게 호락호락하지는 않은것 같다.
$ yum install nc
yum으로 간단하게 설치를 할 수 있다. 설치할때는 root로 해야 한다.
$ nc ip port
이렇게 nc ip port 명령어로 해당 port와 통신이 되는지 확인할 수 있다. 통신이 된다면 어떤 메세지를 받을 수 있을것이고 그렇지 않다면 아무런것도 나오지 않는다. 필자의 경우는 대상 서버와 8080 port는 막혀 있고 22 port는 열려 있는것을 간단하게 확인할 수 있다.
더욱 확실하게 확인하고 싶다면 다음 명령어를 해보도록 하자.
$ nc -z -v ip port
심심하면 nc 옵션에 대해서 한번 쭉 살펴보도록 하자.
끝!