2019.8.31 linux网络管理的考试

1、 在 ServerA 服务器中部署 DHCP 服务,分配的网段为 192.168.200.0/24;为 Client 主机绑
定固定 IP 地址为 192.168.200.254;(10 分)
[root@localhost ~]# cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example >/etc/dhcp/dhcpd.conf //准备主配置文件
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf //进入主配置文件
option domain-name-servers 202.106.0.20, 8.8.8.8; //公网ip

default-lease-time 21600;
max-lease-time 43200;

subnet 192.168.200.0 netmask 255.255.255.0 { //网段跟子网掩码
range 192.168.200.10 192.168.200.254; //允许的网段
option routers 192.168.200.1; //网关
next-server 192.168.200.111; |pxe批量装机的宿主ip
filename "pxelinux.0"; |pxe批量装机的引导文件
}

host winxp {
hardware ethernet 00:0C:29:D4:2A:64; //winxp的MAC地址
fixed-address 192.168.200.254; //winxp的IP地址
}
————————————————————————————————————————————————————————————————————————
2、 在 ServerA 服务器中部署 PXE+Kickstart 服务,确保 ServerC 服务器能够基于网络实现无
人值守自动装机。通过本地登录验证 ServerC 服务器是否可用,并配置 IP 地址为
192.168.200.113;(25 分)

pxe批量装机

1.关闭防火墙
关闭安全机制

2.安装ftp服务
umount /dev/sr0
mount /dev/sr0 /media
创建yum仓库
yum clean all
yum makecache
yum -y install vsftpd
mkdir /var/ftp/centos7
cp -ar /media/* /var/ftp/centos7 (或者将/dev/sr0卸载后挂载到该目录下)

3.启动ftp服务
systemctl restart vsftpd
systemctl enable vsftpd

4.安装tftp服务
yum -y install tftp-server
vim /etc/xinetd.d/tftp
wait =no
disable =no

5.启动tftp服务
systemctl restart tftp
systemctl enable tftp

6.准备linux内核,初始化镜像文件
cd /var/ftp/centos7/isolinux/
cp vmlinuz initrd.img isolinx.cfg /var/lib/tftpboot/

7.准备kickstart配置文件
cp /root/anaconda-ks.cfg /var/ftp/ks.cfg
chmod 777 /var/ftp/ks.cfg
vim /var/ftp/ks.cfg (将添加安装源cdrom修改为ftp://192.168.2.21/centos7)
5 url --url=ftp://192.168.2.10/centos7(指定安装源)
6 #cdrom(第六行注释点)

8.准备pxe引导程序,启动菜单文件
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
chmod 644 /var/lib/tftpboot/isolinux.cfg

9.创建pxe启动菜单
mkdir /var/lib/tftpboot/pxelinux.cfg
mv /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
ll -R /var/lib/tftpboot/

10.修改pxe启动菜单,指定安装源位置pxe和ks.cfg文件位置
vim /var/lib/tftpboot/pxelinux.cfg/default
1 default linux
2 prompt 0
3 timeout 600
(在label linux下 添加menu default 删掉 menu label...整行)
65 append initrd=initrd.img inst.repo=ftp://192.168.2.10/centos7 inst.ks=ftp://192.168.2.10/ks.cfg

11.安装DHCP服务
yum -y install dhcp

12.修改dhcp文件
cat /usr/share/doc/dhcp*/dhcpd.conf.example > /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
IPv4 DNS设置首选地址为本机地址,并设置默认租约为6小时,最长租约为12小时
7 option domain-name "pxe.yunban.cn";
8 option domain-name-servers 202.106.0.20,8.8.8.8;
10 default-lease-time 21600;
11 max-lease-time 43200;
创建DHCP的作用域,定义地址池,指定引导文件位置,以及tftp服务地址
27 subnet 192.168.2.0 netmask 255.255.255.0 {
28 range 192.168.2.10 192.168.2.100;
29 next-server 192.168.2.10;
30 filename "pxelinux.0";
31 }
设置主机声明,将本机网卡的MAC地址与IP地址进行绑定
65 host pxe.yunban.cn {
66 hardware ethernet 00:0c:29:08:9b:a5;
67 fixed-address 192.168.2.10;
68 }

13.启动dhcp服务
systemctl start dhcpd
systemctl enable dhcpd

__________________________________________________________________________________________________________________________________________________________________

