《Linux 网络配置与管理》实验报告(综合)

实验要求
1、安装 CentOS7 系统,如果使用虚拟机安装,要求按桥接方式连接网络。主机名:实验者
名字拼写,网络号:172.18+x.100+yy.0/20,其中 x 为实验者学号尾数,yy 为实验者学号后 2 位
计算后的网络号。例如,学号后 2 位为 37,则网络号为 172.25.128.0/20。
2、搭建 DNS 服务器,配置正向搜索区域和反向区域。主区域名称:实验者姓氏拼写+班号
+学号后 2 位.+jxuspt.+com,激活主机数不能少于 3 台。反向区域与正向一致。
3、搭建 DHCP 服务器,保证可分配地址 1000 个以上。
4、在 CentOS 中配置 NFS,包含 2 个共享目录:/var/姓氏拼写+学号尾数、/home/名字拼
写。其中/var 下的共享目录允许登录者可读写和执行,/home 可共享目录下只允许读和执行。
在 windows 客户端分别挂载成 V:盘和 H:盘。
5、安装 vsftp,配置 ftp 功能:匿名用户和本地用户均不能登录 ftp,配置 5 个以上虚拟
用户,皆锁定用户根目录。用户名以实验者姓氏拼写+编号和名字拼写+编号为主。2 个以姓氏拼
写 的 用 户 统 一 登 录 到 /var/www/webA, 有 完 全 控 制 权 ; 2 个 以 名 字 拼 写 的 用 户 登 录 到
/var/www/secu,除无上传权限外其他权限皆可。其他用户登录到/var/vsftpd,只有读取权限。
6、搭建 LAMP 环境,要求 MySQL 下载最新版自编译安装。至少创建一个基于名称(依照 DNS)
的虚拟主机(网站)以/var/www/webA 作为 Web 网站的根。验证 LAMP。

一、(1)设置主机名,打开centos终端,输入 hostnamectl --static set-hostname lijiaqiang ,

然后修改/etc/hosts文件 :vim /etc/hosts ,添加一条 127.0.0.1 lijiaqiang

然后重启centos即可:

centos系统nouveau卸载失败 centos卸载服务_centos

centos系统nouveau卸载失败 centos卸载服务_mysql_02

(2)桥接模式连接网络并设置网络号,操作如下:centos7开机在WM菜单栏选择编辑此虚拟机设置

选择“网络适配器”选择 桥接模式 并选择 复制物理链路状态:

centos系统nouveau卸载失败 centos卸载服务_centos_03


(3)设置网络号:在centos7网络设置中进行如下设置:vim /etc/sysconfig/network-scripts/ifcfg-ens33

centos系统nouveau卸载失败 centos卸载服务_mysql_04

至此,虚拟机安装,网络设置结束;二、(1)安装DNS服务:yum -y install bind*

(2)连接有线网络,将centos切换为桥接模式连接网络,然后给centos 配置静态ip以及dns:

vim /etc/sysconfig/network-scripts/ifcfg-ens33 ,然后进行如下配置:

centos系统nouveau卸载失败 centos卸载服务_centos_05


然后重启网络:systemctl restart network

(3)配置防火墙,开放dns服务以及端口53:

firewall-cmd --permanent --add-port=53/udp

firewall-cmd --permanent --add-port=53/tcp

firewall-cmd --reload

(4)永久关闭 selinux: SELINUX=disabled ,然后重启 centos :reboot

(5)配置dns服务配置文件:

vim /etc/named.conf: 修改监听ip,以及添加解析域 ,如下图所示:

centos系统nouveau卸载失败 centos卸载服务_centos_06


添加正向、方向解析域:

centos系统nouveau卸载失败 centos卸载服务_mysql_07


使用 named-checkconf 检查配置是否有错误;

6)在/var/named/ 目录下添加对应区域解析文件:vim /var/named/区域解析文件名 然后进行如下编辑例如正向解析文件:ljq03.zone

centos系统nouveau卸载失败 centos卸载服务_centos_08


