今天给各位分享ubuntu安装tftp服务器的知识,其中也会对如何安装linux的tftp服务器进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

一、为啥ubuntu要配置tftp和nfs的作用

tftp是FTP服务文件上传用的,NFS server可以看作是一个FILE SERVER,它可以让你的PC通过网络将远端得NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT看来使用NFS的远端文件就象是在使用本地文件一样。

配置tftp

方法一:(推荐方法)Ubuntu10.04测试通过

1.安装TFTP软件

sudo apt-get install tftp-hpa tftpd-hpa

tftp-hpa是客户端,tftpd-hpa是服务器端

2.建立tftpboot目录,作为服务器的目录

sudo mkdir~/tftpboot

释放权限:(服务器目录,需要设置权限为777,chomd 777)

sudo chmod 777~/tftpboot

3.配置TFTP服务器

sudo gedit/etc/default/tftpd-hpa

将原来的内容为:

#/etc/default/tftpd-hpa

TFTP_USERNAME="tftp"

#TFTP_DIRECTORY="/var/lib/tftpboot"#修改为自己需要的路径,与上面创建的目录一致

TFTP_ADDRESS="0.0.0.0:69"

#TFTP_OPTIONS="--secure"#可以通过查看mantftpd,看各种参数的意义

#修改为

TFTP_DIRECTORY="/home/shenhao/tftpboot"

TFTP_OPTIONS="-l-c-s"

3.重新启动TFTP服务

sudo service tftpd-hpa restart

4.测试下

$ cd~/tftpboot echo"hello tftp service">>a.txt

$ echo"hello tftp service,put to tftp serive">>b.txt

$ tftp localhost

tftp> get a.txt

tftp> put b.txt

tftp> quit

其中get是取得文件,put是将文件上传到TFTP服务器上。

方法二:

配置tftp服务的步骤:

1、安装相关软件包:tftpd(服务端),tftp(客户端),xid

sudo apt-get install tftpd tftp xid

2、建立配置文件(蓝色的目录是可以更改为其他的,例如/home/user/tftpboot)

ubuntu安装tftp服务器 如何安装linux的tftp服务器

在/etc/xid.d/下建立一个配置文件tftp

sudo vi tftp

在文件中输入以下内容:

service tftp

{

socket_type= dgram

protocol= udp

wait= yes

user= root

server=/usr/sbin/in.tftpd

server_args=-s/tftpboot

disable= no

per_source= 11

cps= 100 2

flags= IPv4

}

保存退出

3、建立tftp服务文件目录(上传文件与文件的位置),并且更改其权限

sudo mkdir/tftpboot

sudu chmod 777/tftpboot

4、重新启动服务

sudo/etc/init.d/xid restart

至此tftp服务已经安装完成了,下面可以对其进行一下测试。(假设在当前目录下有一个测试文件test.txt)

$tftp 192.168.16.2(本机的ip)

tftp> get test.txt

tftp> quit

$

通过get命令,可以把当前目录下的test.txt文件,通过tftp上传到它的服务文件目录。这时,在/tftpboot下面会出现test.txt文件。通过put命令,可以从/tftpboot下,test.txt文件。这样就验证了tftp服务配置的正确*。当文件上传与结束后,可以通过quit命令退出。

严格按照以上步骤配置tftp服务,一般都可以成功。如果出现无法get或者put的时候,可以查看一下防火墙是否关闭。

-----------------------------------------------------------------------------------------------------

配置nfs服务器

在ubuntu下安装、配置nfs服务的步骤如下:

1、安装nfs

Ubuntu上默认是没有安装nfs服务器的,因此我们首先安装nfs服务器端:

$sudo apt-get install nfs-kernel-server

在一些文档中,提出还需要使用apt-get来手动安装nfs的客户端nfs-mon,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kernel-server时,apt会自动为我们把它们安装好。

2、配置/etc/exports

nfs允许挂载的目录及权限在文件/etc/exports中进行了定义。

例如,我们要将根目录下的rootfs目录共享出来,那么我们需要在/etc/exports文件末尾添加如下一行:

