2020. 5. 19. 16:51ㆍ개인 공부/리눅스 공부
- telnet 관련 패키지 설치
$apt-get -y install xinetd telnetd |
- xinetd 란?
1) 리눅스의 데몬은 크게 2가지로 구분 가능
1.1) Standalone 방식의 init 데몬, 요청에 의해 실행되는 Xinetd 네트워크 슈퍼 서비스 데몬
구 분 | XINETD 환경에서 서비스되는 데몬들 | STANDALONE으로 서비스되는 데몬들 |
의 미 | xinetd데몬에 의해 실행되고 종료됨 | xinetd와는 무관하게 독립적으로 서비스됨 |
메 모 리 상 주 |
xinetd에 의해 불려졌을 때만 메모리에 올려졌다가 서비스가 종료되면 메모리에서 제거됨. 따라서 메모리에 상주하지 않음. 주의: xinetd데몬 자체는 메모리에 상주함 |
항상 메모리에 독립적인 데몬으로 상주하고 있음. |
응답속도 | xinetd를 거쳐서 해당 서비스를 실행하기 때문에 standalone보다는 느림. | 서비스 요청이 있을 경우 바로 응답을 하기 때문에 xinetd환경의 서비스 보다는 응답속도가 빠름. |
설정파일 | 대부분 /etc/xinetd.d/서비스명 으로 설정파일이 존재함. | 해당 프로그램이 설치된 위치에 독립적인 설정파일이 존재함. (rpm으로 설치되었을 경우에는 대부분 /etc디렉토리에 존재함.) |
접근제어 | tcp_wrapper에 의해서 접근제어됨. 데몬명 : tcpd (/etc/hosts.allow, /etc/hosts.deny) |
접근제어를 자체적으로 하거나 아니면, 하지 않음. (시스템 자체의 방화벽(iptables등)과는 별도의 의미) |
장 점 | 통합관리가능, 자원절약(메모리절약등), 접근제어가능 | 빠른응답속도 |
단 점 | 응답속도가 느림 | 자원낭비(메모리상주), 개별관리 |
서비스예 | telnet, ftp, pop등 | httpd, mysql, sendmail, named, sshd등 |
적 용 | 비교적 서비스요청이 많지 않은 서비스에 적용하는 것이 효율적임. | 비교적 서비스 요청이 빈번한 서비스에 적용하는 것이 효율적임 |
기 타 | xinetd로 서비스되는 서비스를 standalone으로 변경이 가능하고, standalone으로 서비스되는 서비스를 xinetd로 변환이 가능함. (지원하지 않는 서비스들도 있음.) |
Xinetd
- Xinetd는 네트워크 관련 작업을 대신해줌, 접속 요청이 들어오면 요청을 tcpd에 넘기게 되고
tcpd는 접근 제어파일의 룰을 검토 후 요청을 처리함
- tcpd의 접근 제어파일 : ( host.allow, host.deny )
- 룰에의해 통과된 요청들은 Xinetd가 관리하는 서비스 (telnet, ssh, vnc, ftp 등..)가 실행됨
- tcpd가 호스트를 접근제어하는 방식 -> tcp_wrapper라고 함 (Xinetd에 내장되어 있음)
(tcpd는 초기 inted를 사용했었음 그러나 취약점이 많아 보안이 패치된 Xinted를 사용함)
- 설정 폴더로 이동하여 설정 파일 편집이 필요 (telnet 파일 생성할 것임)
$sudo vi /etc/xinetd.d/telnet |
- 아래 내용을 생성한 telnet 파일에 적어주고 저장 후 나옴
service telnet { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID } |
- telnet으로 접속 시 사용할 사용자 계정을 추가
$sudo adduser teltest |
- telnet 서버를 start 시킴
$sudo systemctl restart xinetd |
- telnet이 사용하는 23번 tcp와 방화벽을 열어준다
$sudo adduser teltest |
- windows에서 Ubuntu telnet Server 접속
$sudo systemctl restart xinetd |
- 호스트에 연결할 수 없습니다. 포트 23: 연결하지 못했습니다. 에러..
C:\> telnet 10.0.2.15 |
- - 다음과 같이 windows에서 cmd 창으로 telnet 통신을 시도했으나 에러가 뜸.
- - 오류 해결을 위해 아래와 같은 조취를 취함
- 네트워크 설정 (포트포워딩 설정)
2) 포트 포워딩( Port Forwarding )
- 포트 포워딩이란 특정 IP address와 Port Number를 가진 패킷을 받았을 때, 사용자가 그 패킷을 받을 프로세스를
미리 설정한 포트 번호를 통해 지정해주는 것을 의미함.
ex) 192.x.x.x 라는 IP로 패킷을 전송 -> 192.x.x.x 컴퓨터는 패킷을 받음 -> 패킷 처리를 어떤 프로세스에게 보낼지
모름 (포트 포워딩이 필요한 이유) -> 패킷을 받을 프로세스를 결정해준다.
- VirtualBox에서 Ubuntu를 우클릭해 설정에 들어가 네트워크 설정을 해줌, 고급 탭을 클릭하게 되면 포트 포워딩이
탭이 뜨게됨
- windows에서 접속하기
C:\>telnet 127.0.0.1 |
- PUTTY를 이용한 Ubuntu telnet Server 접속
C:\> telnet 10.0.2.15 |
- putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
- 푸티를 실행하면 위 사진과 같은 화면이 뜸 우리가 설정할 것은 아래와 같음
1) Host Name (or IP address)
2) Port
3) Connection type
=> ip : 127.0.0.1에 port : 23은 자기 자신의 23번 포트에 접속한다는 뜻임.
23번 포트엔 virtualbox를 통해 우분투를 등록했고, 자기 자신인 127.0.0.1로부터 패킷을 받은 컴퓨터는 23번
포트인 virtualbox의 우분투로 패킷을 보냄.
'개인 공부 > 리눅스 공부' 카테고리의 다른 글
VirtualBox 포트포워딩이란 (필요성) (0) | 2020.05.22 |
---|---|
Ubuntu16.04에 SSH 서버 구축 및 putty 접속 (0) | 2020.05.21 |