【发布时间】:2015-12-01 15:16:28
【问题描述】:
我有以下情况:
用户连接到域:test.com
我希望此域重定向到例如 google.com
为此,我已将 CNAME 记录指向 google.com:www google.com(TTL:自动)
是否有可能在将 test.com 上的流量发送到 google.com 之前拦截它? (自定义协议,不是 http 或 https)
我找到了一个名为:native-dns 的库,我认为它可能会托管一个 dns 服务器?
我是这样配置的:
"use strict";
var dns = require('native-dns'),
tcpserver = dns.createTCPServer(),
server = dns.createServer();
var onMessage = function (request, response) {
console.log('request from:', request.address);
var i;
response.additional.push(dns.CNAME({
name: 'www.mydomain.com',
data: 'otherdomain.com'
}));
response.additional.push(dns.NS({
name: 'ns1.mydomain.com',
data: '127.0.0.1'
}));
response.send();
};
var onError = function (err, buff, req, res) {
console.log(err.stack);
};
var onListening = function () {
console.log('server listening on', this.address());
//this.close();
};
var onSocketError = function (err, socket) {
console.log(err);
};
var onClose = function () {
console.log('server closed', this.address());
};
server.on('request', onMessage);
server.on('error', onError);
server.on('listening', onListening);
server.on('socketError', onSocketError);
server.on('close', onClose);
server.serve(53, '127.0.0.1');
我想知道的是我如何才能真正使这个 dns 服务器正常工作。我想 ping www.mydomain.com 并得到 otherdomain.com 作为答案。
目前我正在使用运行节点脚本的 ubuntu 服务器。 ping 将从 Windows 10 机器执行
【问题讨论】: