本篇博客的三种服务器搭建是基于 CentOS 7 的,安装过程参考 刘遄 《Linux就该这么学 第二版》 ,书籍部分操作过于繁琐,这里进行了简化,同时书籍部分操作是无法成功实现效果的,在查阅相关博客后实现,现将三种服务器搭建的详细步骤分享给大家,帮助大家能够快速搭建
目录
一、FTP服务器
1. FTP协议
FTP协议,即文件传输协议(FTP,File Transfer Protocol),即能够让用户在互联网中上传、下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件传输则需要FTP服务端和FTP客户端的配合才行。
通常用户使用FTP客户端软件向FTP服务器发起连接并发送FTP指令,服务器收到用户指令后将执行结果返回客户端。
FTP协议占用两个端口号:
21端口:命令控制,用于接收客户端执行的FTP命令。
20端口:数据传输,用于上传、下载文件数据。
FTP数据传输的类型:
主动模式:FTP服务端主动向FTP客户端发起连接请求。
被动模式:FTP服务端等待FTP客户端的连接请求。
2. FTP服务器的安装
2.1 安装vsftpd服务程序
进入管理员模式,并更换为阿里源
su
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
下载epel源拓展软件包
yum -y install epel-release
安装好后下载vsftpd
yum -y install vsftpd* pam* db4*
安装过程中gnome-software-3.28.2-3.el7.x86_64与已安装的gnome-packagekit-3.14.3-5.el7.x86_64包之间发生了文件冲突发生冲突,故删除gnome-packagekit
sudo yum remove gnome-packagekit
再次下载vsftpd
yum -y install vsftpd* pam* db4*
配置前做备份
cd /etc/vsftpd/
ls
cd /tmp/
rm -rf *
cd -
cp vsftpd.conf{,.bak}
ls
2.2 配置匿名用户
配置匿名用户文件并重启vsftpd服务
vi vsftpd.conf
systemctl restartvsftpd
ps aux | grep vsftpd
匿名用户文件具体配置
关闭防火墙并查看CentOS7的ip地址
systemctl stop firewalld
ip a
在浏览器中访问
修改属性并重启
cd /var/ftp/
ls
ll -d pub/
chown -R ftp.ftp pub/
systemctl restart vsftpd
上传文件并测试,成功
2.3 配置本地用户
配置本地用户并设置密码
useradd xxx
passwd xxx
修改配置文件,添加用户白名单并重启vsftpd服务
vi /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
vi /etc/vsftpd/user_list
systemctl restart vsftpd
本地用户文件具体配置
连接本地用户
注意:完成实验后需要还原虚拟机快照再进行实验,否则可能会导致配置文件冲突而报错,用这里的步骤配置是没有问题的,博主在同学的电脑重新配置时成功
2.4 配置虚拟用户
配置虚拟用户并创建数据文件测试
vi /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
cd /var/ftp/
ll -d pub/
chown -R ftp.ftp pub/
systemctl restart vsftpd
clear
useradd -s /sbin/nologin vu
cd /etc/vsftpd/
vi user
db_load -T -t hash -f user user.db
ls
虚拟用户文件具体配置
虚拟用户登录
systemctl restart vsftpd
systemctl enable vsftpd
ftp ip地址
二、Samba服务器
1. 文件共享服务
早期网络想要在不同主机之间共享文件大多要用FTP协议来传输,但FTP协议仅能做到传输文件却不能直接修改对方主机的资料数据,这样确实不太方便,于是便出现了NFS开源文件共享程序:NFS(NetworkFile System)是一个能够将多台Linux的远程主机数据挂载到本地目录的服务,属于轻量级的文件共享服务,不支持Linux与Windows系共享。
随后在l991年时大学生Tridgwell为了解决Linux与Windows系统之间共享文件的问题,便开发出了SMB协议与Samba服务程序。
SMB(Server Messages Block)协议:实现局域网内文件或打印机等资源共享服务的协议。
Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件,实现了Linux与Windows系统间的文件共享。
2. Samba服务器的安装
1.登录root用户,安装samba
yum install samba
2.浏览Samba配置文件
cat /etc/samba/smb.conf
3.备份Samba原始文件
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
4.过滤无用内容
cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$">/etc/samba/smb.conf
5.检查是否为user验证模式
cat /etc/samba/smb.conf
6.创建共享文件夹
mkdir /database
7.描述共享文件夹信息并重启SMB服务
vi /etc/samba/smb.conf
systemctl restart smb
8.添加到开机启动项
systemctl enable smb
ln -s /usr/lib/systemd/system/smb.service /etc/systemd/system/multi-user.target.wants/smb.service
9.清空防火墙规则
iptables -F
service iptables save
10.创建SMB用户
ifconfig
useradd smbuser
pdbedit -a -u smbuser
11.Windows连接Samba
Windows成功访问SMB服务
12.允许SELinux规则
chown -Rf smbuser:smbuser /database
setsebool -P samba_enable_home_dirs on
semanage fcontext -a -t samba_share_t /database
restorecon -Rv /database/
13. 安装cifs-utils软件包
yum install -y cifs-utils
14.创建认证文件
vim auth.smb
15.修改权限
vim auth.smb
chmod -Rf 600 auth.smb
16. Linux连接Samba
mount -a
cat /database/test.txt
Linux成功访问SMB服务
三、Bind服务器
1.域名解析服务
一般来讲域名比IP地址更加的有含义、也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DS域名解析服务了。
DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析:
正向解析:根据主机名(域名)查找对应的P地址。
反向解析:根据IP地址查找对应的主机名(域名)。
DNS服务协议采用类似目录树的层次结构记录域名与IP地址的映射对应关系,形成一个分布式的数据库系统:[ DNS结构模型 ]
而单靠几台DS服务器肯定不能满足全球如此多用户的需求,所以从工作形式上又分主服务器、从服务器和缓存服务器。
主服务器:在特定区域内具有唯一性、负责维护该区域内的域名与P地址对应关系。
从服务器:从主服务器中获得域名与P地址对应关系并维护,以防主服务器宕机等情况。
缓存服务器:通过向其他域名解析服务器查询获得域名与P地址对应关系,提高重复查询时的效率。
这里还需要简单了解下,DS查询时还会分为递归查询与迭代查询。
递归查询:用于客户机向DNS服务器查询。
迭代查询:用于DNS服务器向其它DNS服务器查询。
互联网DNS访问模型——采用分布式数据结构保存海量区域数据信息,用户从互联网中查询过程大致流程为:DNS查询流程图
对于DNS域名解析服务,博主是这么认为的:DNS域名解析服务就像是在图书馆寻找书籍,主机通过IP标识位置,而IP由数字或数字加字母组成,为了方便查找引入域名概念,但是主机只能通过IP定位,此时我们需要将可读的域名转换为计算机可识别IP地址,使用户可通过域名访问特定的网站式服务,这一过程称为DNS域名解析,域名的层级由点划分就像是图书馆书籍摆放是由大类目到小类目,是遍历树的过程。
2.Bind服务器的安装
2.1 安装bind域名服务器
1.进入root用户,安装bind-chroot保证Bind服务器的安全
su
yum install bind-chroot
2.配置主文件,将127.0.0.1改为any,表示允许监听任何IP地址并允许任何主机查询
vim /etc/named.conf
3.查看主机IP地址
ifconfig
可知本机为192.168.101.130
2.2 IP正向解析实验
1.配置区域数据信息
vim /etc/named.rfc1912.zones
linuxprobe可修改成其他xxx
2.配置解析数据信息,复制正向解析模板文件并重启
cd /var/named/
ls -al named/localhost
cp -a named.localhost linuxprobe.com.zone
vim linuxprobe.com.zone
systemctl restart named
3.设置DNS
vim /etc/resolv.conf
4.进行防火墙相关配置
systemctl stop firewalld
setenforce 0
systemctl restart named
systemctl status named
5.nslookup检测能否从网络DNS服务器中查询到域名与IP地址的解析记录,检测named服务的解析是否成功
nslookup
正向解析成功,如果想更换域名为xxx.com,则修改named文件中对应位置域名
2.3 IP反向解析实验
1.配置区域数据信息
vim /etc/named.rfc1912.zones
2.配置解析数据信息,复制反向解析模板文件,编辑网段数据文件
cp -p /var/named/named.empty /var/named/101.168.192.zone
vim /var/named/101.168.192.zone
3.重启DNS并通过nslookup检验解析结果
systemctl restart named
nslookup
反向解析成功