且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

39.搭建Linux基础服务dhcp、samba、ftp、dns

更新时间:2022-09-10 22:42:14

LInux搭建各种服务器教程!

 

DHCP服务器:

设置永久网络配置文件路径:/etc/sysconfig/network-scripts/ifcfg-eth0

设置网卡显示配置文件路径:/etc/udev/rules.d/70-persistent-net.rules

防火墙配置文件路径:/etc/sysconfig/selinux

DHCP服务的进程名:dhcpd

搭建步骤:

 设置好网络,关闭防火墙功能以及防火墙服务。

 安装dhcpd软件包。

 复制模版文件/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample/etc/dhcp/dhcpd.conf

 配置dhcpd.conf文件作用域参数,然后保存。

 重新载入服务service dhcpd reload

注意:

 作用域参数必须有属于服务器网段的作用域,不然服务无法正常启动。

 无法获取到地址检查网络连通性,主机地址配置参数必须完整。

 服务无法正常启动检查配置文件的完整性,一个空格一个符号不对都会出现问题,出现无法结局问题我们只能重新复制模版文件的参数。

 

 

Samba服务器:共享文件服务器

Samba服务的进程名:samdnmbd

Samba服务配置文件路径:/etc/samba/smb.conf

Samba共享用户的账户数据库文件路径:/var/lib/samba/private/passdb.tdb

Samba共享帐号的映射文件位于/etc/samba/smbusers

搭建步骤:

 设置好网络,关闭防火墙功能以及防火墙服务。

 安装Samba软件包。它有三个包一个公共包,一个服务端包,一个客户端包。

 配置文件smb.conf参数。

 重新载入服务service dhcpd reload

创建共享用户:该服务拥有独立的用户数据库,但是创建共享用户的前提是必须有相同账户的系统用户。命令:pdbedit -a -u ren 意思:将系统用户ren加入到共享用户中。

共享帐号映射创建步骤:

 编辑帐号映射文件smabusers

 主配置文件smb.conf添加全局参数username map = /etc/samba/smbusers

 重新载入服务service dhcpd reload

使用客户端访问共享文件夹:smbclient -U ren //192.168.1.1/pub

为了长期访问此共享文件夹可以将此网络路径挂载在一个指定的目录:

编辑/etc/fstab文件设置对应参数,这里使用的系统文件类型是:smbfs

mount -o username=renpasswoed=123 //192.168.1.1/pub   /mnt

 

smb.conf文件常见的参数

配置項

说明

workgroup

设置服务器所在的工作组名称,一般保持默认就好

Server string

设置服务器的说明文字,用于描述文件服务器

 

Security

 

设置成user代表使用共享用户名和密码登录,设置成share可以匿名访问,设置成server代表验证用户名和密码的工作交给另外一台服务器,设置成domain代表验证用户名和密码的工作由域控完成

Log life

设置服务器的日志文件,默认在/var/log/samba/log.%m文件中

Passwd backend

设置共享账户的类型,默认使用TDB数据库文件,保持默认就好

Conmment

设置对应共享目录的注释参数

Path

设置共享目录的路径

Browseable

设置该共享目录在网上邻居中是否可见,no为隐藏共享目录

Guest ok

设置该共享目录是否可以被所有人访问,跟public参数用法相同

Writable

设置该共享目录是否可写

Valid users

设置只允许该用户访问此目录

Writable list

设置只允许该用户可写

Read only

设置该共享目录可读

注意:搭建匿名访问和用户访问同时使用,在全局参数中加入map to guest = bad user参数, Security参数设置为user那么使用用户访问的只需添加参数Valid users指定谁访问。匿名访问没有此指定即可。

 

FTP文件传输服务

FTP服务的进程名:vsftpd

FTP服务的配置文件路径:/etc/vsftpd/vsftpd.conf

FTP服务的用户列表文件路径:/etc/vsftpd/ftpusers, /etc/vsftpd/user_list

FTP服务默认的PAM认证文件路径:/etc/pam.d/vsftpd

搭建步骤:

 设置好网络,关闭防火墙功能以及防火墙服务。

 安装FTP软件包。vaftpd为服务端包,ftp为客户端包。

 配置文件vsftpd.conf参数。

 重新载入服务service dhcpd reload

  帐号映射创建步骤:

 创建文本格式的用户名,密码列表:vim /etc/vsftpd/ren.list(文件规则:奇数行为用户名,偶数行为密码)。

 将列表转换成DB数据库文件:db_load  -T  -t  hash  -f  ren.list  ren.db

 创建需要映射的系统帐号:useradd  -d  /var/ftproot  -s  /sbin/nologin  ren

 更改家目录权限可读可执行:chmod  755  /var/ftproot

 建立PAM认证文件:vim   /etc/pam.d/ren.vu

