目录
3、修改/etc/httpd/conf/httpd.conf 文件
4、修改/etc/httpd/conf.d/vhost.conf 文件
5、创建 /etc/vsftpd/chroot_list 文件
网络拓扑图:
一、网络配置
按拓扑图把客户端、NAT服务器、web服务器和ftp服务器的网络配置好,截图佐证,并用文字描述。
我们为四台主机都配置静态ip 地址,首先我们进入到该目录下配置ip
我们以ftp服务器配置ip为例:
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
编辑ifcfg-ens33文件
重启网络
[root@localhost ~]# systemctl restart network
以下的四台主机根据以上方法配置ip
客户端网络配置:
NET服务器网络配置,额外需要配置一张网卡:
NET服务器网络配置,额外需要配置一张网卡:
WEB服务器网络配置:
FTP服务器网络配置:
二、WEB服务器配置
在web服务器上安装httpd服务,并配置基于域名的虚拟主机。在该服务器实现2个域名,域名分别是www.long.cn和web.long.cn。这两个域名对应的网站主目录分是在/var/www/www和/var/www/web中,两个网站的主页的内容分别www.long.cn’s web和web.long.cn’s web。
配置本地yum和网上下载yum以下链接有
https://blog.csdn.net/YUYUJOB/article/details/139760160
1、安装httpd
yum -y install httpd
systemctl start httpd #启动httpd服务
systemctl enable httpd #设置开机自启动
2、创建网站的主目录和默认文件
分别创建/var/www/www和/var/www/web两个主目录和默认文件
mkdir /var/www/www /var/www/web #创建虚拟主机对应主目录
echo “www.long.cn’s web” > /var/www/www/index.html #添加网站内容
echo “web.long.cn’s web” > /var/www/web/index.html
3、修改/etc/httpd/conf/httpd.conf 文件
vim /etc/httpd/conf/httpd.conf
添加以下内容
<Directory /var/www/www> #指定访问控制规则用于xxx目录
AllowOverride None #不允许任何.htaccess文件覆盖服务器著配置指令
Require all granted #所有请求都将授权访问
</Directory>
<Directory /var/www/web>
AllowOverride None
Require all granted
</Directory>
4、修改/etc/httpd/conf.d/vhost.conf 文件
vim /etc/httpd/conf.d/vhost.conf
添加以下内容
<VirtualHost 200.10.10.11> #指定虚拟主机监听的IP
ServerName www.long.cn #定义虚拟主机的名称
DocumentRoot /var/www/www #指定虚拟主机的根目录
</VirtualHost>
<VirtualHost 200.10.10.11>
ServerName web.long.cn
DocumentRoot /var/www/web
</VirtualHost>
5、关闭防火墙和selinux
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #并设置开机自启
#修改 /etc/selinux/config 将SELINUX=enforcing改为disabled
vim /etc/selinux/config
setenforce 0 #使修改后的配置文件生效
6、重启 httpd 服务
systemctl restart httpd #设置HTTP服务开机自启
systemctl status httpd #查看HTTP服务状态
三、FTP服务器配置
一、配置yum源
1、本地yum
local.repo的配置文件内容:
[centos]
name=centos
baseurl=file:///opt/centos/
gpgcheck=0
enable=1
2、阿里云yum
在保证能联外网的情况下,输入以下命令
wget -O /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
二、安装vsftpd
1、安装vsftp服务
yum -y install vsftpd
2、启动服务并设置开机自启动
systemctl start vsftpd #启动vsftpd
systemctl enable vsftpd.service #设置开机自启动
3、开放防火墙和SELinux
减少麻烦的产生,关闭防火墙和selinux,等搭建成功可以开启防火墙和相应的端口
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #并设置开机自启
#修改 /etc/selinux/config 将SELINUX=enforcing改为disabled
vim /etc/selinux/config
setenforce 0 #使修改后的配置文件生效
三、创建用户和FTP目录
team1和team2为该FTP服务创建的用户,而/web/www/html作为两个用户的访问目录(限制)
1、创建文件目录并配置权限
mkdir -p /web/www/html
chmod -R 775 /web/www/html
2、创建ftp组以及用户
我们创建的team1和team2用户,为了系统安全考虑,当然不希望能让这两个账号的登录系统,要使得FTP组的用户不能的登录系统,则需要为FTP用户统一建立在不能登录系统的shell中,就拿 /sbin/nologin 来实现
-g:指定所属组
-d:指定家目录
-M:不创建家目录
-s:不登录系统
#创建组ftp
groupadd ftp
#创建用户
useradd -g ftp -d /web/www/html -M -s /sbin/nologin team1
useradd -g ftp -d /web/www/html -M -s /sbin/nologin team2
#为用户创建密码
passwd team1
passwd team2
#修改/web/www/html目录为ftp组
chown root:ftp /web/www/html
四、修改vsftpd.conf文件
1、备份 vsftpd.conf 配置文件
先将/etc/vsftpd/vsftpd.conf配置文件备份(防止后面出错后没法还原),然后进行修改
vim vsftpd.conf #进入配置文件
2、需要去除注释配置
进入该配置文件后,将100、101、103行的内容去掉注释
将剩下注释的内容全部删除后剩下的内容
这里也就解释常用的
anonymous_enable=YES #是否开启匿名用户,因为这里指定用户所以修改为NO
local_enable=YES #是否允许本地用户登录,默认允许
write_enable=YES #是否允许账号有写的权限
local_umask=022 :掩码
#本地用户创建文件目录都会默认777-022=755,最终文件目录的权限为755
#然而创建文件会默认666-022=644,最终创建的文件权限为644
dirmessage_enable=YES #进入某个目录会提示
根据实验要求创建的两个用户只能在受限于/web/www/html文件目录下,跟以下两条命令的搭配效果有关:
chroot_local_user=YES
chroot_list_enable=NO #激活chroot功能
#在文件 /etc/vsftpd/chroot_list 中列出的用户不能切换到其他目录
chroot_list_file=/etc/vsftpd/chroot_list #设置锁定用户在根目录列表的文件
3、添加配置文件
除了以上的还需添加以下的配置
local_root=/web/www/html #设置本地用户的根目录
allow_writeable_chroot=YES #允许 chroot限制,否则出现连接错误。
4、最终文件配置信息
其实修改的内容也就如下
5、创建 /etc/vsftpd/chroot_list 文件
vim /etc/vsftpd/chroot_list
添加 team1 和 team2 注意换行
五、启动FTP服务
重启 vsftpd
systemctl restart vsftpd
在客户端上需要先安装 ftp 服务
yum -y install ftp
上图可以看到,已经把 team1、team2用户限制在了/web/www/html目录下
四、NAT服务器配置
NAT服务器完成DNS配置,对域名www.long.cn和web.long.cn进行解析。
了解拓扑图的要求,我们为以下内容添加正反向解析
www.long.cn 200.10.10.11
web.long.cn 200.10.10.11
1、安装DNS服务
yum -y install bind*
2、修改 /etc/named.conf 文件
vim /etc/named.conf
修改内容
listen-on port 53 { 127.0.0.1; }; --> listen-on port 53 { any; }; #侦听IP地址
allow-query { localhost; }; --> allow-query { any; }; #允许查询网段
dnssec-validation yes; --> dnssec-validation no;
添加以下内容
zone "long.cn" IN {
type master;
file "/etc/named/long.cn.zone";
};zone "10.10.200.in-addr.arpa" IN {
type master;
file "/etc/named/10.10.200.in-addr.arpa.zone";
};
3、添加正向区域文件
vim /etc/named/long.cn.zone
修改内容如下:
4、添加反向区域文件
vim 10.10.200.in-addr.arpa.zone
添加以下内容:
5、关闭防火墙
firewall-cmd --permanent --add-service=dns #防火墙放行dns服务
firewall-cmd --reload
systemctl restart named #重启dns服务
systemctl enable named #设置开机自启
systemctl status named #查看dns运行状态
五、NAT服务器上实现SNAT功能
在NAT服务器上实现SNAT功能,把客户端的IP(192.168.85.100)转换成公网IP(200.10.10.10)去访问外网(web服务器和ftp服务器)
#允许HTTP和FTP流量
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport http -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -p tcp -m tcp --dport ftp-data -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -p tcp -m tcp --dport ftp -j MASQUERADE
# 然后,配置SNAT规则,将内网IP转换为公网IP
# 注意:这里使用的是MASQUERADE目标策略,它会自动选择正确的源端口
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport http -s 192.168.85.100 -j SNAT --to-source 200.10.10.10
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport ftp-data -s 192.168.85.100 -j SNAT --to-source 200.10.10.10
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport ftp -s 192.168.85.100 -j SNAT --to-source 200.10.10.10
六、域名解析(客户端)
在客户端上用ftp命令登录ftp服务器,用nslookup来解析域名www.long.cn和web.long.cn,并用浏览打开这个两站。
1、远程登录ftp服务器
我们打开客户机,用我们的创建的用户team1、team2用户登录
team1用户
team2用户
2、域名解析
正向解析
反向解析
3、浏览网页
感谢大家观看到这😁~