那些年关于dns和dhcp的故事

一.函数写DNS安装

1.1源代码

#!/bin/bash
#域名解析:解析域名返回你自己的ip地址
function dnscheck {
    
    
#1.判断有没有安装bind软件包
rpm -q bind &>/dev/null
if [ $? -ne 0 ];then
    yum install -y bind &>/dev/null
fi
#2.修改配置文件:/etc/named.conf
#sed -i 可以直接修改源文件 s 将127.0.0.1替换成any
sed -i 's/127.0.0.1/any/' /etc/named.conf
sed -i 's/localhost/any/' /etc/named.conf
#3.修改区域配置文件,/etc/named.rfc1912.zones #删除这个文件的18100行
sed -i 's/localhost.localdomain/zzh.com/' /etc/named.rfc1912.zones
sed -i 's/named.localhost/zzh.com.zone/' /etc/named.rfc1912.zones
sed -i '18,100d' /etc/named.rfc1912.zones    #删除18100行
#4.修改区域配置数据文件,/etc/named/named.localhost
cd /var/named/
cp -p named.localhost zzh.com.zone
sed -i 's/@/zzh.com./g' /var/named/zzh.com.zone  #将所有的@替换为zzh.com
sed -i 's/rname.invalid./admin.zzh.com./' /var/named/zzh.com.zone
sed -i 's/127.0.0.1/192.168.10.17/' /var/named/zzh.com.zone
sed -i '9a www IN A 192.168.10.17' /var/named/zzh.com.zone   #在第九行的下面添加(也就是第十行)添加后面的内容 
sed -i '/AAAA/d' /var/named/zzh.com.zone #删除AAAA这一行
#5.添加指定的dns服务器 ,a代表第几行之下 1a代表在第一行下面输入
sed -i '1a nameserver 192.168.10.17' /etc/resolv.conf  #这个文件是dns域名解析的文件,一般存放的是114.114.114.114
#6.关闭防火墙和增强
systemctl stop firewalld.service
setenforce 0
#7.开启dns服务
systemctl restart named
read -p "DNS正向解析已配置完毕,请输入域名:" p
host $p

1.1.1 具体演练

在这里插入图片描述
运行结果:
在这里插入图片描述

二.用函数写DHCP安装【动态分配ip地址】

注意:做之前记得快照,因为执行脚本之后虚拟机是连不上的【如果你不改IP地址的话】,因为IP地址已经被改了,他变成了192.168.100.100

2.1源代码

#dhcp 动态分配ip地址
function  dhcpcheck {
    
    
#配置静态网卡
sed -i '4s/dhcp/static/' /etc/sysconfig/network-scripts/ifcfg-ens33
cat >> /etc/sysconfig/network-scripts/ifcfg-ens33 <<-EOF
IPADDR=192.168.100.100
NETMASK=255.255.255.0
EOF
#重启网络服务
systemctl restart network 
#复制dhcp配置文件
rpm -q dhcp &>/dev/null
if [ $? -ne 0 ];then
        yum install dhcp -y &>/dev/null
fi
cp -fp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf <<EOF
y
EOF
#配置DHCP首先要分配一个地址池 ;网关;dns
cat >>/etc/dhcp/dhcpd.conf <<-EOF
subnet 192.168.100.0 netmask 255.255.255.0 {
    
    
     range 192.168.100.20 192.168.100.30; 
     option routers 192.168.100.100;
     option domain-name-servers 114.114.114.114;
}
EOF
#启动DHCP服务
systemctl start dhcpd
}
dhcpcheck

2.1.1 具体演练

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打开一台windows 客户机【它作为客户机】
在这里插入图片描述
在这里插入图片描述
学会它们,我们都是相亲相爱的一家人!

猜你喜欢

转载自blog.csdn.net/weixin_59663288/article/details/124565364