Ubuntu 9.10 에서 telnetd 접속을 거부합니다

안녕하세요, 이전 부터 ubuntu 8.10 은 잘 사용중인데요,
이번에 9.10 을 추가로 설치하면서 이상한 점이 생겼습니다.

telnetd 는 설치되어서 inetd 로 잘 돌고 있는데요, netstat 으로 봐도
tcp6 가 23 포트 물고 잘 돕니다.

문제는, telnet localhost 해서 접속을 시도하면 잘 되는데요
telnet 127.0.0.1 이나, 외부에서 telnet 192.168.0.38 처럼
localhost 를 제외한 방법으로 접속하려면, connection refused 가 나옵니다…

iptables 를 apt-get remove 해서 remove 도 해봤지만 결과는 같더라고요…

ssh 를 쓸 수 없는 상황이라서, telnetd 가 되어야 하는데 참 난감합니다…
왜그럴까나요…

서버 관련이고 가입 첫 질문 이신지라 [url=http://ubuntu.or.kr/viewtopic.php?p=37225:1cf5u4de]48시간 룰[/url:1cf5u4de]을 어기고 답해봅니다.

우선 설치 하신 데몬은 inetd가 아니고 xinetd 이지요? (우분투는 indetd데몬이 없습니다.) :?

/etc/xinetd.d/telnet 파일을 살펴 보십시요
전에 Telnet 답변 인데 참고… : viewtopic.php?p=20389#p20389

[quote="korean44":1cf5u4de]안녕하세요, 이전 부터 ubuntu 8.10 은 잘 사용중인데요,
이번에 9.10 을 추가로 설치하면서 이상한 점이 생겼습니다.[/quote:1cf5u4de] 추가로 설치 했다는건 새로 설치했다는건가요 아님 8.10에서 9.10으로 업그레이드 했다는 건가요?

그리고 sudo ufw status 하여 나오는 iptables 룰을 살펴 보시기 바랍니다.
UFW(우분투 방화벽) 참고 : viewtopic.php?p=34227

아 그리고 네트웍 설정도 살펴 보십시요 9.10은 네트웍 고정 IP 설정이 좀 다릅니다.
혹시 resolv.conf 가 초기화 되지는 않는지요?
참고 : viewtopic.php?f=21&t=8776

답변 감사합니다…^^

기존에 Ubuntu 8.10 을 쓰고 있었고, 추가로 9.10 을 별도의 머신에 (vmware) 올렸다는 얘기였습니다…

우선은, Ubuntu 9.10 서버버전을 설치해서인지, xinetd 가 아니고 inetd 를 사용하고 있는게 맞습니다.
init.d 에 inetutil-inetd 스크립트도 잘 있고요, inetd.conf 도 잘 설정되어있습니다.

telnet stream tcp nowait root /usr/sbin/telnetd telnetd

위와 같이 되어있고요…

netstat 으로 보면

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::23 :::* LISTEN
tcp6 0 0 :::445 :::* LISTEN
tcp6 0 0 :::139 :::* LISTEN
udp 0 0 192.168.0.38:137 0.0.0.0:*
udp 0 0 0.0.0.0:137 0.0.0.0:*
udp 0 0 192.168.0.38:138 0.0.0.0:*
udp 0 0 0.0.0.0:138 0.0.0.0:*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 3850 /var/run/samba/winbindd_privileged/pipe
unix 2 [ ACC ] STREAM LISTENING 2541 @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 3848 /tmp/.winbindd/pipe

위와 같이 23 번 포트로 리스닝 잘 하고 있는 상태입니다…

SSH 로 붙는데는 전혀 문제가 없습니다. 그런데 telnet 으로만 접속이
안됩니다… localhost 로 하면 되구요…

resolv.conf 는
domain local
search local
nameserver 61.41.153.2
nameserver 164.124.101.2

위와 같구요, IP 는
eth0 Link encap:Ethernet HWaddr 00:0c:29:90:6d:fa
inet addr:192.168.0.38 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe90:6dfa/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5860 errors:0 dropped:0 overruns:0 frame:0
TX packets:3503 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:663084 (663.0 KB) TX bytes:415615 (415.6 KB)

위와 같이 잘 올라와 있습니다…

ufw 는 아예 설치 안했고요, 확인 해봐도 ufw 는 없습니다…
iptables 도 지운 상태이고요…

정말 답답하네요… 우째 이럴수가 있는걸까요… ㅠㅠ

[quote:1lpaao5k]Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::23 :::* LISTEN
tcp6 0 0 :::445 :::* LISTEN [/quote:1lpaao5k]

잘 올라와 있지 않네요.
님이 올리신 대로 보자면 22포트는 tcp4 tcp6 다 서비스하고 있지만
23 번 445번 포트는 tcp6만 작동하게 되어 있습니다.
이미 알려진 버그([url:1lpaao5k]https://bugs.launchpad.net/ubuntu/+source/inetutils/+bug/379621[/url:1lpaao5k])로
tcp6 또는 tcp 만 설정 파일에서 설정해도 tcp4 까지 자동으로 서비스해주어야 하지만
실제로는 그렇게 작동안하는 버그입니다.

/etc/inetd.conf 파일을 편집하셔서 tcp6 또는 tcp를 tcp4 로 바꾸거나 따로 추가하신 뒤 테스트해보세요.

사실 inetutils-inetd 보다는 xinetd(x윈도우 프로그램이 아닙니다 Extened inted입니다)
가 훨씬 기능이 많고 버그도 적고 더 좋은 프로그램입니다.서버 버젼 우분투 9.10 이라해서
xinetd를 안쓴다 하셨는데 서버 버젼인가와는 별로 관계없으니 xinetd 를 설치하세요.

우분투가 똑같은 기능을 하는 두 프로그램 중 inetutils-inetd를 기본 탑재하고
xinetd를 단지 추가로 제공하고 있는 것은 xinetd와 관련된 라이선스 이슈가 있기 때문이지
서버버젼은 inetutils-inetd ,데스크탑 버젼은 xinetd , 이런 구분이 있는 것은 아닙니다. .

개인적으로 서버에 Telnet 서버 설치 해본게 오래전이라
그래서 9.10 서버 버전에서 설치 해보았습니다.

sudo apt-get install telnetd
로 텔넷 서버를 설치하니 의존성으로 [b:2uhvs401]openbsd-inet [/b:2uhvs401]패키지가 설치 되더군요
그런데 설치되며 데몬이 자동으로 시작 되지 않터군요
그래서 [b:2uhvs401][color=#4000FF:2uhvs401]sudo /etc/init.d/openbsd-inetd start [/color:2uhvs401][/b:2uhvs401]해주니 telnet 서버가 되는 군요 (물론 자동 시작으로는 데몬서비스에 등록되어 있구요. telnet 서버를 구동하는 서비스 데몬은 기본으로 openbsd-inetd 입니다. )
korean44님도 sudo /etc/init.d/openbsd-inetd start 해주거나 재부팅시부터는 될 것으로 보입니다.

reandr님 말대로 tcp6이 서비스 중인 것은 아닙니다.
서버 서비스 확인으로 nmap 사용해 보십시오 ( sudo apt-get install nmap)
[list:2uhvs401]nmap localhost
nmap 127.0.0.1
nmap 192.168.0.38 [/list:u:2uhvs401]
그리고 저 또한 [url=http://ubuntu.or.kr/viewtopic.php?p=20389#p20389:2uhvs401]xinetd 데몬을 이용한 telnet 운영을[/url:2uhvs401]해보시기 권합니다. ;)

강분도 님의 말씀대로, inetutils-inetd 의 버그가 맞는가봅니다.

reandr 님의 방식대로, telnetd 를 openbsd-inetd 와 함께 설치하여 해보니
잘 돌아갑니다.

Ubuntu 8.10 에서 돌리고 있는 inetutils-inetd 와 버전 차이가 있나봅니다.
8.10 의 경우,
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:2121 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN
tcp6 0 0 :::2401 :::* LISTEN
tcp6 0 0 :::23 :::* LISTEN
udp 0 0 192.168.0.34:137 0.0.0.0:*
udp 0 0 0.0.0.0:137 0.0.0.0:*
udp 0 0 192.168.0.34:138 0.0.0.0:*
udp 0 0 0.0.0.0:138 0.0.0.0:*

위와 같이, ipv6 쪽에 23번이 올라가 있지만 잘 서비스가 되길래,
당연히 9.10 도 되겠다 싶었는데, 이게 버그때문이지 안되었나봅니다.

도움 주신 강분도님, reandr 님 모두 감사드립니다.

좋은하루 되세요~