redhat7.1和以往的版本有一个明显的区别,就是用xinetd.conf代替原来的inetd.conf,并且直接使用了
firewall服务。出于系统整体安全性增强的考虑,7.1在默认安装时没有启动老版本中大家比较熟悉的ftp,
telnet等服务,并且由于ipchains的严格限制,给许多用户的配置带来了麻烦。
为了方便大家的配置和使用,我在这里将我摸索的配置过程介绍给大家。
xinetd(eXtendedInterNETservicesdaemon)对inetd功能进行了扩展,有关它的背景和其他内容在这里就
不多讲了,有兴趣的可以去www.xinetd.org或其他相关网站查询,我具体说一下如何使你的网络服务转起来。
xinetd的默认配置文件是/etc/xinetd.conf,它看起来尽管和老版本的/etc/inetd.conf完全不同,其实只是
以一个脚本的形式将inetd中每一行指定的服务扩展为一个/etc/xinetd.d/下的配置文件。其格式为:
serviceservice-name
{
Socket_type=xxx;//TCP/IPsockettype,suchasstream,dgram,raw,....
protocol=xxx;//服务使用的协议
Server=xxx;//服务daemon的完整路径
Server_args=xxx;//服务的参数
Port=xxx;//指定服务的端口号
Wait=xxx;//是否阻塞服务,即单线程或多线程
User=xxx;//服务进程的uid
Group=xxx;//gid
REUSE=xxx;//可重用标志
Disabled=yes/no;//是否禁用
......
}
我们以ftp和telnet为例,说明配置过程。
在/etc/xinetd.d目录下,编辑ftp和telnet
ftp如下:
serviceproftpd
{
disable=no
port=21
socket_type=stream
protocol=tcp
user=root
server=/usr/local/sbin/in.proftpd
wait=no
}
telnet如下:
Servicetelnetd
{
disable=no
port=23
Socket_type=stream
protocol=tcp
wait=tcp
user=root
server=/usr/sbin/in.telnetd
}
然后,重新启动服务
#/etc/rc.d/init.d/xinetdrestart或:#killall-HUPxinetd
这时候,telnetlocalhost和ftplocalhost都应该没有问题了。
但是,从局域网内的其他机器仍然可能使用不了ftp和telnet服务。原来还有一个地方需要设置,
就是ipchains,它具有firewall和路由的功能。
#vi/etc/sysconfig/ipchains,大家发现什么了?
#Firewallconfigurationwrittenbylokkit
#Manualcustomizationofthisfileisnotrecommended.
#Note:ifup-postwillpunchthecurrentnameserversthroughthe
#firewall;suchentrieswill*not*belistedhere.
:inputACCEPT
:forwardACCEPT
:outputACCEPT
-Ainput-s0/0-d0/0-ilo-jACCEPT
-Ainput-ptcp-s0/0-d0/00:1023-y-jREJECT//********
-Ainput-ptcp-s0/0-d0/02049-y-jREJECT
-Ainput-pudp-s0/0-d0/00:1023-jREJECT//********
-Ainput-pudp-s0/0-d0/02049-jREJECT
-Ainput-ptcp-s0/0-d0/06000:6009-y-jREJECT
-Ainput-ptcp-s0/0-d0/07100-y-jREJECT
没错,出于安全,ipchains把0-1023端口的入口全部封闭了。所以必须将它们打开。
将其中我加了//********标记的行中的REJECT修改为ACCEPT,
然后重新启动机器,一切OK.
其他的服务,如rlogin,talk等和上述配置基本相同,大家自己去摸索吧。不过,如果要更深入的了解,
可还要下一番工夫了。:)