Tôi đã đọc tất cả các câu trả lời tôi có thể tìm thấy về việc thiết lập dnsmasq làm máy chủ DNS cục bộ để phát triển. Nhưng tôi không thể làm cho nó hoạt động cho trường hợp của tôi. Hầu hết ngoài kia muốn 127.0.0.1 được giải quyết cho các tên trong miền .dev.
Trong trường hợp của tôi, tôi có một máy ảo VirtualBox chạy windows trong MacBook Air. Windows này chạy máy chủ SQL express. Nó được thiết lập với hai giao diện - cầu nối mạng - để chia sẻ giao diện wifi bên ngoài và là mạng ngang hàng trên mạng cục bộ của tôi khi tôi trực tuyến. Tôi cũng có VirtualBox thiết lập một host-only
mạng. Mạng con là 192.168.56.0/24 với máy Mac của tôi là .1 và máy ảo Windows là .2.
dnsmasq chạy trên MacBook hỗ trợ điều này và từ góc độ Windows, nó thực hiện mọi thứ một cách hoàn hảo, trực tuyến và tắt. Sử dụng khả năng của nó để gán tên miền hoàn chỉnh một địa chỉ, nó cung cấp cho
Trên máy Mac, tôi đang phát triển một ứng dụng nodejs, đó là một máy chủ web (vì vậy nó cần một tên miền - giả sử abc.rab - Mac của tôi được gọi là Rabbit) và để xử lý cơ sở dữ liệu của máy Windows (được gọi là abc.tig - Windows máy được gọi là Tigger). Ở đây mọi thứ dường như không hoạt động.
Tôi đã viết một chương trình nodejs nhỏ để kiểm tra tra cứu DNS
'use strict';
const dns = require('dns');
dns.lookup('abc.tig',(err,add,family) =>{
console.log('addresses:',add);
});
và nó không thể tìm thấy địa chỉ. Tuy nhiên, trên thiết bị đầu cuối, tra cứu DNS này hoạt động
alan@rabbit:~/Documents$nslookup abc.tig
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: abc.tig
Address: 192.168.56.2
alan@rabbit:~/Documents$
Trong trình duyệt web, abc.rab cũng cho tôi biết nó không thể tìm thấy tên miền.
Như tôi đã nói, tôi đã thiết lập dnsmasq để chạy trên tất cả các giao diện. Trong các thuộc tính mạng cho giao diện Wi-Fi của tôi, tôi đã đặt máy chủ tên là 127.0.0.1 và 8.8.8.8
Trong / vân vân
nameserver 127.0.0.1
domain .
trong đó
Rõ ràng có hai quá trình giải quyết tên tại chỗ. Cả mDNSResponder và dnsmasq đều được hiển thị đang chạy trong bảng hoạt động của tôi. Tôi đoán rằng những cái khác nhau đang được sử dụng bởi thiết bị đầu cuối và bởi ứng dụng của tôi
Tôi làm gì sai ở đây? (viết và kiểm tra cái này tôi hiện đang online)
(Tái bút
whatever
tập tin. Tôi đã tìm thấy một vấn đề với dnsmasq.conf ban đầu của tôi, nơi tôi đang giới hạn các dịch vụ dns cho localhost và máy chủ lưu trữ cục bộ. Tôi không chắc chắn nếu đó là hoặc chỉ thị addn-host của bạn đã làm cho tất cả hoạt động