使用Ubuntu Server设置家庭DNS


2

我有一个网络服务器(使用静态IP 192.168.1.5 ),我希望我的本地网络上的机器能够在不修改的情况下访问它 /etc/hosts (或Windows / OSX的等效文件)。我的路由器了

Primary DNS server 192.168.1.5
Secondary DNS server 8.8.8.8 (Google's public DNS).

Nginx在外部设置为服务器网站

*.example.com

在内部,我想要

*.example.local

指向服务器。

我的网络服务器安装了BIND9,但我不确定设置。我经历过各种矛盾的教程,所以我的大多数设置都被破坏了。我已经删除了我很困惑的线条。

我看过的教程是 http://tech.surveypoint.com/blog/installing-a-local-dns-server-behind-a-hardware-router/ http://ubuntuforums.org/showthread.php?t=236093 。他们在应该放什么方面大不相同 /etc/bind/zones/db.example.local/etc/bind/zones/db.192所以我把下面的冲突线留下了。有人可以建议正确的线条来表达我的上述行为(即 *.example.local 指向 192.168.1.5 )?

/etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.5
    netmask 255.255.255.0
    broadcast 192.168.1.255
    gateway 192.168.1.254

/etc/hostname

avalon

/etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

/etc/bind/named.conf.options

options {
    directory "/var/cache/bind";

    forwarders {
        8.8.8.8;
        8.8.4.4;
    };

    dnssec-validation auto;

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { any; };
};

/etc/bind/named.conf.local

zone "example.local" {
    type master;
    file "/etc/bind/zones/db.example.local";
};

zone "1.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/zones/db.192";
};

/etc/bind/zones/db.example.local

$TTL    604800
@   IN  SOA avalon.example.local.   webadmin.example.local. (
                  5     ; Serial, increment each edit
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL

/etc/bind/zones/db.192

$TTL    604800
@   IN  SOA avalon.example.local.   webadmin.example.local. (
                  4     ; Serial, increment each edit
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;

我需要添加到上述文件中,以便在内部网络的笔记本电脑上输入 webapp.example.local,并由我的网络服务器服务?

编辑

我在网络服务器上对上述文件进行了一些更改。

/etc/network/interfaces (文件结束)

    dns-nameservers 127.0.0.1
    dns-search example.local

/etc/bind/zones/db.example.local (文件结束)

@   IN  NS  avalon.example.local.
@   IN  A   192.168.1.5
avalon  IN  A   192.168.1.5
webapp  IN  A   192.168.1.5
www IN  CNAME   192.168.1.5

/etc/bind/zones/db.192 (文件结束)

    IN  NS  avalon.example.local.
73  IN  PTR avalon.example.local.

作为旁注,我的备用Win7机器能够直接连接到 webapp.example.local,但对于Ubuntu 13.10机器,我也必须进行以下更改(不是在网络服务器上,而是在另一台机器上):

/etc/nsswitch.conf

之前

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

hosts:          files dns

/etc/NetworkManager/NetworkManager.conf

之前

dns=dnsmasq

#dns=dnsmasq

问题仍然是它不是通配符DNS,因此我必须添加条目 /etc/bind/zones/db.example.local 对于 webapp1webapp2,...


1
Zeophlite,请不要采取错误的方式,但你已经成为一段时间的成员。从那时起,你有没有设法错过这条线 serverfault.com/help/on-topic 那就是说 SF不适合“ 家庭或开发环境中的任何东西
MadHatter

说实话,我从来没有看过那里,谢谢你指出来。我之前的问题都是专业工作。是否有更适合此问题的StackExchange站点?如果是这样,我会把它移到那里。
Zeophlite

你可以在SuperUser上问@Zeophlite。但是,如果您编辑引用的“家庭网络”,这是一个写得很好,格式化的问题,它可能没问题,可以留在这里。
tombull89

我现在就把它留在这里
Zeophlite

足够公平 - 我同意tombull89关于它是一个写得很好的问题。你尝试过单线吗? IN A webapp 192.168.1.5 (带有领先的TAB) /etc/bind/zones/db.example.local?我知道您需要通配符DNS,反向解析等,但尝试让单个转发主机首先工作,以简化问题。
MadHatter
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.