CentOS服务器配置系列--telnet服务器
作者:LinuxChao
这段时间在学CentOS-5.1服务器的相关配置,也会陆续发一些自己的笔记与在实验中遇到的问题及解决方法。
服务器:CentOS-5.1(192.168.1.87)
客户机:FC6(192.168.1.86) Windows XP(192.168.1.88)
虽然telnet的明文传输有很大的安全隐患,而且现在基本上也被SSH来取代了,但是为了学习还是有必要了解一下,好了,进入正题
实验名:telnet服务器配置
一、安装telnet软件包(通常要两个)。
1、 telnet-client (或 telnet),这个软件包提供的是 telnet 客户端程序;
2、是 telnet-server 软件包,这个才是真正的 Telnet server 软件包!
安装之前先检测是否这些软件包已安装,方法如下:
[root@linuxchao root]#rpm –qa |grep telnet
telnet-server-0.17-38.e15
如果没有检测到软件包,需要进行安装,CentOS服务器模式默认已安装了telnet软件包,但是服务器需要telnet-server软件包才行(安装
包在光盘内 也可在在网络上下载安装)
我的是硬盘安装的CentOS系统,所以会挂载硬盘分区之后再挂载镜像,光盘安装方法相似!
[root@linuxchao root]mount /dev/hda6 /mnt/da #da是我在/mnt下建立的目录,hda6分区为centos镜像所在
[root@linuxchao root]mount -t iso9660 -o loop /mnt/da/CentOS-5.1-i386-bin-DVD.iso /mnt/iso #iso目录也是我建的
[root@linuxchao root]cd /mnt/iso/CentOS #这个目录是rpm包所在的目录
[root@linuxchao root]rpm -ivh telnet-server-0.17-38.e15.rpm
上面就安装好telnet服务器软件包了,现在来查看一下。
[root@linuxchao root]#rpm –qa |grep telnet
telnet-0.17-38.e15
telnet-server-0.17-38.e15
二、启动telnet服务
1、开启服务
方法一:使用ntsysv,在出现的窗口之中,将 telnet 勾选起来,然后按下 OK 即可 !
方法二:编辑 /etc/xinetd.d/telnet
[root@linuxchao root]# vi /etc/xinetd.d/telnet
找到 disable = yes<==就是改这里,将 yes 改成 no 即可!服务预设是关闭的
方法三:使用chkconfig命令直接开启
[root@linuxchao root]chkconfig telnet on
2、激活服务
telnet 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的 telnet 自然
也就可以被激活。
[root@linuxchao root]# service xinetd restart
或者[root@linuxchao root]# /etc/rc.d/init.d/xinetd restart #这个是比较正规的方法
三、测试服务
[root@linuxchao root]#telnet localhost
如果配置正确,系统提示输入远程机器的用户名和密码
Login:
Password:
注:默认只允许普通用户,因此可先建立一个普通用户来做测试,不过也可以通过下面的方法来解决root访问的问题
Telnet root用户的登入
root 不能直接以 telnet 连接上主机。 telnet 不是很安全,默认的情况之下就是无法允许 root 以 telnet 登入 Linux 主机的 。若要
允许root用户登入,可用下列方法
[root@linuxchao root]# vi /etc/pam.d/login
#auth required pam_securetty.so #将这一行加上注释!
或
# mv /etc/securetty /etc/securetty.bak
这样一来, root 将可以直接进入 Linux 主机。不过,建议不要这样做。还可以在普通用户进入后,切换到root用户,拥有root的权限!
四、客户端访问实验
基础由于LINUX为了提高TELNET的安全性和防止未授权的用户利用TELNET的BUG
下面我们来看一下二种错误:
第一种:
[root@linuxchao ~]# telnet 192.168.1.87
Trying 192.168.1.87...
telnet: connect to address 192.168.1.87: No route to host
telnet: Unable to connect to remote host: No route to host
解决方法:这种问题防火墙没有允许telnet服务,连接被阻止,默认CentOS只允许SSH,所以进入其自定义选项,在telnet前打个勾!
第二种
[root@test xinetd.d]# telnet 172.25.1.3
Trying 172.25.1.3...
Connected to 172.25.1.3 (172.25.1.3).
Escape character is '^]'.
getnameinfo: localhost: Success
Temporary failure in name resolution: Illegal seek
Connection closed by foreign host.
这一个就是/etc/hosts文件配置问题
解决方法:我在里面加两个IP地址,内容如下:
[linuxchao@localhost ~]$ more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1localhost.localdomainlocalhost
::1localhost6.localdomain6localhost6
192.168.1.88
192.168.1.86
说明:因为客户机的名字不好记就没写进去,内容格式应为 127.0.0.1 pcname
总结:在使用telnet时要记得1.打开防火墙对telnet的限制2./etc/hosts对客户机的限制3.注意/etc/hosts.allow与/etc/hosts.deny两个文件
里的内容,都有可能会限制访问,这里只是局域网测试就不说多了。
五、Telnet服务限制
如果原本的默认值你并不满意,那么你可以修改成比较安全一点的机制。假设你这个 Linux 是一部主机,而且他有两块网络接口,分别是
对外的 192.168.0.1 与对内的212.45.16.5 这两个,如果你想要让对内的接口限制较松,而对外的限制较严格,你可以这样的来设定:
#vi /etc/xinetd.d/telnet
# 先针对对内的较为松散的限制来设定:
service telnet
{ disable = no <==预设就是激活 telnet 服务
bind = 212.45.16.5 <==只允许经由这个适配卡的封包进来
only_from = 212.45.16.0/24 <==只允许 210.45.160.0/24 这个网段的主机联机进来使用 telnet 的服务
.....
}
# 再针对外部的联机来进行限制
service telnet
{
disable = no<==预设就是激活 telnet 服务
bind = 192.168.0.1<==只允许经由这个适配卡的封包进来
only_from = 192.168.0.0/16<==只允许 192.168.0.0 ~ 192.168.255.255 这个网段联机进来使用 telnet 的服务
only_from = .edu.cn<==重复设定,只有教育网才能联机!
no_access = 192.168.25.{10,26}<==不许这些 PC 登入
access_times = 1:00-9:00 20:00-23:59 <==每天只有这两个时段开放服务
......
}