dd-wrt ​​将从 LAN 发送的 DNS 查询从公共 IP 转换为私有 IP – 如何停止这种情况?

dd-wrt ​​将从 LAN 发送的 DNS 查询从公共 IP 转换为私有 IP – 如何停止这种情况?

我最近买了一个安装了 dd-wrt ​​固件的路由器。我在该路由器后面运行 HTTP 服务器,由于它有 NAT,所以我设置了适当的端口转发。

我还注册了一个域名,比如说 example.org,它指向我的公共 IP,比如说 123.123.123.123。从 LAN 外部访问时,一切正常。但是,在 LAN 内部的浏览器中输入 example.org 时,它似乎解析为路由器的私有 IP,192.168.1.1。当然,123.123.123.123 和 192.168.1.1 指向同一个设备,但是从 IP 192.168.1.1 访问时,端口转发不起作用。如果我在浏览器中输入 123.123.123.123,它就可以正常工作。

问题似乎是 dd-wrt ​​自带的 DNS 服务器将公网 IP 转换为私网 IP。使用 dig 可以确认这一点。如下:

mycomp:~ me$ dig example.org

; <<>> DiG 9.8.3-P1 <<>> example.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29597
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;example.org.           IN  A

;; ANSWER SECTION:
example.org.        0   IN  A   192.168.1.1

;; Query time: 7 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Fri Aug  1 15:40:17 2014
;; MSG SIZE  rcvd: 42

与此相反:(直接从外部(这里是 Google 的)DNS 服务器询问)

mycomp:~ me$ dig @8.8.8.8 example.org

; <<>> DiG 9.8.3-P1 <<>> @8.8.8.8 example.org
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17481
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;example.org.           IN  A

;; ANSWER SECTION:
example.org.        59  IN  A   84.248.86.142

;; Query time: 249 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Aug  1 15:27:36 2014
;; MSG SIZE  rcvd: 42

看来 dd-wrt ​​干扰了 DNS 查询。如何配置它才能不这样做?

答案1

此评论答案。我遇到过所有这些问题,并且解决与我的评论的第一组条目。

相关内容