Linux下FTP和TFTP服务配置

FTP和TFTP是我们经常使用的文件传输协议。在Linux中,sftp协议由于其安全性的优点,被作为默认的链接协议。但是,一些场合下,我们依然需要使用ftp和tftp协议进行文件传输。本篇主要介绍配置方法,供有需要的朋友待查。

--------------------------------------分割线 --------------------------------------

相关阅读:

Ubuntu下tftp服务搭建

TFTP服务器配置

Ubuntu Linux配置TFTP下载服务器

Ubuntu 11.10 配置tftp Server

Ubuntu 12.04 搭建TFTP服务

Ubuntu 12.04 搭建tftp服务器的安装、设置、调试

--------------------------------------分割线 --------------------------------------

1、 环境准备

我们选择Linux 2.6内核进行测试。

[root@SimpleLinuxUp ~]# uname -r

2.6.18-128.el5

当前OS运行在level 3模式下。

[root@SimpleLinuxUp ~]# grep init /etc/inittab

# inittab      This file describes how the INIT process should set up

#  0 - halt (Do NOT set initdefault to this)

#  6 - reboot (Do NOT set initdefault to this)

id:3:initdefault:

# System initialization.

si::sysinit:/etc/rc.d/rc.sysinit

默认情况下,tftp服务器包是安装上的,而FTP服务器没有安装。

[root@SimpleLinuxUp Server]# rpm -qa | grep ftp

tftp-server-0.42-3.1

ftp-0.17-35.el5

lftp-3.5.1-2.fc6

2、TFTP服务器安装配置

TFTP是一种比较特殊的文件传输协议。相对于FTP和目前经常使用的SFTP,TFTP是基于TCP/IP协议簇,用于进行简单文件传输,提供简单、低开销的传输服务。TFTP的端口设置为69。
 
相对于常见的FTP,TFTP有两个比较好的优势:

ü  TFTP基于UDP协议,如果环境中没有TCP协议,是比较合适的;

ü  TFTP执行和代码占用内存量比较小;

默认情况下,Linux内部是安装了tftp服务器包的。但是默认是不启动的。

[root@SimpleLinuxUp ~]# chkconfig --list tftp

tftp            off

启用和禁用tftp服务是通过配置文件/etc/xinetd.d/tftp,将其中参数设置。

[root@SimpleLinuxUp ~]# vi /etc/xinetd.d/tftp

# default: off

# description: The tftp server serves files using the trivial file transfer \

#      protocol.  The tftp protocol is often used to boot diskless \

#      workstations, download configuration files to network-aware printers, \

#      and to start the installation process for some operating systems.

service tftp

{

socket_type            = dgram

protocol                = udp

wait                    = yes

user                    = root

server                  = /usr/sbin/in.tftpd

server_args            = -s /tftpboot -c

disable                = no

per_source              = 11

cps                    = 100 2

flags                  = IPv4

}

配置文件中,将disable默认值从yes改为no。适当修改server_args参数,主要是其中的tftp根目录地址。

Tftp服务是不需要单独启动的,是作为xinetd服务的一个附属对象连带启动。

[root@SimpleLinuxUp ~]# service xinetd status

xinetd (pid 2194) is running...

[root@SimpleLinuxUp ~]# cd /

[root@SimpleLinuxUp /]# mkdir /tftpboot

mkdir: cannot create directory `/tftpboot': File exists

[root@SimpleLinuxUp /]# cd /tftpboot/

[root@SimpleLinuxUp tftpboot]# cd ..

[root@SimpleLinuxUp /]# chmod -R 777 /tftpboot/

由于连接使用UDP端口,我们将防火墙和SELinux配置关闭。

[root@SimpleLinuxUp /]# service iptables stop

[root@SimpleLinuxUp /]# service iptables status

Firewall is stopped.

对xinetd服务重启,连带将tftp服务启动。

[root@SimpleLinuxUp /]# service xinetd restart

Stopping xinetd: [  OK  ]

Starting xinetd: [  OK  ]

[root@SimpleLinuxUp /]# chkconfig --list tftp

tftp            on

使用netstat判断UDP端口开启。

[root@SimpleLinuxUp /]# netstat -nlp | grep udp

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3d2f791244649c9872a9d876493502fe.html