公司内基于ubuntu建立内网DNS服务

背景

公司内部的DNS服务是必备的,工程师不应该记住机器的IP,第一是因为IP是magic number,第二是IP会变,我们应该通过人类可读的屏蔽掉IP变化的域名来访问服务,因此,DNS服务是必备的。

和其他文章的差别

采用bind9在ubuntu上实现dns,已经有一些文章了,但实践发现,都不是最简洁的,有些弯路,因此,把自己实践可行且又简单的方案写下来

服务端

安装bind9

sudo apt install bind9

配置

cd /etc/bind

指定某个文件用于解析某个域名

我们公司的域名用imsightmed(一个医疗AI公司)

# vim named.conf.default-zones
# add following lines
zone "imsightmed.com" {
        type master;
        file "/etc/bind/db.imsightmed.com";
};
将子域名写入上面的文件中

借模板之力
sudo cp db.local db.imsightmed.com

# vim db.imsightmed.com
# add your subdomain map
gitlab  IN      A       192.168.1.174
nexus   IN      A       192.168.1.156
允许其他主机使用该DNS服务
# sudo vim named.conf.options
# add following lines in options{...}
listen-on port 53 { any; };
#options {
#        directory "/var/cache/bind";
#        listen-on port 53 { any; };
重启即可生效

sudo systemctl restart bind9.service

测试

ping gitlab.imsightmed.com
可以获取正确的IP
ping www.baidu.com
可以正常使用原来的功能

客户端

注意:直接编辑/etc/resolv.conf重启后会失效,临时测试倒是可以
解决方案:

sudo apt install resolvconf
cd /etc/resolvconf/resolv.conf.d
sudo echo "nameserver ${YOUR_DNS_SERVER_IP}" > head
sudo resolvconf -u

这样,就能永久生效。

你可能感兴趣的:(linux)