3、 ServerB 服务器开机前需要添加一块 SCSI 接口的 20G 硬盘。在 ServerA 服务器中编写
SHELL 脚本,对 ServerB 服务器中的磁盘进行分区及格式化并挂载到/data 目录下;在脚
本中需对 ServerB 服务器中的挂载点/data 目录以 NFS 服务的方式进行共享,确保
192.168.200.0/24 网段中的主机可以访问。在/data 目录中创建一个 index.html 的测试文
件;(20 分)
[root@localhost ~]# ssh-keygen -t rsa //客户机创建密钥 注;rsa密钥需要对方都配置密钥然后相传

[root@localhost ~]# ls .ssh/ //查看
id_rsa id_rsa.pub

[root@localhost ~]# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.200.112:/tmp //客户机的密钥传给服务器

[root@ns2 ~]# mkdir .ssh //创建密钥放置位置

[root@ns2 ~]# chmod 700 .ssh //给目录权限

[root@ns2 ~]# cat /tmp/id_ecdsa.pub >> .ssh/authorized_kes //密钥放入指定的文件

#!/bin/bash

#添加一块磁盘并分区

echo "
n
p


w
" |fdisk /dev/sdc && mkfs.ext4 /dev/sdc1 &>/dev/null
echo "分区成功"

#创建分享文件点
[ -d /data ] || mkdir /data &>/dev/null
echo "创建挂载点"


#安装rpcbind和nfs-utils包
yum -y install nfs-utils rpcbind &>/dev/null


#配置共享文件
echo "/data $xxx(rw,sync,no_root_squash)" >/etc/exports
echo "共享文件配置成功"


#开启rpcbind服务
systemctl start rpcbind
echo "开启rpcbind服务成功"

#开机自启动rpbind服务
systemctl enable rpcbind
echo "开机自启动rpbind配置成功"

#开启nfs服务
systemctl start nfs
echo "开机nfs配置成功"

#开机自启动nfs服务
systemctl enable nfs
echo "开机自启动nfs服务配置成功"


客户机测试共享

[root@ns1 ~]# mkdir /xiong
[root@ns1 ~]# mount 192.168.200.112:/data /xiong/ //挂载被共享的目录
[root@ns1 ~]# touch /xiong/123.txt //创建文件测试
[root@ns1 ~]# echo "xiongda" > /xiong/123.txt //测试共享
[root@ns1 ~]# cat /xiong/123.txt
xiongda

————————————————————————————————————————————————————————————————————
4、 在 ServerA 服务器中编写 SHELL 脚本,对 ServerC 服务器安装源代码方式的 Apache 服务,
并将 ServerB 服务器共享的/data 目录挂载到网站目录/usr/local/apache/htdocs/下确保客
户机可以通过浏览器访问;(20 分)

#安装对应安装的语言
yum -y install gcc gcc-c++ make lynx &>/dev/null
echo "安装gcc gcc-c++ make lynx成功"

#解压缩安装包
tar xf httpd-2.2.17.tar.gz -C /usr/src
echo "解压成功"

#切入安装源的位置
cd /usr/src/httpd-2.2.17/
echo "切入位置成功"

#指定安装路径
./configure --prefix=/usr/local/apache &>/dev/null
echo "路径指向阿帕奇"

#编剧对应的语言和安装
make &>/dev/null && make install &>/dev/null
echo "编辑成功"

#开启80端口


接下来就是把/data 目录挂载到网站目录/usr/local/apache/htdocs/下
[root@www ~]# showmount -e 192.168.2.30 //这个是查看该主机是否被被共享

______________________________________________________________________________________________________________________________

5、 在 ServerA 服务器中构建 DNS 主服务器,在 ServerB 与 ServerC 中构建 DNS 从服务器,
确保 DNS 系统可以将 www.crushlinux.com 域名解析为 ServerC 服务器的 IP 地址
192.168.200.113;客户机将 DNS 服务器地址指向 ABC 服务器中的任意一台主机都可以通
过浏览器以域名的方式访问到网站内容;(25 分)

#!/bin/bash
#熊庆华的仓库


#关闭防火墙
iptables -F
systemctl stop firewalld
setenforce 0
echo "防火墙已经全部关好"

#手动配置ip地址
cat << ENO > /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=YES
IPADDR=192.168.200.11
NETMASK=255.255.255.0
GATEWAY=192.168.200.1
DNS=202.106.0.20
ENO
echo "IP地址192.168.200.11配置成功"