/rootfs*(rw,sync,no_root_squash)

其中:/rootfs是要共享的目录,

*代表允许所有的网络段访问,

rw是可读写权限,sync是资料同步写入内存和硬盘,

no_root_squash是nfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。

其它nfs常用的参数有:

ro

只读访问

rw读写访问sync所有数据在请求时写入共享

async

nfs在写入数据前可以响应请求

secure

nfs通过1024以下的安全TCP/IP端口发送

insecure

nfs通过1024以上的端口发送

wdelay

如果多个用户要写入nfs目录,则归组写入(默认)

no_wdelay

如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。

hide在nfs共享目录中不共享其子目录

no_hide

共享nfs目录的子目录

subtree_check

如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)

no_subtree_check

和上面相对,不检查父目录权限

all_squash

共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

no_all_squash

保留共享文件的UID和GID(默认)

root_squash

root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squas

root用户具有根目录的完全管理访问权限

anonuid=xxx

指定nfs服务器/etc/passwd文件中匿名用户的UID

anongid=xxx

指定nfs服务器/etc/passwd文件中匿名用户的GID

3、重启服务

$sudo/etc/init.d/portmap restart

$sudo/etc/init.d/nfs-kernel-server restart

4、测试nfs

此时可以运行以下命令来显示一下共享出来的目录:

$showmount-e

或者可以使用以下命令把它挂载在本地磁盘上,例如将/rootfs挂载到/mnt下:

$sudo mount-t nfs localhost:/rootfs/mnt

可以运行df命令查看是否挂载成功。查看后可以使用以下命令卸载:

$ sudo umount/mnt

二、如何安装linux的tftp服务器

以下资料来源网上:

fedora下tftp服务器的安装与配置

总结过程如下:

1.tftp服务器、客户端tftp和守护进程xid三个包

yum install xid tftp tftp-server

//xid.i386 2:2.3.14-21.fc10

//tftp-0.49-1.fc10.i386.rpm

//tftp-server-0.49-1.fc10.i386.rpm

2.配置vi/etc/xid.d/tftp

修改server_args=-s/tftpboot-c,这里的-c一定要加上,否则只能不能上传!!!

service tftp

{

disable= no

socket_type= dgram

protocol= udp

wait= yes

user= root

server=/usr/sbin/in.tftpd

server_args=-s/tftpboot-c

per_source= 11

cps= 100 2

flags= IPv4

}

3.关闭防火墙

4.建立tftp工作目录并修改属*(不修改属*会出现error)

cd/

mkdir tftpboot

chmod 777-R/tftpboot/

5.开启服务,上传文件

######################################

我的配置过程中先后顺序和出现的问题如下:

tftp服务客户端tftp和守护进程xid

yum install xid

yum install tftp tftp-server

//xid.i386 2:2.3.14-21.fc10

//tftp-0.49-1.fc10.i386.rpm

//tftp-server-0.49-1.fc10.i386.rpm

关闭防火墙

service xid restart

Stopping xid: [ OK ]

Starting xid: [ OK ]

cd/

mkdir tftpboot

cd tftpboot

cp/etc/inittab/tftpboot/

tftp 172.18.1.90

tftp> get inittab

Transfer timed out.

tftp>quit

[root@localhost tftpboot]# stat-a|grep tftp

[root@localhost tftpboot]# ls

inittab

[root@localhost tftpboot]# touch aaa

[root@localhost tftpboot]# ls

aaa inittab

[root@localhost tftpboot]# tftp 172.18.1.90

tftp> get aaa

Transfer timed out.

tftp> quit

不知何故出现“Transfer timed out.”的错误提示,想想没有修改tftp配置文件:

[root@localhost tftpboot]# cd/etc/xid.d

[root@localhost xid.d]# vi tftp

修改保存:

disable=no

server_args=-s/tftpboot/-c

[root@localhost xid.d]# cd/

[root@localhost/]#/etc/init.d/xid restart

Stopping xid: [ OK ]

Starting xid: [ OK ]

