Linux怎么配置本地DNS服务器地址

嗨,哥们儿,咱之前搞Linux系统配置那会儿,真的是踩了不少坑。
比如说,配置本地DNS服务器地址,这事儿听起来简单,但真操作起来,那可真是让人头大。

记得那年在公司服务器上配置CentOS,当时用的还是老式的网络配置系统,就是那种netplan之前版本的。
那时候,我得用nano编辑器去改那个 /etc/network/interfaces 文件,然后指定DNS服务器地址,比如8 .8 .8 .8 和8 .8 .4 .4 保存文件后,还得重启网络服务,那可真是手忙脚乱的。

有一次,我在家里的小Ubuntu系统上配置DNS,想着试试临时生效的方法,就直接编辑了那个 /etc/resolv.conf 文件。
结果呢,没过多久,系统自动给我把配置给覆盖了,那叫一个气人。
从那以后,我就开始推荐使用NetworkManager了。

然后呢,还有一次,我在一个朋友家的Ubuntu 1 8 .04 上配置DNS,那时候用的是systemd-resolved。
我花了半天时间编辑配置文件,重启服务,最后发现那个 /etc/resolv.conf 文件还是没改。
最后,我不得不重启整个系统,才发现问题解决了。

这事儿让我明白,配置DNS的时候,优先使用NetworkManager或者systemd-resolved,直接修改 /etc/resolv.conf 容易被覆盖,不保险。
而且,如果你同时运行了多个网络管理服务,比如NetworkManager和systemd-resolved,还得确保配置一致性,别让它们互相打架。

现在回想起来,配置DNS虽然是个小事情,但细节太多,容易出问题。
不过,只要你掌握了方法,这事儿其实也就那么回事儿。
多试试,多总结,慢慢就上手了。
嘿,这事儿你遇到过没?有没有什么特别的经验分享?

linuX下DNS怎么搭建?

哎哟,搞DNS服务器是吧?行,跟你说说我当年踩的坑。
那年头,公司要搞个内部系统,就让我弄个DNS服务器。

先说装bind,我那时候是用的CentOS 7 ,敲命令 yum install -y bind bind-chroot bind-utils,一般没啥问题,装完就等着配置。

然后,关键来了,改 /etc/named.conf 这个主配置文件。
我当年就因为这个文件里写错了,搞了半天,服务起不来。
记得当时改了半天,才把里头的 zone "szlpt.cn" { ... } 对应上。
改完保存,别忘退出。

接着是 /etc/named.rfc1 9 1 2 .zones,这个也得好好看。
我那时候配正向解析,就是复制 /var/named/named.localhost,改名叫 szlpt.cn.zone,然后开 vi 修改。
正向解析就是要把你的域名解析成IP。
反向解析同理,复制那个 named.localhost,改名叫 1 9 2 .1 6 8 .1 .zone(注意,我当年写错了,写成了 0.1 6 8 .1 9 2 .zone,搞了半天才发现,真是坑死人),然后修改里面的内容,比如把 1 9 2 .1 6 8 .1 .1 解析到 宿主机名 这种。

防火墙和SELinux,这个得特别注意。
我那时候是用的iptables,先 getenforce 看下SELinux是不是开了,开了就用 setenforce 0 关掉,不然5 3 端口打不开,DNS就白搭了。
然后改 /etc/sysconfig/iptables,加几行放行5 3 端口,TCP和UDP都得放。
改完 service iptables restart,记得重启。
我当年就忘了重启,折腾了好久。

启动DNS服务,命令是 service named start。
启动后,得检查下配置文件有没有权限问题,用 ll /var/named 看看,要是没有读权限,就 chmod +r /var/named/。
我当年就忘了这个,结果客户端连不上,急死个人。

配置过程中,最容易出错的还是语法问题。
我那时候用 named-checkconf /etc/named.conf 和 named-checkzone szlpt.cn /var/named/szlpt.cn.zone 这两个命令,把配置文件和区域文件都检查一遍,能少踩坑就少踩坑。

最后,重启一下服务,service named restart,再 service network restart。
然后客户端用 nslookup 测试下,比如 nslookup www.szlpt.cn,看看能不能解析到IP。
我当年就是测试的时候发现解析不对,回去又改了好久。

总之,搞DNS服务器,细心很重要,别像我当年那样,一个疏忽就折腾半天。