zoukankan      html  css  js  c++  java
  • 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文件成功"

    #配置从服务器

  • 相关阅读:
    干货分享:如何使用Kubernetes的Ingress API
    十年OpenStack Ussuri最新版发布 主要改进在可靠性、安全性和用例支持等方面
    如何更好地优化容器的创建?这些技巧你务必收藏
    Kubernetes是容器化微服务的圣杯么?
    微服务是否真的需要服务网格?
    ZOOM火速收购加密公司Kaybase 能否补齐安全短板?
    5个实例告诉您:如何实施成功的容器化多云策略
    新基建火了,开源云计算渠道能做什么?
    盘点6个Kubernetes监视工具
    掌握这10种方法帮你快速在Linux上分析二进制文件
  • 原文地址:https://www.cnblogs.com/otherwise/p/11439042.html
Copyright © 2011-2022 走看看