QA@IT

CentOS6 telnetサーバー構築

6208 PV

以下にCentOS6.6でtelnetServerを
構築した手順を記載します。

自分自身にすらtelnetできません。。。
なぜでしょう?

設定に間違いがあるのでしょうか?
参考にしたサイトは、
http://futurismo.biz/archives/1339
http://easyramble.com/install-telnet-and-setup.html
http://www.sea-bird.org/pukiwiki/index.php?CentOS6%20%2F%20Telnet%A4%CE%C0%DF%C4%EA%A4%CE%B4%AC
などです。

(1)telnetクライアントインストール

[root@localhost ~]# yum -y install telnet

(2)telnetサーバーインストール

[root@localhost ~]# yum -y install telnet-server

(3)telnetを許可設定

[root@localhost ~]# vi /etc/hosts.allow
# hosts.allow This file contains access rules which are used to
in.telnetd : 192.168.1. 127.0.0.1 #192.168.223.0のネットワークと自分自身OK

(4)telnet不許可設定

[root@localhost ~]# vi /etc/hosts.deny
# hosts.deny This file contains access rules which are used to
in.telnetd : ALL #追記

(5)

vi /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE-
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure  += USERID
disable = no # ここをyesからnoに変更
}

(6)xinitdを再起動する

[root@localhost ~]# /etc/init.d/xinetd restart
xinetd を停止中: [失敗]
xinetd を起動中: [ OK ]

(7)自分自身にtelnet

[root@localhost ~]# telnet localhost
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

接続できない!!

23番ポートを解放してみる。

[root@localhost ~]# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT #追加しました。
COMMIT

iptablesを再起動

[root@localhost ~]# service iptables restart

もう一度自分自信にtelnetしてみるが接続できず!!

[root@localhost ~]# telnet localhost
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

なぜでしょう??

どなたかご教授下さい。

  • ::1に接続しようとしているみたいに見えますが、127.0.0.1に接続するとどうなりますか?
    -

回答

今のところ必要がないのであれば IPv6を無効化してみるといいと思います。

編集 履歴 (0)
  • V6無効化したらできました!! -

CentOS6.5で、ファイアウォールの設定のみGUIで行ったところうまくいっているので、その情報をお伝えします。

設定ファイルがどうなっているかを見たところ、ngyukiさんが提案しているようなiptablesであること、host.Allowとhost.denyの内容は何も変わってないことの2つが違いました。

in.telnetd : 192.168.1. 127.0.0.1 #192.168.223.0のネットワークと自分自身OK

この辺あやしいですね。

編集 履歴 (0)
  • よく見るとコメントの「192.168.223.0」と実際の「192.168.1.」がアンマッチですね -

(今までの人生で telnet サーバを自分で有効にした経験はありませんが)

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT #追加しました。
COMMIT

23 番ポートを許可する前に INPUT が REJECT されているのではないでしょうか?

下記のように順番を入れ替えてみたらどうなりますか?

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
編集 履歴 (0)
  • ngyukiさん

    アドバイス有難うございます。

    アドバイスとおり、
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT
    の順番を入れ替えてみましたが、接続できませんでした。。

    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。