Gần đây tôi có một bộ định tuyến có phần mềm dd-wrt được cài đặt vào nó. Tôi đang chạy một máy chủ HTTP phía sau bộ định tuyến đó và vì nó có NAT, tôi đã đặt các chuyển tiếp cổng thích hợp.
Tôi cũng đã đăng ký một tên miền, giả sử example.org, trỏ đến IP công cộng của tôi, giả sử 123.123.123.123 Khi truy cập từ bên ngoài mạng LAN, mọi thứ đều hoạt động tốt. Tuy nhiên, khi gõ example.org vào trình duyệt bên trong mạng LAN, nó dường như phân giải thành IP riêng của bộ định tuyến, 192.168.1.1. Tất nhiên, 123.123.123.123 và 192.168.1.1 chỉ đến cùng một thiết bị, nhưng chuyển tiếp cổng không hoạt động, khi được truy cập từ IP 192.168.1.1. Nếu tôi gõ 123.123.123.123 vào trình duyệt của mình, nó sẽ hoạt động.
Vấn đề dường như là máy chủ DNS đi kèm với dd-wrt dịch IP công khai sang chế độ riêng tư. Sử dụng đào xác nhận điều này. Điều này:
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
so với điều này: (hỏi trực tiếp từ bên ngoài [ở đây, máy chủ DNS của Google)
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
Vì vậy, có vẻ như dd-wrt can thiệp với truy vấn DNS. Làm thế nào để cấu hình nó không làm điều này?