一起学习网 一起学习网

Linux xinetd下载详解 (linux xinetd 下载)

Linux系统是世界上最为流行的开源操作系统之一,因其稳定性、安全性和易扩展性,被广泛应用于各种计算机系统中。而xinetd则是Linux系统下非常常用和重要的一个服务应用,本文将从以下几个方面展开,详细解析Linux xinetd下载和使用的具体操作。

一、什么是xinetd

1.1 xinetd的定义

xinetd是一个功能强大的高级网络服务守护进程(daemon),最初由几位Linux系统管理员开发并广泛应用于Linux系统上,他能够管理系统中各种服务的启动、运行和关闭,并能够对这些服务的执行进行精细的控制。是Linux系统网络通讯中的一个基础设施,它负责为其他服务提供一个可靠、可检测、可控制的监管环境。

1.2 xinetd的作用和优势

(1)在系统资源占用方面,xinetd相对常规系统管理进程系统更加安全并且稳定。

(2)xinetd可以运行各种不同的服务(如telnet、ftp、tp),可以为每个服务提供一个独立的端口,这些端口号是在xinetd的配置文件中进行配置的,方便管理和维护。

(3)xinetd可以在服务的执行过程中对其进行各种细微的控制,控制项主要包括超时时间、运行程序限制、真实用户限制等。这些控制项确保了服务的可靠性和安全性。

二、xinetd的下载和安装

为了方便Linux系统的用户使用xinetd,xinetd已经被集成到了多个Linux的发行版中了,因此可以通过发行版自带的安装程序进行安装。以下是两种安装方法:

2.1 通过linux命令安装xinetd

登录到Linux系统后,在命令行中输入如下命令安装xinetd:

sudo apt-get install xinetd

安装后,xinetd会自动启动并运行。

2.2 编译安装xinetd

此方法适用于没有包管理器的系统,操作如下:

(1)下载xinetd源码包

