科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>服务器频道>ZD评测>Linux系统下FTP及DHCP服务的实现

Linux系统下FTP及DHCP服务的实现

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

FTP及DHCP是网络中使用非常广泛的两项服务,本文详尽介绍了在LINUX系统下的实现方法。安装完成后,系统会在/etc目录下自动生成dhcpd.conf文件,使用vi编辑器修改该文件内容,笔者所修改的内容如下。

来源:IT168 2008年03月24日

关键字:Linux ftp DHCP 服务器 Windows 安全性

  Linux系统相对于windows是比较安全的,系统漏洞较少,针对该系统的病毒也较少,外部不易攻击。所以用linux系统做各种网络服务是非常理想的。本文仅就ftp及dhcp服务做一下详细论述。

  系统:Redflag linux 4.1

  FTP服务的实现

  首先下载ftp服务软件包vsftpd-1.1.3-8.i386.rpm,安装该软件包。命令如下:

  [root@localhost lxjun]# rpm -ivh vsftpd-1.1.3-8.i386.rpm。安装完成后,在/etc/vsftpd目录下自动生成vsftpd.conf文件。启动ntsysv,会在服务列表中出现vsftpd项。选中该项,重启服务器。

  笔者设置的vsftpd.conf配置文件内容如下:

  anonymous_enable=YES

  local_enable=YES

  write_enable=YES

  local_umask=022

  anon_upload_enable=no

  anon_mkdir_write_enable=no

  dirmessage_enable=YES

  xferlog_enable=YES

  connect_from_port_20=YES

  xferlog_file=/var/log/vsftpd.log

  ascii_upload_enable=YES

  ascii_download_enable=YES

  pam_service_name=vsftpd

  userlist_enable=YES

  listen=YES

  tcp_wrappers=YES

  配置完毕后即可实现基本的FTP服务了。现就几个问题做以下说明。

  问题1:无法下载/var/ftp/pub下的文件,ftp客户端显示”文件无法被服务器打开!”。

  解决方法:查看目录下其它可以下载的文件属性,为644,而该文件属性为600,将该文件属性改为644即可。执行以下命令

  [root@localhost pub]# chmod 644 vsftpd.conf

  或[root@localhost pub]# chmod go+r vsftpd.conf

  即所有用户对该文件都享有读权限。重新下载正常。

  问题2:如何实现匿名用户的上传?

  大部分的FTP服务器是不允许匿名用户上传的,为了服务器的安全性,这当然可以理解。但从技术上来说,匿名是可以实现上传功能的。现说明如下:

  在vsftpd.conf文件中增加如下命令行:

  anon_upload_enable=yes

  anon_mkdir_write_enable=yes

  anon_world_readable_only=no

  anon_other_write_enable=yes

  即对匿名用户开放最大权限。

  I、 创建匿名用户的上传目录

  [root@localhost ftp]# mkdir incoming

  II、 修改上传目录的权限

  [root@localhost ftp]# chmod o+w incoming

  III、 REBOOT服务器

  注:匿名用户的上传最好单独设置一个目录,不要把文件上传至/var/ftp/pub目录中,这样会给文件管理带来很大的方便。做法就是不要给/var/ftp/pub目录赋予”o+w”权限。

  问题3:能否用其他端口代替FTP的默认端口提供服务呢?

  FTP服务默认的端口号为21,为了减少外部攻击,可以为该服务提供一个不常用的端口号,以10021端口为例。方法如下:

  在/etc/vsftpd/vsftpd.conf中增加语句:

  listen_port=10021

  这样就可以通过服务器的port 10021提供FTP服务了。

  关闭port 21

  使用命令查看FTP使用的端口号,如下:

  [root@localhost vsftpd]# netstat -anp |grep 21

  tcp 000.0.0.0:100210.0.0.0:*LISTEN 562/vsftpd

  tcp 000.0.0.0:210.0.0.0:*LISTEN 549/xinetd

  可以看出port 10021和port 21都处于监听状态,关闭port 21。

  [root@localhost vsftpd]# kill -9 549(PID)

  这样FTP客户端只能以port 10021端口登录了。一些非法用户就无法通过猜测端口进行强制登录了。增强了系统的安全性。

DHCP服务的实现

  Dhcp服务可以使主机动态分配到服务器分配的IP地址,这样可以避免局域网内部的地址冲突问题。Linux下实现dhcp的方法如下:

  I、 安装dhcp软件包

  下载dhcp安装包dhcp-3.0.1-12_EL.2AX.i386.rpm,执行安装命令

  [root@localhost incoming]# rpm -ivh dhcp-3.0.1-12_EL.2AX.i386.rpm

  安装完成后,执行ntsysv命令,会在服务列表中出现dhcpd项,选中该项,重启服务器。

  II、 查看服务是否运行

  执行如下命令,[root@localhost incoming]# ps -ef |grep dhcpd,若查询结果中出现dhcpd项,则说明该进程已运行。

  III、 修改配置文件

  安装完成后,系统会在/etc目录下自动生成dhcpd.conf文件,使用vi编辑器修改该文件内容,笔者所修改的内容如下:

  ddns-update-style ad-hoc;

  default-lease-time 600;

  max-lease-time 7200;

  subnet 10.66.0.0netmask 255.255.0.0{ #10.66网段的设置

  option subnet-mask 255.255.0.0;

  option broadcast-address 10.66.255.255;

  option routers 10.66.0.1;

  range 10.66.250.210.66.250.254;#客户机分配到的地址范围

  }

  option domain-name-servers 222.175.169.91,219.146.0.130;#自动获取到的DNS服务器地址

  subnet 10.75.0.0netmask 255.255.0.0{ #10.75网段的设置

  option subnet-mask 255.255.0.0;

  option broadcast-address 10.75.255.255;

  option routers 10.75.0.1;

  range 10.75.0.10010.75.100.254;}

  subnet 10.200.200.0netmask 255.255.255.0{ #10.200.200网段的设置

  option subnet-mask 255.255.255.0;

  option broadcast-address 10.200.200.255;

  option routers 10.200.200.1;

  range 10.200.200.210.200.200.200;

  }

  存盘退出后,重启服务器,执行II操作。

  IV 交换机上的配置

  网络拓扑图如下:

  DHCP服务器地址为10.66.100.100,如何使不同网段的客户机获取到地址呢,还需在cisco 3550交换机上做如下设置。

  3550(config)#ip dhcp relay information option

  3550(config)#interfacevlan 75

  3550(config-if)#ip helper-address 10.66.100.100

  其它网段命令相似,在此笔者不一一列举。

  V 客户端测试

  在客户端TCP/IP属性中设置为“自动获取”,看系统能否获取到相应网段的IP地址和DNS服务器地址,如若成功,则说明DHCP服务器配置成功。

  结束语:linux系统下的两项服务已配置成功,这是本文作者经过实践所得出的理论总结。若能对广大linux爱好者有一定的启迪,正是笔者作此文的初衷。

邮件订阅

如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅ZDNet技术邮件将是您的最佳途径之一。