当前位置: 首页>>技术教程>>正文


dns – 将完整TLD(例如* .dev)路由到127.0.0.1

,

问题描述

出于开发目的,我希望所有对.dev TLD的DNS请求都转发到我自己的PC。

主机文件不足。我使用多个域以及多个子域。我必须为每个组合添加一行。

我读过可以使用DNS转发器(例如DNSmasq)来完成这项工作(例如as described here)。而且该软件已经安装在Ubuntu 12.10上。

问题是我看不到如何配置DNSmasq的方式和位置,即我应该将以下行放在哪里:

address=/dev/127.0.0.1

最佳办法

在Ubuntu 12.04和12.10中默认未安装完整的独立dnsmasq(DHCP和DNS服务器),但在Ubuntu Desktop 12.04和12.10中默认安装了名为dnsmasq-base的软件包。 dnsmasq-base软件包包含dnsmasq二进制文件,并且被NetworkManager使用。

要执行您想要的操作,您将需要使用dnsmasq作为缓存DNS服务器。你需要:

  • 安装dnsmasq sudo apt-get安装dnsmasq

  • 更改您的网络设置,以便您的计算机将自身用作dns服务器。

  • 对配置文件进行更改:

使用以下内容创建/etc/dnsmasq.d/dev-tld

local=/dev/

address=/dev/127.0.0.5

第一条命令说,*.dev请求无法转发到您的真实DNS服务器。第二个消息说*.dev解析为本地主机127.0.0.5

  • 重新启动dnsmasq服务(不是network-manager)

次佳办法

在Ubuntu 12.10或更高版本中,您可以使用NetworkManager运行的dnsmasq来执行此操作。

  1. 如果目录mkdir /etc/NetworkManager/dnsmasq.d不存在,则创建它。

    sudo mkdir /etc/NetworkManager/dnsmasq.d
    
  2. 将以下行放入/etc/NetworkManager/dnsmasq.d/dev-tld

    address=/dev/127.0.0.1
    
  3. (Ubuntu 12.10)重新启动NetworkManager。

    sudo service network-manager restart
    
  4. (Ubuntu> 13.04)重新启动Dnsmasq。

    sudo service dnsmasq restart
    
  5. 享受真棒。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8095.html,未经允许,请勿转载。