局域网dns服务器搭建
服务器系统:虚拟机中的ubuntu,nat模式网络,ubuntu系统内ip是dhcp模式
安装bind9
apt-get install bind9
如果报错The following packages have unmet dependencies
bind9 : Depends: libbind9-160 (= 1:9.11.3+dfsg-1ubuntu1) but 1:9.11.3+dfsg-1ubuntu1.1 is to be installed
一堆is to be installed
大概是因为版本的问题,一个个卸载本机已有的依赖库
apt-get remove libbind9-160
...

假如想新增一个域名testj.com

1.
进入/etc/bind目录
编辑named.conf.default-zones,添加如下文本

zone "testj.com" {
    type master;
    file "/etc/bind/db.testj.com";
};

2.
然后新增file对应的文件,即在/etc/bind目录下新增db.testj.com文件
里面文本如下

;
; BIND data file for local loopback interface
;
$TTL	604800
@	IN	SOA	testj. root.testj. (
			      2		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
;
@	IN	NS	testj.
testj.com	IN	NS	192.168.235.129

www IN A 192.168.235.129
aaa IN A 192.168.235.129


其实就是从db.local赋值过来,修改部分配置,www是主机名,安装了www服务的主机。testj.com是主机,www是主机名

3.
编辑named.conf.options,主要添加listen-on

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

    listen-on port 53 {192.168.235.129;0.0.0.0;};
    allow-transfer {none;};

    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

    // If your ISP provided one or more IP addresses for stable 
    // nameservers, you probably want to use them as forwarders.  
    // Uncomment the following block, and insert the addresses replacing 
    // the all-0's placeholder.

    // forwarders {
    //     0.0.0.0;
    // };

    //========================================================================
    // If BIND logs error messages about the root key being expired,
    // you will need to update your keys.  See https://www.isc.org/bind-keys
    //========================================================================
    dnssec-validation auto;

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

4.重启服务
service bind9 restart

5.指明bind9服务器地址
编辑/etc/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 192.168.235.129
search DHCP HOST

一堆注释,其实就是最后两行有用
nameserver 192.168.235.129
search DHCP HOST
这个文件可能随时被还原,被还原后就不能识别www.testj.com了,或者执行第6步。

6.编辑ip地址配置文件

ubuntu的路径是/etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto ens33
iface ens33 inet dhcp
address 192.168.235.129
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 192.168.235.129
dns-search testj.com

更多的名称是lo和eth0、eth1,这里是ens33

重要的是dns-nameserver一行,以免/etc/resolv.conf还原,或者失效

第5步、第6步得试,配置过程中轮流换着配置,重启。才能持久生效

end.
ping www.testj.com
浏览器输入www.testj.com就可以了(前提是配置了服务器访问目录,详情自行了解nginx、apache)
本机是可以访问的,但是真实主机访问却失败了,虚拟机中的其他系统访问正常。没有更多的真实设备,先这样吧,以后有空,有需求再研究


ubuntu重启网络服务
/etc/init.d/networking restart
或者service networking restart
ubuntu ip配置文件的路径是/etc/network/interfaces

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