Telnet 사용법 - Telnet sayongbeob

* 리눅스에 telnet 설치

Telnet 사용법 - Telnet sayongbeob

rpm -qa telnet-server // telnet 서버 설치되어있는지 확인
dnf -y install telnet-server // telnet 설치

Telnet 사용법 - Telnet sayongbeob

설치 완료된 상태.

아직 서비스 시작 전이라

systemctl status telnet.socket 하면 Active : inactive 로 뜸.

Telnet 사용법 - Telnet sayongbeob

systemctl start telnet.socket     // 서비스 시작

systemctl status telnet.socket    // 서비스 상태 확인

위 명령어 입력 후 서비스 상태 확인해보면 Active : active(listening) 으로 바뀐 것을 볼 수 있음.

Telnet 사용법 - Telnet sayongbeob

teluser 라는 이름의 사용자를 생성함.

adduser teluser // 사용자 생성
passwd teluser // 비밀번호 생성

Telnet 사용법 - Telnet sayongbeob

telnet 서버IP 주소   // 텔넷 클라이언트를 사용해서 접속. teluser로 접속
whoami   // 접속된 사용자 이름 확인
exit   // 텔넷 종료

* 외부(윈도우10) 에서 텔넷 서버로 접속하기

Telnet 사용법 - Telnet sayongbeob

위와 같이 설정 후

Telnet 사용법 - Telnet sayongbeob

아직 접속 하지 못한다. (접속 실패)

-> 방화벽이 설치되어 있어 '보안 수준 설정' 을 변경해줘야 한다.

Telnet 사용법 - Telnet sayongbeob
Telnet 사용법 - Telnet sayongbeob
firewall-config (방화벽 설정 창)

위와 같이 public 에서 telnet 에 체크 표시 한 후 설정에서 '영구적' 으로 바꾼다.

Telnet 사용법 - Telnet sayongbeob

그 후에 옵션에서 Firewalld 다시 불러오기 를 누르면 설정이 저장된다.

Telnet 사용법 - Telnet sayongbeob

다시 윈도우의 cmd 에서 텔넷에 telnet 192.168.111.100 접속을 시도하면

위와 같은 창이 뜨게 되고 아이디와 비밀번호를 입력하면

teluser 로 로그인 된 것을 볼 수 있다.

실무에서 서버간 연동작업을 수행할 때 네트워크 방화벽을 서로 오픈하게 된다.

송신서버는 OUTBOUND, 수신서버는 INBOUND를 오픈하여 통신을 하게 되는데 통신오류가 발생하면 원인을 찾기가 쉽지 않다.

이럴 때 간단한 cmd 명령어를 통해서 통신상태를 확인해 볼 수 있는 방법을 소개하고자 한다.


telnet

telnet 명령어는 본래 원격지의 호스트에 접속하여 컨트롤 하는 것이 목적이나 패킷을 암호화 하지 않고 보악에 취약하므로 원격 컨트롤 보다는 단순히 통신 가능 여부를 확인하는 목적으로 많이 쓰인다.

telnet IP PORT

-서버에 원격 접속 시도

-ex. telnet 210.89.189.110 443

Telnet 사용법 - Telnet sayongbeob

netstat

netstat 명령어는 네트워크 인터페이스의 통신  상태를 보여준다.

netstat

-네트워크 연결 상태 확인

-ex. netstat -an|find "IP:PORT"

Telnet 사용법 - Telnet sayongbeob

telnet + netstat

telnet과 netstat을 동시에 사용하여 특정 원격서버와의 네트워크 통신 상태를 간단하게 확인할 수 있다.

(방화벽 확인)

1. cmd창을 두개 실행한다.

2. 1번창에 telnet IP PORT 를 입력

3. 2번창에 netstat -an|find "IP:PORT" 를 입력

4. 순서대로 실행(Enter)

5. netstat(2번창)을 통해서 telnet(1번창)의 결과를 확인

Telnet 사용법 - Telnet sayongbeob
telnet 명령어를 실행하는 1번 창
Telnet 사용법 - Telnet sayongbeob
netstat 명령어를 실행하는 2번 창

- SYN_SENT : 신호 보냄 (상태가 지속되다가 연결이 끊길 경우 송신은 성공했으나 수신서버의 INBOUND 방화벽이 막혀있을 확률이 높음)

- ESTABLISHED : 연결 성공

- telnet(1번창)이 바로 연결 실패하여 결과를 확인할 수 없다면 송신서버의 OUTBOUND 방화벽이 막혀있을 확률이 높다.

Telnet 사용법 - Telnet sayongbeob

예를들어 우리서버에서 거래처서버로 접속을 위해서 방화벽 오픈이 필요하고 할때, 우리서버는 분명 OUTBOUND방화벽을 오픈했는데 접속이 안되고 있고 거래처는 INBOUND방화벽을 오픈했다고 우기고 있는 상황이 자주 발생한다. 보통 위 결과만 보여줘도 대부분의 서버 관리자는 수긍하고 내부 방화벽을 다시 확인해 준다.

이런경우 99%는 거래처에서 사용하는 네트워크 분석툴로 패킷을 분석해보면 내부 어느 장비에서 방화벽이 막혔있고  방화벽을 열어주면 정상적으로 통신이 된다.

요청을 할 때는 작은 근거라도 있어야 하는데 그럴때 간단하게 사용할 수 있는 명령어이다.

단, 간~혹 고객사서버에서 예외적으로 telnet만 차단해놓은 경우가 있을 수는 있다. 또는 telnet대신 ping을 쓰는 사람도 많은데 ping은 네트워크공격의 위험성 때문에 더더욱 차단해놓는 경우가 많으므로 추천하지 않는다.

그리고 telnet을 사용하기 위해서는 윈도우 기능이 추가되어 있어야 한다.

Telnet 사용법 - Telnet sayongbeob