ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • LINUX Telnet 서버 구축 하는 방법 [원격지 서버 1편]
    System of Infra/Linux System 2022. 5. 17. 22:45
    반응형

    LINUX 로고이미지

    LINUX Telnet 서버 구축하는 방법 [원격지 서버 1편]

    [root@localhost /]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 00:0c:29:e7:47:fb brd ff:ff:ff:ff:ff:ff
        inet 192.168.111.100/24 brd 192.168.111.255 scope global noprefixroute ens160
           valid_lft forever preferred_lft forever
        inet6 fe80::4beb:7287:7a69:cde2/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    ▶ 192.168.111.100 아이피를 가지고 있는 리눅스 시스템을 준비해 주도록 합니다.
    [root@localhost /]# dnf -y install telnet-server
    CentOS-8 - AppStream                            2.8 kB/s | 4.3 kB     00:01    
    CentOS-8 - Base                                 2.5 kB/s | 3.9 kB     00:01    
    CentOS-8 - PowerTools                           2.5 kB/s | 4.3 kB     00:01    
    CentOS-8 - Plus                                 1.9 kB/s | 3.0 kB     00:01    
    CentOS-8 - Extras                               915  B/s | 1.5 kB     00:01    
    종속성이 해결되었습니다.
    ========================================================================================================
     꾸러미                     아키텍처            버전                       리포지토리              크기
    ========================================================================================================
    Installing:
     telnet-server              x86_64              1:0.17-73.el8              AppStream               48 k
    
    거래 요약
    ========================================================================================================
    설치  1 꾸러미
    
    총 다운로드 크기 : 48 k
    설치 크기 : 60 k
    패키지 다운로드중:
    telnet-server-0.17-73.el8.x86_64.rpm                                     24 kB/s |  48 kB     00:01    
    --------------------------------------------------------------------------------------------------------
    합계                                                                     24 kB/s |  48 kB     00:01     
    트랜잭션 점검 실행 중
    트랜잭션 검사가 성공했습니다.
    트랜잭션 테스트 실행 중
    트랜잭션 테스트가 완료되었습니다.
    거래 실행 중
      준비 중입니다  :                                                                                  1/1 
      Installing     : telnet-server-1:0.17-73.el8.x86_64                                               1/1 
      스크립틀릿 실행: telnet-server-1:0.17-73.el8.x86_64                                               1/1 
      확인 중        : telnet-server-1:0.17-73.el8.x86_64                                               1/1 
    
    설치됨:
      telnet-server-1:0.17-73.el8.x86_64                                                                    
    
    완료되었습니다!
    ▶ dnf -y install telnet-server 명령어를 통해서 telnet 서비스의 패키지를 설치해 주도록 합니다.
    [root@localhost /]# systemctl restart telnet.socket 
    
    [root@localhost /]# systemctl status telnet.socket 
    ● telnet.socket - Telnet Server Activation Socket
       Loaded: loaded (/usr/lib/systemd/system/telnet.socket; disabled; vendor preset: disabled)
       Active: active (listening) since Mon 2022-04-25 22:12:41 KST; 32s ago
         Docs: man:telnetd(8)
       Listen: [::]:23 (Stream)
     Accepted: 0; Connected: 0;
       CGroup: /system.slice/telnet.socket
    
     4월 25 22:12:41 localhost.localdomain systemd[1]: Listening on Telnet Server Activation Socket.
    ▶ systemctl restart or start 명령어를 통해서 telnet 소켓을 활성화시켜주도록 합니다. 활성화 후 active의 상태를 확인해 주도록 합니다. telnet 서비스는 23번 포트를 사용합니다.
    [root@localhost /]# useradd -d /home/teluser teluser
    
    [root@localhost /]# cat /etc/passwd | grep -i teluser
    teluser:x:1001:1001::/home/teluser:/bin/bash
    
    [root@localhost /]# passwd teluser
    teluser 사용자의 비밀 번호 변경 중
    새  암호:
    잘못된 암호: 암호는 8 개의 문자 보다 짧습니다
    새  암호 재입력:
    passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
    
    [root@localhost /]# telnet 192.168.111.100
    Trying 192.168.111.100...
    Connected to 192.168.111.100.
    Escape character is '^]'.
    
    Kernel 4.18.0-80.el8.x86_64 on an x86_64
    localhost login: teluser
    Password: 
    [teluser@localhost ~]$ pwd
    /home/teluser
    ▶ telnet 서버의 원격지를 테스트 하기 위해서 telnetuser라는 계정 하나를 생성해주도록 합니다. 생성 후 비밀번호까지 생성 후 자기 자신의 아이피를 통해서 telnet 서비스를 테스트합니다. Escape character is '^]'. 의 상태로 출력이 된다면 정상적으로 통신이 된다는 상태를 뜻합니다.

    ※ Trying 192.168.111.100...
    - 계속 대기 중으로 방화벽의 포트가 오픈 안된 것을 유추해볼 수 있음.

    ※ Trying 192.168.111.100...
    telnet: Unable to connect to remote host: Connection refused 
    - 바로 연결 거부가 발생하는 호출 메시지는 방화벽에서는 열었지만, 프로세스가 아직 떠 있지 않은 상태.

    ※ Trying 192.168.111.100...
    Connected to 192.168.111.100
    Escape character is '^]'.
    - 방화벽 오픈이 정상적으로 되었고 프로세스가 올라가 있는 상태로 서비스가 가능한 상태를 말함.
    [root@localhost /]# netstat -ntlp | grep -i 23
    tcp6       0      0 :::23                   :::*                    LISTEN      1/systemd           
    
    [root@localhost /]# systemctl status firewalld
    ● firewalld.service - firewalld - dynamic firewall daemon
       Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
       Active: active (running) since Mon 2022-04-25 22:10:05 KST; 30min ago
         Docs: man:firewalld(1)
     Main PID: 840 (firewalld)
        Tasks: 2 (limit: 11376)
       Memory: 24.3M
       CGroup: /system.slice/firewalld.service
               └─840 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid
    
     4월 25 22:10:04 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
     4월 25 22:10:05 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
    ▶ telnet 서비스의 포트가 현재 LISTEN의 상태로 오픈되어 있는지 확인 후  방화벽의 데몬이 활성화되어 있는지 확인합니다.
    [root@localhost /]# firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: ens160
      sources: 
      services: cockpit dhcpv6-client ssh
      ports: 
      protocols: 
      masquerade: no
      forward-ports: 
      source-ports: 
      icmp-blocks: 
      rich rules:
    ▶ firewall-cmd --list-all의 상태 체크를 통해서 현재 services와 ports에 telnet 서비스가 방화벽에 등록되어 있지 않은 것을 확인할 수 있습니다.

    TELNET 이미지1

    ▶ 원격지에서 텔넷을 통해 접속 시도를 하기 위해 동일 대역의 192.168.111.132의 아이피를 가지고 있는 윈도우 서버 한대를 추가로 준비하도록 합니다.

    TELNET 이미지2

    ▶ 설정 -> 프로그램 및 기능을 통해서 서비스 포트 설정을 해주도록 합니다.

    TELNET 이미지3

    ▶ 텔넷 클라이언트의 항목을 체크해주도록 합니다.

    TELNET 이미지4

    ▶ 원격지의 아이피 192.168.111.100을 통해서 ping 패킷 통신은 되지만 포트 23: 연결하지 못하는 호출 메시지를 통해서 원격지 방화벽 포트를 확인해주도록 합니다.
    [root@localhost /]# firewall-config
    ▶ firewall-config 명령어를 통해서 GUI 환경서 포트를 열어주도록 합니다.

    TELNET 이미지5

    ▶ public의 항목에서 telnet 서비스를 체크해주도록 합니다. GUI 환경이 아닌 CLI 기반에서도 해당 포트를 열어 줄 수 있습니다.

    ※ 방화벽 명령어 오픈
    firewall-cmd --add-service=telnet
    firewall-cmd --permanent --add-service=telnet
    firewall-cmd --reload
    systemctl restart firewalld

    TELNET 이미지6

    ▶ Firewalld 다시 불러오기를 클릭 후 방화벽 설정 창을 닫습니다. systemctl restart firewalld 수행과 동일
    [root@localhost /]# firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: ens160
      sources: 
      services: cockpit dhcpv6-client ssh telnet
      ports: 
      protocols: 
      masquerade: no
      forward-ports: 
      source-ports: 
      icmp-blocks: 
      rich rules:
    ▶ services의 항목에 telnet 서비스가 추가가 된 것을 확인할 수 있습니다.
    [root@localhost /]# systemctl enable telnet.socket 
    Created symlink /etc/systemd/system/sockets.target.wants/telnet.socket → /usr/lib/systemd/system/telnet.socket.
    ▶ telnet 서비스 동작을 위한 소켓 활성화를 시켜주도록 합니다.

    TELNET 이미지7

    ▶ 윈도우 서버 192.168.111.132 아이피에서 리눅스 서버 192.168.111.100으로 telnet 서비스를 통해서 원격지 서버 접속이 된 것을 확인할 수 있습니다. telnet 서비스의 경우 보안상으로 현재는 많이 사용하고 있지 않지만 알아 두면 좋을 것 같습니다.

    2022.05.18 - [System of Infra/LINUX] - LINUX SSH 서버 구축 하는 방법 [원격지 서버 2편]

     

    LINUX SSH 서버 구축 하는 방법 [원격지 서버 2편]

    LINUX SSH 서버 구축하는 방법 [원격지 서버 2편] [root@localhost ~]# ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:0..

    pinetreeday.tistory.com

    2022.05.19 - [System of Infra/LINUX] - LINUX XRDP 서버 구축 하는 방법 [원격지 서버 3편]

     

    LINUX XRDP 서버 구축 하는 방법 [원격지 서버 3편]

    LINUX XRDP 서버 구축하는 방법 [원격지 서버 3편] [root@localhost /]# ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:..

    pinetreeday.tistory.com

     

    PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.

    포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.

    반응형

    댓글

Designed by Tistory.