扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
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爱好者有一定的启迪,正是笔者作此文的初衷。