反向解析文件: 172.21.96.zone:

centos系统nouveau卸载失败 centos卸载服务_centos_09


(7)重启DNS服务:systemctl restart named

(8)DNS服务客户端验证:

1)windows本机验证:客户端首先将DNS服务指向DNS服务器的ip:

控制面板\网络和 Internet\网络和共享中心\以太网\属性\internet协议版本4,然后做如下操作:

centos系统nouveau卸载失败 centos卸载服务_虚拟用户_10


然后打开终端,ping www.ljqB190207.jxuspt.com:

centos系统nouveau卸载失败 centos卸载服务_centos_11


反向解析验证:使用nslookup:

centos系统nouveau卸载失败 centos卸载服务_centos系统nouveau卸载失败_12


至此,DNS服务搭建结束;

三、搭建DHCP服务器,分配1w个IP;

准备工作:给服务端的centos设置静态ip;

1)安装DHCP服务:yum -y install dhcp

2)修改DHCP相关配置文件:首先将系统给的配置文件样板复制到/etc/dhcp/目录下:(覆盖原有配置文件):cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

编辑配置文件:vim /etc/dhcp/dhcpd.conf ,做一下配置:

centos系统nouveau卸载失败 centos卸载服务_centos系统nouveau卸载失败_13


在文件末尾添加subnet声明,分配ip,网关,子网掩码:

centos系统nouveau卸载失败 centos卸载服务_mysql_14


3)启动DHCP服务:systemctl start dhcpd

重启DNS服务:systemctl restart named

4)客户端验证:

1)windows下,首先设置windows 的dns服务器ip为centos服务端ip

然后将路由器上的dhcp服务关掉;

2)打开终端,输入 ipconfig /release 释放电脑的ip地址;

然后 输入 ipconfig /renew 重新获取IP地址,(需要等上一会);

最后输入 ipconfig /all 查看所有网卡信息,这时可以看到以下效果:

centos系统nouveau卸载失败 centos卸载服务_centos_15


3)服务端查看租约信息:cat /var/lib/dhcpd/dhcpd.leases

centos系统nouveau卸载失败 centos卸载服务_centos_16


至此,DHCP服务搭建结束;

四、配置NFS

查看是否安装了 rpcbind : rpm -qa | grep rpcbind ,默认是安装好了并且是运行状态;

安装nfs-utils : yum -y install nfs-utils

安装后会自动创建nfsnobody 用户和组,可查看:id nfsnobody;

配置端口:vim /etc/sysconfig/nfs

centos系统nouveau卸载失败 centos卸载服务_虚拟用户_17


配置防火墙,放行五个服务端口:

firewall-cmd --permanent --add-port=111/tcp

firewall-cmd --permanent --add-port=111/udp

firewall-cmd --permanent --add-port=2049/tcp

firewall-cmd --permanent --add-port=2049/udp

firewall-cmd --permanent --add-port=4001-4004/udp

firewall-cmd --permanent --add-port=4001-4004/tcp

重启防火墙:systemctl restart firewalld

查看是否设置成功:firewall-cmd –list-all

以nfsnobody为用户创建共享目录,并配置文件权限:

mkdir /var/ljq3

mkdir /home/lijiaqiang

chown -R nfsnobody:nfsnobody /var/ljq3 /home/lijiaqiang

chmod -R 777 /var/ljq3

chmod -R 755 /home/lijiaqiang

编辑NFS配置文件,并添加共享目录:vim /etc/exports

centos系统nouveau卸载失败 centos卸载服务_centos系统nouveau卸载失败_18


启动NFS服务:

systemctl start nfs

systemctl enable nfs

NFS服务验证,这里,由于电脑没有安装NFS服务,所以使用另一个centos作为客户端,来验证:

1)首先开启客户端centos (请保持客户端与服务端在同一网段),然后创建两个目录用于挂载共享目录:

mkdir /mnt/V

mkdir /mnt/H2)挂载共享目录:

