当前位置: > Linux服务器 > ftp >

Linux下让tftp忽略大小写

时间:2014-10-30 18:09来源:linux.it.net.cn 作者:it

由于需要实现pxe启动winpe,而在windows下实现没出什么问题,可是在Linux服务端上就有问题了,原因是启动所需的文件大小写不一致,导致linux服务端无法提供正确的文件而无法启动pe,下面我们来进行以下操作,让Linux下的tftp忽略大小写:

首先,创建规则文件,来让所有tftp的文件请求中的所有字符都变成小写创建如下文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

					
#cat /tftpboot/rules
ri ^[a-z]: # Remove “drive letters”
rg \\ / # Convert backslashes to slashes
rg \# @ # Convert hash marks to @ signs
rg /../ /..no../ # Convert /../ to /..no../
rg A a
rg B b
rg C c
rg D d
rg E e
rg F f
rg G g
rg H h
rg I i
rg J j
rg K k
rg L l
rg M m
rg N n
rg O o
rg P p
rg Q q
rg R r
rg S s
rg T t
rg U u
rg V v
rg W w
rg X x
rg Y y
rg Z z
r ^/(.*) \1
再输入:wq保存退出,然后修改tftp配置文件

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14

					
#cat /etc/xinetd.d/tftp    
service tftp      
{      
        disable = no      
        socket_type             = dgram      
        protocol                = udp      
        wait                    = yes      
        user                    = root      
        server                  = /usr/sbin/in.tftpd      
        server_args             = -m /tftpboot/rules -s /tftpboot      
        per_source              = 11      
        cps                     = 100 2      
        flags                   = IPv4      
}
注:实际上就是在server_args里增加“ -m /tftpboot/rules”这个参数

 

好啦,这个时候重新启动xinetd服务即可

#/etc/init.d/xinetd restart

最后把所有文件都改成小写,就可以完全使用Linux服务端用于网络启动pe了

 
(责任编辑:IT)
------分隔线----------------------------