39.搭建Linux基础服务dhcp、samba、ftp、dns  #%PAM-1.0

39.搭建Linux基础服务dhcp、samba、ftp、dns  auth       required   pam_userdb.so   db=/etc/vsftpd/ren

  account    required   pam_userdb.so   db=/etc/vsftpd/ren

 修改vsftpd.conf参数,添加虚拟用户支持:

Local_enable=YES

需映射本地用户,所以启用此项

Write_enable=YES

启用上传写入支持

Anon_umask=022

指定上传权限掩码

Guest_enable=YES

启用用户映射功能

Guest_username=virtual

指定映射的系统用户名称

Pam_service_name=ren.vu

指定新的PAM认证文件

为不同的虚拟用户建立独立的配置文件:

 编辑vsftpd.conf文件:vim /etc/vsftpd/vsftpd.conf

 添加参数:user_config_dir=/etc/vsftpd/ren_dir

 创建配置文件目录:mkdir  /etc/vsftpd/ren_dir

 进入此目录为用户建立独立的配置文件:

vim ren

anon_upload_enable=YES

anon_mkdir_write_enable=YES

 重新加载配置:service dhcpd reload

vsftpd.conf常见配置参数

作用范围

配置参数

意思

 

 

 

匿名用户

Anonymous_enables=YES

是否允许匿名访问

Anon_umask=022

匿名用户上传文件的掩码值(这里是反掩码)

Anon_root=/var/ftp

设置匿名用户的FTP根目录

Anon_upload_enable=YES

设置匿名用户是否可以上传文件

Anon_mkdir_write_enable=YES

设置匿名用户有创建目录的写入权限

Anon_other_write_enable=YES

是否允许匿名用户有其他的写入权限

Anon_max_rate=0

限制匿名用户的最大传输速率,0表示不限制

 

 

本地用户

Local_enable=YES

是否允许本地用户访问

Local_umask=022

设置本地用户上传文件的掩码值(这里是反掩码)

Local_root=/var/ftp

设置本地用户的FTP根目录

Chroot_local_user=YES

是否将FTP用户禁锢在宿主目录中

Local_max_rate=0

设置本地用户的最大传输速率,0表示不限制

 

 

 

 

全局配置

Listen=YES

是否以独立运行的方式监听服务

Listen_address=0.0.0.0

设置FTP服务的IP地址

Listen_port=21

设置坚挺FTP服务的端口号

Write_enable=YES

启用任何形式的写入权限

Download_enable=YES

是否允许下载文件

Dirmessage_enable=YES

用户切换进入目录时显示.message文件

Xferlog_enable=YES

启用Xferlog日志,默认记录在/var/ftp/xferlog

Xferlog_std_format=YES

启动标准的Xferlog日志格式

Connet_form_port_20=YES

允许服务器主动模式(从20号端口建立数据连接)

 

 

 

 

全局配置

Pasv_enable=YES

允许被动模式连接

Pasv_max_port=24600

设置用于被动模式的服务器最大端口号

Pasv_min_port=24500

设置用于被动模式的服务器最小端口号

Pam_service_name=vsftpd

设置用于用户认证的PAM文件位置

Userlist_enable=YES

是否启用user_list用户列表文件

Userlist_deny=YES

是否禁用user_list用户列表中的用户帐号

Max_client=0

最多允许多少客户端同时连接,0表示不限制

Max_per_ip=0

对来自同一个IP地址的客户端,最多允许多少个并发连接,0表示不限制

Tcp_wrappers=YES

是否启动Tcp_wrappers主机访问控制

注意:

FTP根目录不能给写的权限,这个是固定的。

用户列表文件设置ftpusers文件,此文件中列出的用户将禁止登录vsftpd服务器,连输密码的机会都没有。

用户列表文件设置user_list文件,此文件可以包含的用户可能被禁止登录,也可能被允许登录,具体取决于vsftpd.conf文件中的参数配置,可以输密码但是登录不成功。

上传反掩码计算:文件权限=777-111-022,目录权限=777-022

在以上步骤中如果遇到需要创建目录和文件的步骤注意文件权限给好,不然可能导致后面的操作出现问题。

服务器主动模式:服务器20号端口主动连接客户端的20号端口,相同端口传输数据,传输速率高。

