1. 程式人生 > >centos安裝配置tftp伺服器

centos安裝配置tftp伺服器

PC機系統:Win7  虛擬機器linux系統:centosx86

1.tftp概論

TFTP(Trivial File Transfer Protocol,簡單檔案傳輸協議)是TCP/IP協議族中的一個用來在客戶機與伺服器之間進行簡單檔案傳輸的協議,提供不復雜、開銷不大的檔案傳輸服務。埠號為69。

TFTP是一個傳輸檔案的簡單協議,它基於UDP協議而實現,但是我們也不能確定有些TFTP協議是基於其它傳輸協議完成的。此協議設計的時候是進行小檔案傳輸的。因此它不具備通常的FTP的許多功能,它只能從檔案伺服器上獲得或寫入檔案,不能列出目錄,不進行認證,它傳輸8位資料。

在嵌入式開發中,tftp伺服器常用於通過PC機服務端的tftp目錄中下載檔案到開發板中,以待燒寫或執行,操作方便,並且速度也可以。

2.linux下的tftp安裝

首先確認系統上是否安裝了tftp軟體包:

[[email protected] ~]$ rpm -qa | grep tftp
tftp-server-0.49-8.el6.i686

若沒顯示安裝,則使用sudo yum install -y tftp-server進行安裝。

3.建立tftp服務主工作目錄

使用命令mkdir建立tftp的主工作目錄(這個目錄用於存放宿主機與目標機之間使用tftp時傳遞的檔案)


4.配置tftp

linux下的tftp服務是由xinetd(還有openbsd-inetd等其他服務)所設定的,預設情況下tftp是處於關閉狀態。所以要修改tftp的配置檔案,開啟tftp服務。

tftp的配置檔案在/etc/xinetd.d/tftp下:

[[email protected] ~]$ sudo vim /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
{
        disable                 = no               #新增這一項


        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /home/zzx/tftp -c       #修改這一項,這裡-stftp伺服器的根目錄,我這裡根目錄就上上面建立的tftp資料夾,-c指能建立檔案
        disable                 = yes       #可以去掉這一項,和新增的第一項重複設定了,控制tftp伺服器的關閉和啟動,預設值為“yes”,即關閉tftp伺服器,這裡修改為“no”,即開啟tftp伺服器
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

說明:修改項server_args=-s    <path>   -c,其中<path>處可以改為你的tftp-server的根目錄,引數-s指定chroot-c指定了可以建立檔案。

5.開啟xinetd服務

使用命令:sudo service xinetd restart 使上面的更改生效


使用netstat命令檢視69埠,確認tftp服務是否開啟


出現udp   0   0 0.0.0.0:69  0.0.0.0:*   3092/ 則開啟成功。

6.SeLinux策略修改

SeLinux保持開啟狀態的話,系統有可能會阻止tftp客戶端的下載,可以將它暫時關閉:

[[email protected] ~]$ sudo setenforce 0      #這裡0表示設定SeLinux為permissive模式,1代表設定SeLinux為enforcing模式

可以使用getenforce 命令檢視SeLinux狀態

[[email protected] ~]$ getenforce
Permissive

如果想徹底禁用SeLinux,修改其配置檔案將它禁用

[[email protected] ~]$ sudo vim /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disable    #此處設定為disable即可
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

7.防火牆策略修改

系統開啟了防火牆也有可能會阻止tftp客戶端的下載,我們可以在防火牆規則中使能tftp,只需要使能tftp所使用的69埠即可。

[[email protected] ~]$ sudo /sbin/iptables -I INPUT -p tcp --dport 69 -j ACCEPT

[[email protected] ~]$ sudo /sbin/iptables -I INPUT -p udp --dport 69 -j ACCEPT

[[email protected] ~]$ sudo /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

[[email protected] ~]$ sudo /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT

[[email protected] ~]$ sudo /sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT

儲存

[[email protected] ~]$ sudo /etc/rc.d/init.d/iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables: [  OK  ]

重啟防火牆

[[email protected] ~]$ sudo service iptables restart
iptables:將鏈設定為政策 ACCEPT:filter [確定]
iptables:清除防火牆規則:[確定]
iptables:正在解除安裝模組:[確定]
iptables:應用防火牆規則:[確定]

檢視防火牆狀態

[[email protected] ~]$ sudo service iptables status

如果希望在系統啟動時防火牆不啟動,我們可以用ntsysv關閉防火牆服務,同時還可 以設定tftp服務在系統啟動時就開啟

[[email protected] ~]$ sudo ntsysv

  [ ] ip6tables             

  [ ] iptables

  [*] tftp   

  [*] xinetd

#使用空格鍵進行選中或取消

8.本機測試tftp伺服器功能

首先,在你之前設定的tftp根目錄下建立一個檔案,我自己的是在/home/zzx/tftp/下用vim tt.c建立檔案並寫入“hello,zzx! ”使用ifconfig檢視本機ip地址


通過命令tftp 192.168.127.128進入tftp命令模式,輸入help命令,檢視tftp支援的命令,通過命令get tt.c 就可以將/home/zzx/tftp下的tt.c檔案下載到當前目錄下(我當前在/home/zzx/目錄下),用ls命令檢視當前目錄下是否存在tt.c,用cat tt.c檢視tt.c的內容



OK!

遇到的問題:

1.沒有tftp命令!



解決:安裝的是tftp server包 ,但是沒有安裝tftp命令包

使用命令sudo yum install -y tftp安裝

安裝後如下有了


注意:是tftp和tftp server的版本要是一樣的!

2.使用tftp獲取超時


解決:原來是我自己之前的SeLinux未配置好,上面的是正確配置。


相關推薦

centos安裝配置tftp伺服器

PC機系統:Win7  虛擬機器linux系統:centosx86 1.tftp概論 TFTP(Trivial File Transfer Protocol,簡單檔案傳輸協議)是TCP/IP協議族中的一個用來在客戶機與伺服器之間進行簡單檔案傳輸的協議,提供不復雜、開銷不

CentOS 6.3安裝配置LAMP伺服器 (Apache+PHP5+MySQL)

準備篇: 1、配置防火牆,開啟80埠、3306埠 vi /etc/sysconfig/iptables -A INPUT -mstate --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允許80埠通過防火牆 -A INPUT -m state --st

CentOS 6.8安裝配置samba伺服器

1、關閉防火牆 # service iptables status //檢視防火牆的狀態 # service iptables stop //停止防火牆 # chkconfig iptables off //永久關閉防火牆 2、關閉SELINUX # sestatu

CentOS-Minimal 配置安裝配置vsftpd伺服器及搭建Oracle伺服器

配置CentOS-Minimal網路 使用命令 [ls] 列出網路配置資料夾 [[email protected] ~]# ls /etc/sysconfig/network-scripts 使用命令 [vi] 文字編

centos安裝配置vncserver,遠端登入伺服器或者虛擬機器

環境:centos6.0 kvm虛擬化環境 一、伺服器端 1 yum install vnc*              //安裝的是tightvnc 2 vi /etc/sysconfig/vncservers   修改成    VNCSERVERS="1:root"

CentOS 6.5安裝配置NFS伺服器

OS:centos 6.5 服務端:10.1.11.201 客戶端:10.1.11.202 10.1.11.203 10.1.11.204 1.服務端的配置 安裝必須的yum包: yum -y install nfs-utils rpcbind 建立共享目錄: mkdir /Udis

CentOS 7.4 安裝配置Samba伺服器

[[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)[[email protected] ~]# yum -y install samba

阿里雲伺服器CentOS(64位)安裝配置LAMP伺服器(Linux+Apache+PHP5+MySQL)

一 、使用 yum install httpd 命令安裝apache //博主使用的是阿里雲centos伺服器,所以採用yum命令安裝,ubuntu下的使用sudo apt-get install

CentOS安裝配置MySql數據庫

ima 16px 必須 eas 方式 temp grep 5.7 leg CentOS版本7.2,MySql版本5.7 1、下載MySql安裝源 wget https://dev.mysql.com/get/mysql57-community-release-el

Centos 安裝配置sublime

centos 安裝 閃爍 yum 磁盤 分享 cnblogs 目標 刪除 區別 Sublime 是linux下不錯的編輯器. http://www.sublimetext.com/ 1. 聯網安裝sublime 包 #sudo yum install sublime-tex

centos 安裝配置pptp實現vpn

centos l2tp vpn centos 安裝配置pptp實現vpn 1 前言PPTP(Point to Point Tunneling Protocol),即點對點隧道協議。該協議是在PPP協議的基礎上開發的一種新的增強型安全協議,支持多協議虛擬專用網(VPN),可以通過密碼驗證協

Centos安裝配置redis

bar master 發現 ping 裝配 成功 style not mst 1.安裝rediscd wget http://labfile.oss.aliyuncs.com/files0422/redis-2.8.9.tar.gz tar xvfz redis-2.8.

Linux CentOS安裝配置MySQL5.7數據庫

-s var vim rar linux c system comm p地址 dev 安裝mysql數據庫   a)下載mysql源安裝包:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarc

centos 安裝配置python虛擬環境、pip

con extras led 安裝 ble upgrading 工具 rom The centos 安裝配置python虛擬環境、pip 1.安裝pip包安裝工具# 系統默認源沒有pip安裝包[root@localhost python]# yum install pyth

Centos配置 Apache 伺服器

1、修改yum安裝源為阿里安裝源 ①複製原有的原始檔 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bakup ②通過wget獲取阿里雲的原始檔 wget -O /etc/yum

Linux CentOS安裝配置OpenVPN 2.4.0最新版教程

Linux CentOS安裝配置OpenVPN 2.4.0最新版教程 2016.12.27 官方釋出了OpenVPN 2.4.0版本,相比之前的版本變化不大,新版引入了一個更快的資料壓縮演算法叫 lz4(舊版用的是 lzo),新版不再支援W

CentOS安裝配置MySQL8.0

前言 這裡記錄下在CentOS 上,安裝配置MySQL的步驟; 正文 下載yum源的安裝包 yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm 安裝

Linux CentOS安裝配置MySQL資料庫

安裝mysql資料庫   a)下載mysql源安裝包:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm   b)安裝mysql源:yum localinstall mysql5

CentOS 安裝HTTP代理伺服器Tinyproxy

Tinyproxy是一個小型的基於GPL的HTTP/SSL代理程式,非常適合小型網路而且便於快速部署。這個代理程式最大的優點就是佔用系統資源比較少。這裡使用的系統為CentOS5.6,可以直接yum方式安裝。 安裝Tinyproxy yum install tinyprox

CentOS 7 配置DHCP伺服器

一、DHCP介紹   DHCP 動態主機管理協議(Dynamic Host Configuration Protocol) 是一種基於UDP協議且僅限於區域網的網路協議,主要用途是為區域網內部裝置或網路供應商自動分配IP地址,通常會應用在大型的區域網記憶體在比較多的移動辦公裝置,DHCP協議能夠實現集中的管理