之前在内网搭建了一个和外网同域名的网站,开发同事今天告诉我,程序调试发现可能服务器不能正常访问自己内网的网站内容。于是,今天的故事开始了。
前面的文章在下面列出,当然不看也问题不大,今天的主题是:服务器设置的dns总是被自动更改,不生效的处理方法。IT运维的365天--018 如何在内网布置一个和外网同域名的网站,并开启SSL(https访问),即外网证书如何在内网使用_内网 域名 ssl-CSDN博客https://blog.csdn.net/zengsir2012/article/details/143181461?utm_source%20=%20uc_fansmsg
一步步检查:
1.首先ping a01.xxx.com,发现竟然是访问的外网(互联网),并不是服务器自己的ip
2.检查dns设置,nmtui命令进去查看,dns是正常的本机ip:192.168.150.253,这个没问题啊
┌──────────────┤ Edit Connection ├────────────┐
│ ↑│
│ Profile name ens18________ ▮│
│ Device ens18 (BC:24:XX:91:XX:0B)________ ▒│
│ ▒│
│ ═ ETHERNET <Show> ▒│
│ ▒│
│ ╤ IPv4 CONFIGURATION <Manual> <Hide> ▒│
│ │ Addresses 192.168.150.253/24_______ <Remove> ▒│
│ │ Gateway 192.168.150.1____________ ▒│
│ │ DNS servers 192.168.150.253__________ <Remove> ▒│
│ │ Search domains <Add...> ▒│
│ │ ▒│└────────────────────────────────────────┘
3.于是在想是不是dns服务器端named设置有问题,查了一遍,也都没问题。
查的方法:
1.host a01.xxx.com 192.168.150.253 能正常解析为服务器自己 192.168.150.253
2.找个电脑测试,dns改为192.168.150.253。浏览器直接访问,也是正常的。
那就证明dns服务器没问题。那就是本级自己的dns设置问题了。
4.想说是不是类似windows系统要刷新缓存(ipconfig /flushdns),结果去搜索linux下的刷新dns缓存命令试了都不生效。
5.至此,已懵逼。
百无聊赖间,想说去看下dns的具体文件< vim /etc/resolv.conf >看看啥情况(有个说法是,Linux下一切皆文件),然后发现了在正常的dns设置上还有两行,一行是# Generated by NetworkManager,另一行是dns指向了路由器。。这tm~瞬间感觉有头绪了。。我这是被劫持了啊?
# Generated by NetworkManager
nameserver 192.168.150.1
nameserver 192.168.150.253
没有多想,vim下敲两个d,删除掉192.168.150.1那行,Esc -> :wq 保存并退出。再试还是一样,重启网卡服务< sudo systemctl restart NetworkManager >
,重启服务器< reboot >都试过了,依然不行,再回去一查,那一行又特么回来了。。
这时候我想,第一行的注释应该是告诉我一些啥提示了吧,认真一看。。这行告诉我这个文件是由NetworkManager服务自动生成的。这。。牛~
于是根据第一行的注释去搜索怎么解决,按照步骤输入各种命令后,终于tmd解决了。
步骤对应的命令如下:~
nmcli connection show
#可以查到目前使用的链接名称
nmcli connection modify <连接名称> ipv4.dns "192.168.150.253"
#设置dns为服务器自身的ip
nmcli connection modify <连接名称> ipv4.ignore-auto-dns yes
#如果您希望使用手动指定的 DNS 服务器而不是默认的 DNS 服务器,可以将 ipv4.ignore-auto-dns 设置为 yes
#这句是关键。。。关键。。。关键。。。
nmcli connection down <连接名称>
nmcli connection up <连接名称>
#重启网络连接