[root@localhost/]# stat-a| grep tftp

udp 0 0*:tftp*:*

[root@localhost/]# tftp 172.18.1.90

tftp> get aaa

Error code 1: File not found

tftp> get inittab

Error code 1: File not found

tftp> quit

错误不一样了,以为需要安装tftpd服务器端,yum install tftpd没有源

但这次想起来新建/tftpboot/目录时候没有对该目录权限进行修改,就一切ok了

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

[root@localhost/]# tftp 172.18.1.90

tftp> get aaa

tftp> get inittab

tftp> q

[root@localhost/]# ls

aaa boot etc inittab lost+found mnt proc sbin srv tftpboot usr

bin dev home lib media opt root selinux sys tmp var

//根目录出现了aaa和inittab文件,成功!

再来试试上传文件:

[root@localhost/]# cd/tftpboot

[root@localhost tftpboot]# ls

aaa inittab

[root@localhost tftpboot]# rm aaa

rm: remove regular empty file `aaa'? y

[root@localhost tftpboot]# ls

inittab

[root@localhost tftpboot]# tftp 172.18.1.90

tftp> put aaa

tftp: aaa: No such file or directory

tftp> put aaa

tftp: aaa: No such file or directory

tftp> q

[root@localhost tftpboot]# cd/

[root@localhost/]# ls

aaa boot etc inittab lost+found mnt proc sbin srv tftpboot usr

bin dev home lib media opt root selinux sys tmp var

[root@localhost/]# tftp 172.18.1.90

tftp> put aaa

tftp> q

[root@localhost/]# cd/tftpboot

[root@localhost tftpboot]# ls

aaa inittab

上传成功!

上面错误原因就是tftp的执行目录要再根目录下进行,因为默认根目录为当前操作的目录

三、如何将服务器中文件夹或磁盘映射到多台个人电脑实现共享

映射网络驱动器时,每次重启电脑需要映射,让人不厌其烦,后来想到制作一个批处理文件,并设置开机启动,这样就解决了这一问题。

批处理文件命令:

J*a代码

@echooff

useZ:\\IP\shareFile"password"/user:"ftpname"

开机启动设置:

win+R跳出运行对话框;然后输入regedit调出注册表编辑器-依次展开HKEY_LOCAL_MACHINE-SOFTWARE-MICROSOFT-WINDOWS-CURRENTVERSION-RUN在右面新建一个字符串值数据设置为该批处理文件的路径!关闭就OK!!

详情如下:

1.利用批处理文件来自动映射

①首先制作自动映射网络驱动器批处理文件;

②利用Net Use命令,其基本格式如下:

NET USE

[devicename|*] [\\putername\sharename[\volume] [password|*]]

[/USER:[domainname\]username]

[/USER:[dotted domain name\]username]

[/USER:[username@dotted domain name]

[/SMARTCARD]

[/S*ECRED]

[[/DELETE]| [/PERSISTENT:{YES| NO}]]

其中,devicename是映射的盘符,自己定义,比如Z:、Y:等,如果为*,则每次创建都选择一个盘符;putername为所要映射的计算机名称,用其IP也可以;sharename为共享的文件夹;password为连接所需密码;username是连接该计算机的用户名;S*ECRED是否保存用户名和密码;PERSISTENT是否永久连接,YES或NO,示例如下:

@echo off

use z: \\Server\sharefile""/user:"guest"/persistent:no

即映射\\Server\sharefile到Z:盘,用户名为Guest,密码为空

③制作步骤如下:

首先定义一个txt文件,然后修改其扩展名为bat,比如NetMing.bat;接着编辑这个批处理文件,写入如下命令:

@echo off

use z: \\Server\sharefile""/user:"guest"/persistent:no

根据需要修改要连接的计算机名称,共享文件名,登陆用户名和密码,还有定义的盘符。

再接着有几种执行方式,最简单的方式是将这个批处理文件放在“启动”项里,用户每次注销或重启计算机都会自动映射网络驱动器,但是如果Z:映射的已经存在,则不再创建。