Intro ⭐
다른 시스템과 API 연동 시, 타 시스템 → 우리 시스템이 정상적인 호출이 되지 않는다고 할 경우 리눅스의 net-tools을 사용하여 해당 서비스가 연동할 포트에서 정상적으로 동작 중인지 확인할 수 있습니다.
대부분의 운영환경에서는 해당 Tool이 설치가 되어있을 테지만, 서버를 새로 구축한 경우 설치부터 진행하셔야 합니다.
#CentOS
yum install net-tools
#Ubuntu
apt-get install net-tools
서비스 포트 확인
우선적으로, 서비스를 제공할 프로그램이 연동 협의 시 고지한 포트에 정상적으로 작동 중 인지를 확인합니다.
netstat -anltp
방화벽 확인
서비스는 정상적으로 구동 중이나, 타 시스템에서 접근이 되지 않을 경우 방화벽을 확인해 볼 필요가 있습니다.
# 방화벽 구동 확인
systemctl status firewalld
# 기본 방화벽 정책 확인
firewall-cmd --get-default-zone
# 기본 정책 방화벽의 등록된 포트 확인
firewall-cmd --zone=public --list-all
만일 위의 예시와 같이 외부에 서비스 하고자 할 9090포트가 방화벽에 등록되어있지 않다면, 해당 포트를 방화벽에 등록 및 접근을 허용할 IP에 대하여 설정 후 방화벽 재구동을 진행합니다.
# 기본 정책 방화벽에 9090포트 추가
firewall-cmd --permanent --zone=public --add-port=9090/tcp
# 특정 IP 주소에 대한 접근 허용
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="접근할IP주소" port protocol="tcp" port="9090" accept' --permanent
# 방화벽 재구동
firewall-cmd --reload
# 기본 정책 방화벽의 등록된 포트 확인
firewall-cmd --zone=public --list-all
Access log 확인
서비스 포트 및 방화벽을 모두 확인하였지만, 원인을 파악하기 힘들다면 Access log를 확인하여 접속 시도가 이루어졌는지 확인할 수 있습니다.
웹 서비스 툴 별 Access log의 기본 위치 및 파일명
서비스 명 | 기본 위치 | 파일명 |
Apache | /var/log/httpd/ 또는 /var/log/apache2/ | access.log |
Nginx | /var/log/nginx/ | access.log |
Tomcat | /$CATALINA_HOME/logs/ | localhost_access_log.txt |
Apache TomEE | $CATALINA_HOME/logs/ | access.log |
Jetty | $JETTY_HOME/logs/ | yyyy_mm_dd.request.log |
WildFly | $WILDFLY_HOME/standalone/log/ | access.log |
GlassFish | $GLASSFISH_HOME/glassfish/domains/domain1/logs/ | server.log |
Honey Tip 🍯
만일 우리가 클라이언트인 상황에 연동하기로 한 API에 접속이 되지 않는 반대의 경우에는 아래와 같이 확인이 가능합니다.
다만, ping test 및 telnet은 경우에 따라 서버 측에서 차단을 할 수 있으므로 아래의 결과는 100% 신뢰하여서는 안 되며 참고용으로만 사용하여야 합니다.
네트워크 연결 확인
# Ping test
ping 123.123.123.123
네트워크 연결이 정상적으로 확인될 경우 telnet을 통해 서비스 동작 여부를 간단하게 확인할 수 있습니다.
보통 telnet 명령어 입력 후 접속이 곧바로 이루어지기 때문에, 5초 이상 접속 결과가 나타나지 않는다면 접속이 불가능하다 보셔도 무방합니다.
# telnet
telnet 123.123.123.123 9090
References
https://net-tools.sourceforge.io/man/netstat.8.html
Manpage of NETSTAT
NETSTAT Section: Linux System Administrator's Manual (8) Updated: 2012-09-15 Index Return to Main Contents NAME netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships SYNOPSIS netstat [a
net-tools.sourceforge.io
해당 게시글은 독학을 통해 얻은 지식들을 취합하여 작성한 글입니다.
잘못된 내용이 있을 경우 댓글을 통해 지적을 해주신다면 저와, 이 글을 참조하게 될 모든 분들께 큰 힘이 됩니다.