文章目录
Linux版本搭建DNS服务器和配置域名使用,双网卡或者多网卡的配置版本
实现效果
同一个域名,可以在两个网段同时访问,有一个网络故障,也能正常使用,实现网络高可以
1.介绍:
域名系统DNS(Domain Name System)
1)两种解析:
正向解析:根据域名查询IP地址,是DNS最基本也是最常用的功能
反向解析:根据IP地址查询域名,不怎么常用
域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。这一过程通过域名解析系统DNS来完成。
2.服务器准备:
主机名 | ip |
---|---|
dns200 | 192.168.56.200,192.168.132.200 |
centos121 | 192.168.56.121,192.168.132.121 |
centos122 | 192.168.56.122,192.168.132.122 |
centos123 | 192.168.56.123,192.168.132.123 |
win10 | 192.168.56.141,192.168.132.141 |
3.DNS服务器搭建(主机:dns200)
1)安装bind
yum install -y bind*
2)named 涉及的文件
/etc/named.conf # bind主配置文件
/etc/named.rfc1912.zones # 定义zone的文件
/etc/rc.d/init.d/named # bind脚本文件
/etc/rndc.conf # rndc配置文件
/usr/sbin/named-checkconf # 检测/etc/named.conf文件语法
/usr/sbin/named-checkzone # 检测zone和对应zone文件的语法
/usr/sbin/rndc # 远程dns管理工具
/usr/sbin/rndc-confgen # 生成rndc密钥
/var/named/named.ca # 根解析库
/var/named/named.localhost # 本地主机解析库
/var/named/slaves # 从ns服务器文件夹
3)修改DNS总配置文件 vim /etc/named.conf
把下面两个改成
listen-on port 53 { any; }; //监听端口修改为any,就是监听所有网卡
llow-query { any; }; //查询范围any,所有网段都可以查询。
删除:
zone "." IN {
type hint;
file "named.ca";
};
修改之后的配置文件
options {
listen-on port 53 { any; };// ipv4监听端口和ip地址,默认只有本地的
listen-on-v6 port 53 { ::1; }; // ipv6的监听端口和ip地址
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
recursion yes; // 递归还是迭代查询
dnssec-enable yes; // dns安全扩展,可以改为no关闭
dnssec-validation yes; //可以改为no关闭
/* Path to ISC DLV key */
bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
4)修改总的区域配置文件 vim /etc/named.rfc1912.zones
4.1)正向总区域配置文件
删除全部内容,再填写内容:定义总的正向区域
view "LAN56" {
match-clients { 192.168.56.0/24; };
zone "test2.com" IN {
type master;
file "test2.com.zone.lan56";
};
};
view "LAN132" {
match-clients { 192.168.132.0/24; };
zone "test2.com" IN {
type master;
file "test2.com.zone.lan132";
};
};
5)区域配置文件
5.1)正向区域配置文件
/var/named/ZONE_NAME.zone
区域配置文件
复制一个模板:
cd /var/named
#复制配置模板
cp -p named.localhost test2.com.zone.lan56
cp -p named.localhost test2.com.zone.lan132
模板文件内容:
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
ZONE file的资源记录(RR:Resource Record)的格式:
name [TTL] IN rr_type value
编辑vim test2.com.zone.lan56(注释不要写到配置文件里,这里只是说明)
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.56.200 //本服务器地址
121 IN A 192.168.56.121 //121.test.com对应的ip
122 IN A 192.168.56.122
123 IN A 192.168.56.123
编辑vim test2.com.zone.lan132(注释不要写到配置文件里,这里只是说明)
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.56.200 //本服务器地址
121 IN A 192.168.132.121
122 IN A 192.168.132.122
123 IN A 192.168.132.123
5.2)反向区域配置文件(没有配置)
6)启动named服务
#用service
service named start(启动)|stop(关闭)|restart(重启)|status(运行状态查看)
#用systemctl
systemctl start(启动)|stop(关闭)|restart(重启)|status(运行状态查看) named
4.测试使用域名
1)win10
正向解析:
两个网卡分别设置ip4属性:DNS服务器地址(DNS地址要对应网段)
打开cmd,直接ping域名:121.test2.com
注意:这里的域名就是,正向区域配置文件配置信息的设置+总的区域配置文件配置信息的设置,组合成一个使用域名
如:121.test2.com
121:正向区域配置文件配置信息的设置
test2.com:总的区域配置文件配置信息的设置
展示效果:
>ping 121.test2.com
正在 Ping 121.test2.com [192.168.56.121] 具有 32 字节的数据:
来自 192.168.56.121 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.56.121 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.56.121 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.56.121 的回复: 字节=32 时间<1ms TTL=64
192.168.56.121 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms
禁用121的网卡,域名解析会自动换成132网段连接
展示效果:
>ping 121.test2.com
正在 Ping 121.test2.com [192.168.132.121] 具有 32 字节的数据:
来自 192.168.132.121 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.132.121 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.132.121 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.132.121 的回复: 字节=32 时间<1ms TTL=64
192.168.132.121 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms
2)Linux
DNS服务器地址:vi /etc/resolv.conf
添加内容:
nameserver 192.168.56.200
nameserver 192.168.132.200
直接ping域名:122.test2.com
注意:这里的域名就是,正向区域配置文件配置信息的设置+总的区域配置文件配置信息的设置,组合成一个使用域名
如:122.test2.com
121:正向区域配置文件配置信息的设置
test2.com:总的区域配置文件配置信息的设置
展示效果:
[root@centos121 ~]ping 122.test2.com
PING 122.test2.com (192.168.56.122) 56(84) bytes of data.
64 bytes from 192.168.56.122 (192.168.56.122): icmp_seq=1 ttl=64 time=0.221 ms
64 bytes from 192.168.56.122 (192.168.56.122): icmp_seq=2 ttl=64 time=0.318 ms
64 bytes from 192.168.56.122 (192.168.56.122): icmp_seq=3 ttl=64 time=0.435 ms
64 bytes from 192.168.56.122 (192.168.56.122): icmp_seq=4 ttl=64 time=0.319 ms
64 bytes from 192.168.56.122 (192.168.56.122): icmp_seq=5 ttl=64 time=0.391 ms