#重启服务
systemctl restart network
echo "成功重启network服务"


#创建挂载点和挂载光盘
read -p "请输入你的挂载点: " XX
echo "创建挂载点"
mount |grep -q "/dev/sr0" && umount /dev/sr0
mount /dev/sr0 $XX &>/dev/null
echo "挂载成功"

#创建yu仓库
cd /etc/yum.repos.d/
mkdir xiong &>/dev/null
mv C* xiong &>/dev/null

cat << AA > hua.repo
[xxx]
name=xxx
baseurl=file://$XX
enabled=1
gpgcheck=0
AA
echo "yum仓库配置成功"

#清除缓存和重建缓存
yum -y clean all &>/dev/null && yum makecache &>/dev/null
echo "清除成功"

#安装dhcp软件
yum -y install dhcp &>/dev/null
echo "安装dhcp成功"


#修改配置文件
cat << XXX > /etc/dhcp/dhcpd.conf
option domain-name "crushlinux.com";
option domain-name-servers 202.106.0.20, 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.200.0 netmask 255.255.255.0 {
range 192.168.200.10 192.168.200.200;
option routers 192.168.200.1;
}
XXX
echo "配置文件修改成功"

#启动服务
systemctl start dhcpd
systemctl enable dhcpd
echo "DHCP启动成功"

#安装bind包
yum -y install bind &> /dev/null
echo "安装bind成功"

#解析ip地址
cat << ENO > /etc/resolv.conf
nameserver 192.168.200.11
nameserver 192.168.200.12
ENO
echo "解析成功"

#加速DNS解析
cat << ENO > /etc/hosts
192.168.200.11 ns1.crushlinux.com
192.168.200.12 ns2.crushlinux.com
ENO
echo "DNS加速成功"

#配置主配置文件
read -p "添加从服务器的ip地址: " xiong
read -p "原ip是192。168.200.11 请输入你所要新添加的主服务器的ip地址: " q
read -p "请输入你主服务器允许的网段: " xx
cat << ENO > /etc/named.conf
options{
listen-on port 53 { $q; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { $xx; };
recursion yes;
};

zone "crushlinux.com" IN {
type master;
file "crushlinux.zheng";
allow-transfer { $xiong; };

};

zone "200.168.192.in-addr.arpa" IN {
type master;
file "crushlinux.fan";
allow-transfer { $xiong; };
};
ENO
echo "主配置文件成功"

#主配置文件语法检查工具
named-checkconf -z /etc/named.conf &>/dev/null
echo "主配置文件语法检查成功"


#配置正文件
cat << XIONG > /var/named/crushlinux.zheng
$TTL 86400
@ IN SOA crushlinux.com. admin.crushlinux.com. (
201908026
3H
15M
1W
1D
)

IN NS ns1.crushlinux.com.
IN NS ns2.crushlinux.com.
IN MX 10 mail.crushlinux.com.
ns1 IN A 192.168.200.11
ns2 IN A 192.168.200.12
mail IN A 192.168.200.13
www IN A 192.168.200.14
study IN A 192.168.200.15
* IN A 192.168.200.11
ftp IN CNAME www
XIONG

echo "正配置文件成功"

#正文件语法检查工具
named-checkzone crushlinux.com /var/named/crushlinux.zheng &>/dev/null
echo "正文件语法检查成功"


#配置反文件
cat << XXXX > /var/named/crushlinux.fan
$TTL 86400
@ IN SOA crushlinux.com. admin.crushlinux.com. (
399383
3H
15M
1W
1D
)
IN NS ns1.crushlinux.com.
IN NS ns2.crushlinux.com.
IN MX 10 mail.crushlinux.com.
11 IN PTR ns1.crushlinux.com.
12 IN PTR ns2.crushlinux.com.
13 IN PTR mail.crushlinux.com.
14 IN PTR www.crushlinux.com.
15 IN PTR study.crushlinux.com.
XXXX
echo "反文件配置成功"

#反文件语法检查工具
named-checkzone crushlinux.com /var/named/crushlinux.fan &>/dev/null
echo "反文件语法检查成功"

#改变属主关系
chown :named /var/named/crushlinux.*
echo "改变属主修改成功"

#重启配置文件
systemctl restart named
echo "重启named文件成功"

#配置从服务器