手把手教你服务器搭建:FTP/Samba/Bind(超级详细版)

        本篇博客的三种服务器搭建是基于 CentOS 7 的,安装过程参考 刘遄 《Linux就该这么学 第二版》 ,书籍部分操作过于繁琐,这里进行了简化,同时书籍部分操作是无法成功实现效果的,在查阅相关博客后实现,现将三种服务器搭建的详细步骤分享给大家,帮助大家能够快速搭建

目录

一、FTP服务器

1. FTP协议

2. FTP服务器的安装

2.1 安装vsftpd服务程序

2.2 配置匿名用户

2.3 配置本地用户

2.4 配置虚拟用户

二、Samba服务器

1. 文件共享服务

2. Samba服务器的安装

三、Bind服务器

1.域名解析服务

2.Bind服务器的安装

2.1 安装bind域名服务器

2.2 IP正向解析实验

2.3 IP反向解析实验


一、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

反向解析成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值