服务器被动模式:服务端20号端口被动连接客户端的非20号端口,不同端口传输数据,较安全,但是要经过端口计算传输速率低。

映射用户的权限默认使用的是匿名用户的权限,所以你要对映射用户进行操作,只需要操作有关匿名用户的参数。(编辑vsftpd.conf有关anon参数)

 

 

DNS域名解析服务:使用BIND软件

BIND服务进程名:named

BIND服务的配置文件路径:/etc/named.conf

BIND服务的区域数据库文件路径:/etc/named/

BIND服务的根数据文件保存路径:/var/named/named.ca

搭建步骤:

 设置好网络,关闭防火墙功能以及防火墙服务。

 安装BIND软件包:bind包主程序包,bind-utils提供对服务的测试工具程序包,bind-libs提供bind需要使用的库函数,bind-chrootBIND服务提供一个伪装目录(/var/named/chroot),以提高安全性。

 设置named.conf文件参数:vim  /etc/named.conf

 创建区域数据配置文件:cp  /var/named/named.empty   /var/named/ren.zone

 编辑该区域数据配置文件添加解析记录:vim  /var/named/ren.zone

 给该文件可读可写权限:chmod  777  ren.zone

 启动named服务以及重新加载配置:service  named  start     service  named  reload

构建缓存域名服务器:

 编辑主配置文件:vim /etc/named.conf添加参数:

option {

  forwarders { 202.96.134.133; 114.114.114.114; };

};

 启动named服务:service  named  start

构建主域名服务器:

 编辑主配置文件:vim /etc/named.conf添加参数:

zone "benet.com" IN {                                       正向解析

  type  master;                                          设置为主域名服务器

  file "benet.zone"                                        设置区域数据文件路径      

  allow-transfer { 192.168.1.2 ; };                           允许从服务器下载正向数据

};

zone "192.168.1.in-addr.arpa" IN {                             反向解析   

  type  master;                                          设置为主域名服务器     

  file "192.168.1.2.arpa";                                   设置区域数据文件路径     

  allow-transfer { 192.168.1.2 ; };                           允许从服务器下载反向数据      

};

 配置区域数据文件:vim  /var/named/ren.zone

 启动named服务:service  named  start

构建缓存服务器:

 编辑主配置文件:vim /etc/named.conf添加参数:

zone "benet.com" IN {                                       正向解析

  type  slave;                                          设置为主域名服务器

  file "slaves/benet.zone"                                设置区域数据文件路径      

  masters  { 192.168.1.1 ; };                           从主域名服务器下载正向数据

};

zone "192.168.1.in-addr.arpa" IN {                             反向解析   

  type  slave;                                         设置为主域名服务器     

  file "slaves/192.168.1.2.arpa";                          设置区域数据文件路径     

  masters  { 192.168.1.1 ; };                           从主域名服务器下载反向数据      

};

 启动named服务以及重新加载配置:service  named  start   service  named  reload

 查看数据是否从主域名服务器上复制相同的区域数据文件:cd /etc/named/slaves | ls

注意:

每个配置文件中必须存在.”根域的参数,这个参数建议不要随意更改。

我们可以借助nslookup工具来测试DNS服务的解析情况:nslookup

server 192.168.1.1 指定DNS服务器

set  type=nsmxacnameptr 指定测试的解析记录类型

www.benet.com 测试这个域名的解析情况

解析记录:

MX邮件解析记录:把一个公司的二级域名解析出这个公司内的一台三级域名的邮件服务器。

NS解析记录:把一个公司的二级域名解析出这个公司内的一台三级域名的服务器。

A主机解析记录:将一个域名解析成一个IP地址。

PTR指针解析记录:将一个IP地址解析成一个域名。

CNAME别名解析记录:将一个域名解析成另外一个别名,来提高服务器的安全性。

 

 

服务器搭建大概思路:配置正确网络参数,关闭防火墙。安装服务对应软件包,编辑对应配置文件。开启服务,重新加载配置文件。配置文件修改时注意各类标注符号,出现问题冷静思考错误提示,认真检查配置文件。

Samba服务参数记忆:global为全局参数项,homes为家目录参数项,printers为打印机共享参数项。

FTP服务参数记忆规律:看到anon为匿名访问参数,local为用户访问参数,其他为全局。

BIND服务主域类型为master,从域类型为slave,区域地址数据配置注意解析记录方向。


本文转自   触动的风   51CTO博客,原文链接:http://blog.51cto.com/10978134/1945761