CentOS 服务器部署 DNS 解析服务
需求
在centos云服务器上部署一个dns解析服务,以供windows电脑可以使用这个服务器ip作为网络的dns代理。我的服务器ip为192.168.126.241,我想在我的windows电脑访问abc.baidu.com时解析到ip为110.112.113.111的服务器上,访问www.baidu.com时解析到123.111.111.111的服务器上。尽量模块化配置,减少named.conf文件的修改。
在 CentOS 服务器上部署 DNS 解析服务,可以使用 Bind 工具来实现。以下是具体步骤:
步骤一:安装 Bind
使用以下命令安装 Bind:
sudo yum install bind bind-utils -y
步骤二:配置 Bind
1. 修改 named.conf 文件
打开 /etc/named.conf 文件,并添加以下内容:
include "/etc/named/zones.rfc1918";
include "/etc/named/conf.d/*.conf";
这样可以让 named.conf 文件更加模块化,减少了对 named.conf 的修改。
2. 创建 conf.d 目录
创建一个名为 conf.d 的目录,用于存放我们的配置文件。
sudo mkdir /etc/named/conf.d/
3. 创建 forward 和 reverse 配置文件
在 conf.d 目录下创建两个文件,分别为 forward.conf 和 reverse.conf。
forward.conf 文件内容如下:
zone "abc.baidu.com" IN {
type master;
file "/etc/named/abc.zone";
};
zone "www.baidu.com" IN {
type master;
file "/etc/named/www.zone";
};
reverse.conf 文件内容如下:
zone "126.168.192.in-addr.arpa" IN {
type master;
file "/etc/named/reverse.zone";
};
4. 创建 Zone 文件
在 /etc/named 目录下创建三个文件 abc.zone、www.zone 和 reverse.zone。
abc.zone 文件内容如下:
$TTL 86400
@ IN SOA ns1.abc.baidu.com. admin.abc.baidu.com. (
2021070901 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; TTL
)
@ IN NS ns1.abc.baidu.com.
ns1 IN A 110.112.113.111
www.zone 文件内容如下:
$TTL 86400
@ IN SOA ns1.www.baidu.com. admin.www.baidu.com. (
2021070901 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; TTL
)
@ IN NS ns1.www.baidu.com.
ns1 IN A 123.111.111.111
reverse.zone 文件内容如下:
$TTL 86400
@ IN SOA ns1.abc.baidu.com. admin.abc.baidu.com. (
2021070901 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; TTL
)
@ IN NS ns1.abc.baidu.com.
241 IN PTR ns1.abc.baidu.com.
5. 启动 Bind
使用以下命令启动 Bind:
sudo systemctl start named
步骤三:设置 DNS 代理
在 Windows 电脑上,打开“控制面板”,选择“网络和Internet”、“网络和共享中心”、“更改适配器设置”,找到当前正在使用的网络连接,右键点击“属性”,选择“Internet协议版本4(TCP/IPv4)”,点击“属性”。
在打开的窗口中,选择“使用下面的DNS服务器地址”,将“首选DNS服务器”填写为 CentOS 服务器的 IP 地址,保存设置即可。
这样,在 Windows 电脑上访问 abc.baidu.com 时会自动解析到 CentOS 服务器上的 110.112.113.111,访问 www.baidu.com 时会自动解析到 CentOS 服务器上的 123.111.111.111。