mount 172.21.96.2(服务端ip):/var/ljq3(共享目录)/mnt/V(挂载点)

mount 172.21.96.2:/home/lijiaqiang /mnt/H

centos系统nouveau卸载失败 centos卸载服务_centos系统nouveau卸载失败_19


至此,NFS服务搭建结束;

五、搭建FTP服务

安装FTP服务:yum -y install vsftpd

安装FTP服务所需的工具和模块文件:yum -y install pam* libdb-utils libdb*

设置防火墙开放FTP端口以及服务

firewall-cmd --permanent --znotallow=public --add-port=20/tcp

firewall-cmd --permanent --znotallow=public --add-port=21/tcp

firewall-cmd --permanent --znotallow=public --add-port=22/tcp

firewall-cmd --permanent --znotallow=public --add-service=ftp

firewall-cmd --reload

关闭selinux安全策略:

vim /etc/selinux/config ,进行如下设置:

SELINUX=disabled

然后退出reboot 重启centos使设置生效;

新建一个ftp的宿主用户,指定ftp根目录:

useradd -g root -M -d /var/www -s /sbin/nologin vsftpduser (记得给这个用户设个密码)

mkdir -p /var/www/webA

mkdir /var/www/secu

mkdir /var/vsftpd

chown -R vsftpduser.root /var/www/

chown -R vsftpduser.root /var/vsftpd/

创建虚拟账户以及账户密码文件,生成数据库文件:

编写虚拟账号密码文件:vim /etc/vsftpd/ftpuser.txt (单行为账号,双行为密码)

centos系统nouveau卸载失败 centos卸载服务_centos_20


生成账号密码相应的数据库文件:cd /etc/vsftpd

db_load -T -t hash -f ftpuser.txt ftpuser.db

修改pam认证文件:vim /etc/pam.d/vsftpd 做如下修改:

centos系统nouveau卸载失败 centos卸载服务_虚拟用户_21


创建一个目录专门存放每个虚拟用户的具体配置文件: (以下所有具体配置文件不能有空行!)

mkdir ftpuser_conf

cd /etc/vsftpd/ftupser_conf

编写对应五个用户的具体配置:

1)配置ljq1,ljq2 登录目录为 /var/www/webA ,具有完全控制权:

vim ljq1 : 做如下配置:(文件名需要与登录虚拟用户名相同才能生效!)

#设置虚拟用户的目录
local_root=/var/www/webA
#设置虚拟用户是否可以写入
write_enable=YES
#权限掩码,设置为000相当于设置了文件目录权限 777
anon_umask=000
#允许虚拟用户的下载功能
anon_world_readable_only=NO
#允许虚拟用户的上传功能
anon_upload_enable=YES
#设置虚拟用户是否可以创建文件夹
anon_mkdir_write_enable=YES
#设置虚拟用户是否可以执行其他的写入操作,比如删除、重命名、覆盖操作。
anon_other_write_enable=YES

2)配置lijiaqiang1,lijiaqiang2登录目录为/var/www/secu,没有上传权限:
vim lijiaqiang1 : 做如下配置:

#设置虚拟用户的目录
local_root=/var/www/secu
#设置虚拟用户是否可以写入
write_enable=YES
#权限掩码,设置为000相当于设置了文件目录权限 777
anon_umask=000
#允许虚拟用户的下载功能
anon_world_readable_only=NO
#允许虚拟用户的上传功能
anon_upload_enable=NO
#设置虚拟用户是否可以创建文件夹
anon_mkdir_write_enable=YES
#设置虚拟用户是否可以执行其他的写入操作,比如删除、重命名、覆盖操作。
anon_other_write_enable=YES

3)配置otheruser,登录目录为/var/vsftpd/, 只有只读权限:
vim otheruser : 做如下配置:

