迷彩 潜伏 隐蔽 伪装
分类: 系统运维
2015-07-06 19:24:05
郭朋 解宝琦
Debian8.1发布后,默认已经开始使用systemd进行开机时启动各种服务和进程的管理工作,网络管理也开始使用NetrowkManager进行,但因为很多服务器软件需要照顾像FreeBSD等传统使用System V 开机管理器的系统,导致了这些服务器软件有些小问题。笔者就操作系统进行升级后,需要在Debian8.1下部署TFTP软件,碰到的问题及解决办法进行整理发布,希望对碰到该问题的管理员们以帮助。
问题:
使用apt-get
install
tftpd-hpa安装tftpd-hpa服务器,配置/etc/default/tftpd-pha文件后,每次开机启动发现tftp服务无法启动。报错日志如下:
Jul 6
08:42:17 XiAnBirdofprey systemd[1]: Failed to start LSB: HPA's tftp
server.
Jul 6
08:42:17 XiAnBirdofprey systemd[1]: Unit tftpd-hpa.service entered
failed state.
Jul 6
09:38:22 XiAnBirdofprey in.tftpd[848]: cannot resolve local IPv4 bind
address: 0.0.0.0, Name or service not known
Jul 6
09:38:22 XiAnBirdofprey tftpd-hpa[737]: Starting HPA's tftpd:
in.tftpd
Jul 6
09:38:22 XiAnBirdofprey systemd[1]: tftpd-hpa.service: control
process exited, code=exited status=66
Jul 6
09:38:22 XiAnBirdofprey systemd[1]: Failed to start LSB: HPA's tftp
server.
原因:
检查系统发现只有 /run/systemd/generator.late/目录中有tftpd-hpa.service文件。文件中
After=local-fs.target
remote-fs.target systemd-journald-dev-log.socket
network-online.target描述的大概是该服务启动需要networking来给网卡加入地址才能正常启动。而debian8.1默认情况下已经使用network-manager来进行网卡管理,tftpd-hpa服务启动是需要网卡优先启动,但因为network-manager服务启动晚于tftpd-hpa,导致tftpd-hpa启动时无法找到需要的IP地址信息,因而产生系统错误。
3、处理过程:
3.1、在/etc/network/interfaces中加入eth0的相关配置。配置实例如下:
#
This file describes the network interfaces available on your system
#
and how to activate them. For more information, see
interfaces(5).
source
/etc/network/interfaces.d/*
#
The loopback network interface
auto
lo
iface
lo inet loopback
allow-hotplug
eth0
iface
eth0 inet static
address 192.186.0.71
netmask 255.255.255.0
#gateway 192.168.0.254
3.2、修改/etc/NetworkManager/NetworkManager.conf文件,将managed=false修改为managed=true,实例如下:
[main]
plugins=ifupdown,keyfile
[ifupdown]
#managed=false
managed=true
3.3、修改/etc/default/tftpd-pha文件相关配置文件,将TFTP_ADDRESS="0.0.0.0:69"修改为TFTP_ADDRESS="192.168.0.71:69"
其中“192.168.0.71”用户需要根据自己的IP地址进行修改。配置实例如下:
#
/etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="192.168.0.71:69"
TFTP_OPTIONS="-l
-c --secure"
重启系统之后系统不再报错。并监听IP地址192.168.0.71的69tftp端口
4、检查服务状态:
使用命令netstat
-an | more命令查看将出现如下信息:
udp
0 0
10.106.57.71:69 0.0.0.0:*
至此问题解决。