服务器 频道

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

    摘要:FTP及DHCP是网络中使用非常广泛的两项服务,本文详尽介绍了在LINUX系统下的实现方法。重点对配置文件做了详细说明。

    关键词:FTP 匿名 权限 端口 DHCP 客户端 

    【IT168 专稿】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 0 0 0.0.0.0:10021 0.0.0.0:* LISTEN 562/vsftpd tcp 0 0 0.0.0.0:21 0.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.0 netmask 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.2 10.66.250.254; #客户机分配到的地址范围 } option domain-name-servers 222.175.169.91,219.146.0.130; #自动获取到的DNS服务器地址 subnet 10.75.0.0 netmask 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.100 10.75.100.254;} subnet 10.200.200.0 netmask 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.2 10.200.200.200; }
    存盘退出后,重启服务器,执行II操作。
    IV 交换机上的配置
    网络拓扑图如下:


    DHCP服务器地址为10.66.100.100,如何使不同网段的客户机获取到地址呢,还需在cisco 3550交换机上做如下设置。
3550(config)#ip dhcp relay information option 3550(config)#interface vlan 75 3550(config-if)#ip helper-address 10.66.100.100
    其它网段命令相似,在此笔者不一一列举。

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

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