#设置虚拟用户的目录
local_root=/var/vsftpd
#设置虚拟用户是否可以写入
write_enable=NO
#权限掩码,设置为333相当于设置了文件目录权限 444 所有用户只读
anon_umask=333
#允许虚拟用户的下载功能
anon_world_readable_only=NO
#允许虚拟用户的上传功能
anon_upload_enable=NO
#设置虚拟用户是否可以创建文件夹
anon_mkdir_write_enable=NO
#设置虚拟用户是否可以执行其他的写入操作,比如删除、重命名、覆盖操作。
anon_other_write_enable=NO

配置vsftpd.conf ,
cd /etc/vsftpd
vim vsftpd.conf : 做如下修改(如果某些字段没有在配置中找到,请自己添加):
#不允许匿名用户登录
anonymous_enable=NO
#本地用户可以访问,注意:如果这一项设置为NO,则所有虚拟用户无法登录;
local_enable=YES
#可以进行写操作
write_enable=YES
#限制用户只能在其主目录下
chroot_local_uesr=YES
chroot_list_enable=YES
#(default follows)
chroot_list_file=/etc/vsftpd/chroot_list

#开启ipv4监听
listen=YES
#关闭ipv6监听
listen_ipv6=NO
#允许虚拟用户登录
guest_enable=YES
#指定虚拟用户所映射的真实centos用户(宿主用户)
guest_username=vsftpduser
#虚拟用户配置文件存放路径
user_config_dir=/etc/vsftpd/ftpuser_conf
#如果启用了限定用户在其主目录下需要添加以下配置
allow_writeable_chroot=YES

8)创建限制用户目录文件(很重要,不创建可能报错):mkdir /etc/vsftpd/chroot_list

9)启动ftp服务: systemctl start vsftpd

10)windows 用FileZilla 验证:

centos系统nouveau卸载失败 centos卸载服务_虚拟用户_22


服务端查看客户端创建的a.txt 是否上传:

centos系统nouveau卸载失败 centos卸载服务_虚拟用户_23


至此,搭建FTP服务结束;六、LAMP环境搭建:(请确保网络畅通,最好在有线网络下,配置静态IP)

准备工作:在本机上(centos)搭建好你自己的DNS服务,后面需要使用;

源码安装mysql:

1)卸载centos自带 mariadb 以及mysql :

yum list installed | grep mysql

rpm -e --nodeps mariadb-libs-libs-5.5.60-1.el7_5.x86_64(请根据自己的centos卸载mariadb)

rpm -e --nodeps qt-mysql-4.8.7-2.el7.x86_64 (请根据自己的centos卸载mysql)

删除原来MYSQL和MariaDB相关文件夹:

find / -name mysql

然后使用 rm 命令将find查找出来的文件全部删掉;

2)升级GCC以及cmake

升级GCC:

安装软件集scl : yum -y install centos-release-scl

安装高版本的gcc :yum -y install devtoolset-8-gcc*