从官网(http://www.xinetd.org/)下载xinetd的源码包。

(2)解压源码包

执行如下命令:

tar -zxvf xinetd-2.3.14.tar.gz

(3)编译和安装

解压后,进入解压缩后的xinetd目录,执行如下命令:

./configure

make

make install

执行完以上命令后,xinetd将安装到系统中。

三、如何使用xinetd

了解xinetd后,接下来让我们看看如何使用它。

3.1 编辑xinetd的配置文件/etc/xinetd.conf

该文件是xinetd的主要配置文件。全局的启动参数和全局的取消行为可以在xinetd.conf中设置。在这里,可以定义每一个服务的运行配置。

更改xinetd.conf文件需要root用户权限,因此编辑器要打开。

实例:

vi /etc/xinetd.conf

若需要打开某个虚拟主机进程,则在配置文件中加入以下指令:

service myftp

{

disable = no

flags = REUSE

socket_type = stream

wt = no

user = proftp

server = /usr/in/proftpd

server_args = -c /etc/proftpd/proftpd.conf

instances = 30

log_on_flure += USERID

}

3.2 配置服务

服务提供程序的配置文件由xinetd服务管理器来执行,这些配置文件的名称位置默认保存在/etc/xinetd.d/目录下。在该目录下,有一个服务需要一个相应的配置文件,文件名必须匹配服务名。如果在xinetd.conf中没有匹配服务名,则使用的是/etc/services中存储的服务名。

例如,FTP在xinetd.d中定义的配置文件名为/etc/xinetd.d/wu-ftpd:

vi /etc/xinetd.d/wu-ftpd

3.3 重启xinetd服务

重启xinetd服务也是需要root用户权限的:

/etc/init.d/xinetd restart

四、xinetd的配置实例

以FTP作为例子,下面演示如何以xinetd守护进程的形式启动一个FTP服务器:

4.1 启动FTP

确认你安装了FTP服务器软件。Ubuntu中,安装FTP服务器软件指令为:

sudo apt-get install vsftpd

4.2 修改vsftpd.conf文件

在vsftpd.conf配置文件中添加以下行:

listen=YES

tcp_wrappers=YES

4.3 编辑xinetd.conf

在xinetd.conf配置文件中加入以下行:

service ftp

{

disable = no

flags = REUSE

socket_type = stream

wt = no

user = root

server = /usr/in/vsftpd

log_on_success += PID USERID

log_on_flure += USERID

nice = 10

}

4.4 重启xinetd服务

使用以下命令重启xinetd服务:

sudo service xinetd restart

然后就可以通过ftp客户端连接到FTP服务器了。

本文从xinetd的定义、作用、优势,到如何下载和安装以及如何使用xinetd实现FTP服务,最后通过实例演示了FTP服务器的启动。掌握了本文所有内容,你就可以自己编写xinetd服务并将其部署到你的Linux服务器上了。

相关问题拓展阅读:

  • 远程安装Linux操作系统的方法

远程安装Linux操作系统的方法

远程安装Linux操作系统的方法

  Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。下面是我收集的关于远程安装Linux操作系统的方法,希望大家认真阅读!

  一、引言

  一般情况下,我们都是利用软驱或光驱引导Linux后,再通过本地的光驱安装Linux。但是,这种安装方法在以下的几种情况下就不能适用:

  无软驱和光驱:很多公司为了节省成本,计算机一般都不带光驱或软驱,这样就无法通过本地安装Linux;

  非标准的软驱和光驱:虽然笔记本都会配置光驱,但是并不一定都是标准的IDE设备,有些是通过USB接口,有丛唤些是通过1394接口(例如Samsung的Q10)。在Linux安装时所引导的Linux内核一般都不会带这些接口的驱动,所以也无法通过本地安装Linux;

  另外,在一些场合,如机房中,有大量的计算机需要同时安装Linux,如果通过光驱的方式一个个安装,不仅效率低,也不利于维护。

  笔者在工作过程中,就遇到过第二种情况。一台Samsung的Q10笔记本需要安装Redhat Linux 8.0,但是通过光驱引导后发现,安装程序无法访问光盘。针对这个问题,笔者经过查阅资料和摸索,找到了在Q10上安装Linux的方法。在下面的讨论中,如不做特别声明,都将以Q10为例,介绍如何通过PXE Bootrom来远程安装Linux。

  二、档郑侍基本原理

) 什么是PXE

  PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

  PXE协议的成功运行需要解决以下两个问题:

  既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置;

  通过什么协议下载Linux内核和根文件系统

  对于之一个问题,可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。

  至于第二个问题,在PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。

  这样,PXE协议运行的条件就具备了,下面我们就来看看PXE协议的工作过程。

  在上图中,PXE client是需要安装Linux的计算机,TFTP Server和DHCP Server运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核以及Linux根文件系统都放置在Linux Server上TFTP服务器的根目录行吵下。

  PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。

  三、步骤

  有了前面的背景知识,接下来就可以正式操作了,下面按照顺序给出了操作步骤:

) 配置DHCP Server

  选用ISC dhcp-3.0,DHCP Server的配置文件是/etc/dhcpd.conf,配置文件的内容如下:

  option space PXE;

  option PXE.mtftp-ip code 1 = ip-address;

  option PXE.mtftp-cport code 2 = unsigned integer 16;

  option PXE.mtftp-sport code 3 = unsigned integer 16;

  option PXE.mtftp-tmout code 4 = unsigned integer 8;

  option PXE.mtftp-delay code 5 = unsigned integer 8;

  option PXE.discovery-control code 6 = unsigned integer 8;

  option PXE.discovery-mcast-addr code 7 = ip-address;

  class “pxeclients” {

  match if substring (option vendor-class-identifier, 0, 9) = “PXEClient”;

  option vendor-class-identifier “PXEClient”;

  vendor-option-space PXE;

  # At least one of the vendor-specific PXE options must be set in

  # order for the client boot ROMs to realize that we are a PXE-compliant

  # server. We set the MCAST IP address to 0.0.0.0 to tell the boot ROM

  # that we can’t provide multicast TFTP (address 0.0.0.0 means no

  # address).

  option PXE.mtftp-ip 0.0.0.0;

  # This is the name of the file the boot ROMs should download.

  filename “pxelinux.0”;

  # This is the name of the server they should get it from.

  next-server 192.168.0.1;

  }

  ddns-update-style interim;

  ignore client-updates;

  default-lease-time 1200;

  max-lease-time 9200;

  option subnet-mask 255.255.255.0;

  option broadcast-address 192.168.0.255;

  option routers 192.168.0.254;

  option domain-name-servers 192.168.0.1,192.168.0.2;

  option domain-name “mydomain.org”;

  subnet 192.168.0.0 netmask 255.255.255.0 {

  range 192.168.0.10 192.168.0.100;

  }

  host q10 {

  hardware ethernet 00:00:F0:6B:38:5B;

  fixed-address 192.168.0.22;

  }

  dhcpd.conf配置文件中几个关键部分说明如下:host q10{…}定义了笔记本Q10网卡的MAC地址与IP地址的’对应关系,表明DHCP Server为Q10分配一个固定的IP:192.168.0.22;filename “”指定bootstrap的文件名;netx-server指定TFTP Server的地址。其它的配置请读者参考DHCP Server的手册。

) 配置TFTP server

  选用tftp-hpa,TFTP Server的配置文件是/etc/xinetd.d/tftp,配置文件的内容如下:

  service tftp

  {

  socket_type = dgram

  protocol = udp

  wait = yes

  user = root

  server = /usr/in/in.tftpd

  server_args = -u nobody -s /tftpboot

  disable = no

  per_source = 11

  cps = 100 2

  }

  这里制定了/tftpboot为TFTP Server的根目录位置。

) 配置bootstrap

  bootstrap文件在dhcpd.conf中被指定为pxelinux.0文件,放置在/tftpboot。Linux内核以及Linux根文件系统也放置在/tftpboot。pxelinux.0在执行过程中,要读配置文件,所有的配置文件都放在/tftpboot/pxelinux.cfg/目录下。由于PXElinux具有为不同的PXE Client提供不同的Linux内核以及根文件系统的功能,所以要通过不同的配置文件名来区分出不同的PXE Client的需求。比如一个PXE Client由DHCP Server分配的IP地址为192.168.0.22,那么相对应的配置文件名为/tftpboot/pxelinux.cfg/C0A80016(注:C0A80016为IP地址192.168.0.22的十六进制表示)。如果找不到,就按照顺序C0A80016-> C0A8001-> C0A800-> C0A80-> C0A8-> C0A-> C0-> C->default查找配置文件。

  /tftpboot/pxelinux.cft/C0A80001配置文件的具体内容如下:

  DEFAULT install

  PROMPT 1

  LABEL install

  KERNEL vmlinuz

  APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384

  此配置文件指定了Linux内核以及根文件系统的名称,并给内核传递了一些参数,其中ramdisk_size参数要非常注意,它指定Linux内核启动后建立ramdisk的大小,如果设置太小,Linux的安装过程就可能无法进行。

) 制作Linux内核/根文件系统

  因为需要通过网络安装,所有选择Redhat Linux 8.0安装盘(disk #1)中E:\images\bootnet.img(光驱的盘符为E:)。bootnet.img包括Linux内核、Linux根文件系统(有安装程序在内)。用bootnet.img制作一张引导软盘,方法在DOS命令行运行E:\dosutils\rawrite E:\images\bootnet.img,根据提示制作。制作完毕后,将引导软盘中的vmlinuz(Linux内核)和initrd.img(Linux根文件系统)拷贝到Linux Server的/tftpboot下。

) 启动DHCP Server/TFTP Server

  在Linux Server上,运行service dhcpd start和service xinetd restart。

) 启动Q10

  Q10加电后,在出现Samsung公司徽标时,在左下角会提示用户按F12进入网络引导。按F12后,Q10进入网络引导过程。首先通过DHCP Server获得了IP地址,然后下载并执行bootstrap文件pxelinux.0;在执行中,读入配置文件/tftpboot/pxelinux.cfg/C0A80016。此时屏幕上出现boot:,敲入install,就进入了Redhat Linux 8.0的网络安装界面,一切OK!

  四、结束语

  虽然以上的讨论是针对Samsung Q10笔记本,但是工作原理和安装方法对于其它类型的计算机也是适用的,不过要记住,计算机的网卡中必须要有BootROM–PXE Client。同时,PXE协议也可作为无盘Linux技术,用于引导放置在远程的Linux。实际上,只要根据需要,在Pxelinux的配置文件的APPEND选项中,为Linux内核传进需要mount的文件系统的位置参数即可。

;

linux xinetd 下载的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux xinetd 下载,Linux xinetd下载详解,远程安装Linux操作系统的方法的信息别忘了在本站进行查找喔。