![dig @my-server-ip mydomain.com 从内部工作,而不是从外部工作?](https://linux22.com/image/572687/dig%20%40my-server-ip%20mydomain.com%20%E4%BB%8E%E5%86%85%E9%83%A8%E5%B7%A5%E4%BD%9C%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BB%8E%E5%A4%96%E9%83%A8%E5%B7%A5%E4%BD%9C%EF%BC%9F.png)
我的服务器有 2 个 IP:xxx73 和 xxx248。我可以使用 Web 浏览器通过这些 IP 访问我的网站。
{现在,从 CentOS 机器(不是我的服务器),使用终端}
如果我:
dig @x.x.x.73 mydomain.com
dig @x.x.x.248 mydomain.com
我得到的结果:
Connection timed out; no server could be reached.
有人能告诉我如何修复它吗?谢谢。
更多信息:
如果我使用 ssh 登录到我的服务器并执行:
dig @x.x.x.73 mydomain.com
dig @x.x.x.248 mydomain.com
我可以看到我的区域按预期显示:
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5_7.1 <<>> @x.x.x.73 mydomain.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12757
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;mydomain.com. IN A
;; ANSWER SECTION:
mydomain.com. 38400 IN A x.x.x.73
mydomain.com. 38400 IN A x.x.x.248
;; AUTHORITY SECTION:
mydomain.com. 38400 IN NS ns2.mydomain.com.
mydomain.com. 38400 IN NS ns1.mydomain.com.
;; ADDITIONAL SECTION:
ns1.mydomain.com. 38400 IN A x.x.x.73
ns2.mydomain.com. 38400 IN A x.x.x.248
;; Query time: 20 msec
;; SERVER: x.x.x.73#53(x.x.x.73)
;; WHEN: Sun Jan 15 11:46:30 2012
;; MSG SIZE rcvd: 129
BIND 版本 9.3.6,Centos 5。
使用 ssh 登录到我的服务器,执行“dig google.com”也显示预期结果。
答案1
您可能需要在防火墙中打开端口 53,以允许 DNS 流量进入您的服务器。由于您使用的是 CentOS 5
iptables -I RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT
iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport 53 -j ACCEPT
应该可以让你动起来。如果这个有效的话
service iptables save
将保存您当前的防火墙配置。
答案2
主要问题很可能是 DNS 端口 53 会在您的服务器之前的某个时间点被过滤掉(或者甚至是在您的服务器上有防火墙规则)。
其他一些提示:在同一台机器和网络上运行两个名称服务器通常不是一个好主意。此外,首先运行域的 DNS 服务器是非常不寻常的。这并非不可能,但您必须确保了解其含义。这主要意味着您的服务器必须在您选择的 TLD 中注册为该域的权威服务器。
答案3
您可能不允许递归和来自外部设备(互联网)的查询
尝试在绑定配置文件中设置绑定以允许来自本地网络以及本地主机(127.0.0.1)的递归和查询。