建立软链接,覆盖/usr/bin下的gcc相关命令:ln -sf /opt/rh/devtoolset-8/root/usr/bin/* /usr/bin/

查看gcc版本:gcc -v

centos系统nouveau卸载失败 centos卸载服务_centos_24


升级cmake至cmake3

移除原有的cmake: yum -y remove cmake

下载cmake3压缩包: cd 回车

wget https://cmake.org/files/v3.14/cmake-3.14.5.tar.gz

解压:tar -zxvf cmake-3.14.5.tar.gz

编译安装:

1)cd cmake-3.14.5

2)./bootstrap

3)gmake && gmake install

建立软链接,更新原来的cmake命令:ln -s /usr/local/bin/cmake /usr/bin/

查看cmake版本:cmake --version

centos系统nouveau卸载失败 centos卸载服务_centos_25


安装rpcsvc-proto-1.4.ta.gz依赖:

cd /usr/local/src

wget https:///thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.gz

tar -zxvf rpcsvc-proto-1.4.tar.gz

cd rpcsvc-proto-1.4

./configure

make && make install

安装ncurses-devel依赖:yum -y install ncurses-devel

创建mysql用户、用户组:

检查是否存在mysql用户、用户组,不存在则创建:

cat /etc/group | grep mysql

cat /etc/passwd | grep mysql

创建mysql用户组:

groupadd mysql

创建mysql用户并禁止登陆:

useradd -g mysql mysql -M -s /sbin/nologin/

若存在my.cnf,删除:

rm -rf /etc/my.cnf

前面三个步骤为准备工作,接下来安装mysql8.0.15

cd /usr/local/src

下载mysql8.0.17源码包:

wget https://cdn.mysql.com/archives/mysql-8.0/mysql-boost-8.0.17.tar.gz

解压:

tar -zxvf mysql-boost-8.0.17.tar.gz

cd mysql-boost-8.0.17

创建编译目录:

mkdir build

cd build

cmake … -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DSYSCONFDIR=/etc

-DWITH_EXTRA_CHARSETS=all

-DMYSQL_DATADIR=/usr/local/mysql/data

-DWITH_BOOST=/usr/local/src/mysql-8.0.17/boost

-DDOWNLOAD_BOOST=1

开始编译安装:

make && make install (安装时间1-2小时,请耐心)

修改mysql目录权限

修改属主和属组

chown -R mysql:mysql /usr/local/mysql

修改权限

chmod -R 755 /usr/local/mysql

初始化mysql

1)cd /usr/local/mysql/bin

2)./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --character-set-server=utf8

7)安装ssl

/usr/local/mysql/bin/mysql_ssl_rsa_setup

8)启动mysql:systemctl start mysqld

9)登录mysql

查看初始密码:

grep ‘temporary password’ /var/log/mysqld.log

登录后自行修改密码即可;

centos系统nouveau卸载失败 centos卸载服务_centos系统nouveau卸载失败_26


至此,mysql源码安装结束;安装Apache 、php,并配置网页验证;

安装Apache:yum -y install httpd

启动Apache:systemctl start httpd

防火墙开放80端口服务以及httpd服务:firewall-cmd --zone=public --permanent --add-port=80/tcp

firewall-cmd --reload

设置Apache开机自启动:systemctl enable httpd

测试:在centos火狐上输入本机ip(ip addr可查):

centos系统nouveau卸载失败 centos卸载服务_mysql_27


配置Apache基于名称虚拟主机配置:

1)在DNS服务器(centos)上创建多个主机别名:(去查看之前配置DNS服务的正向解析文件)

centos系统nouveau卸载失败 centos卸载服务_centos系统nouveau卸载失败_28

编辑Apache 主配置文件:

cd /etc/httpd/conf/

vim httpd.conf

在最末尾添加配置如下:(注意不能打错,否则重启Apache会报错)

centos系统nouveau卸载失败 centos卸载服务_centos系统nouveau卸载失败_29


配置好后,重启apache:systemctl restart httpd

此时重启虽然不会报错,但是你的网站根目录是需要真实存在的,否则后面访问域名会报 404 NOT FOUND 错误,因此我们需要创建网站根目录:

mkdir -p /var/www/webA

在webA里面随便写一个网页,命名为index.HTML:touch /var/www/webA/index.html

centos系统nouveau卸载失败 centos卸载服务_mysql_30


保存退出,再次重启Apache:systemctl restart httpd

Windows客户端验证:

1)将windows客户端DNS服务器地址设置为以centos为DNS服务器的ip:

centos系统nouveau卸载失败 centos卸载服务_centos系统nouveau卸载失败_31


2)浏览器直接访问域名即可:

centos系统nouveau卸载失败 centos卸载服务_centos_32


安装php

安装:yum -y install php

重启Apache服务:systemctl restart httpd

写一个简单的php文件在网站根目录下,然后到windows下浏览访问以下:

cd /var/www/html (这个目录是在apache安装完成后自动创建的)

vim 1.php

写入:<?php phpinfo(); ?>

退出保存,到windows浏览器验证:

centos系统nouveau卸载失败 centos卸载服务_centos系统nouveau卸载失败_33

至此,LAMP环境搭建结束。