互联网用域名访问各种服务,很常见。比如访问本站,用 www.icxbk.com可是在家里,家庭局域网中的 linux 主机,文件服务器等,是直接用 IP 访问的,比如:用 192.168.3.21 访问 Linux电脑用 192.168.3.31 访问 文件服务器
本文记录一下在家庭局域网中,使用自己的域名
用 www.robe.lalala 访问 linux电脑用 file.robe.lalala 访问 文件服务器。
提供这个解析域名服务的是域名服务器/DNS,ISC组织开发了开源的DNS软件bind9,本文使用这个软件,bind9 详细信息可以去官网查看https://www.isc.org/
安装
安装软件包 bind9,ubuntu 18.04 用源中的 bind9 就可以
安装完成后,开始配置,配置之前,需要选一个域名,自己想用什么域名都行,家庭局域网内自己做主,最好不要和公网的域名冲突,不然的话,你本想访问公网的服务,结果DNS老是给你解析到局域网内的主机,那就不爽了。选好域名后,先检查一下域名有没有冲突:比如笔者的域名 robe.lalala,在公网查询不到,可以用了。
开始配置bind9
打开 /etc/bind/named.conf.local 文件,增加一个zone,填上域名;括号中type填master,主域名服务器;file 是解析的数据的文件,填上全路径
重启bind9服务新配置生效:
Systemctl restart bind9.server
其他电脑上,直接查询不到,是因为电脑一般都自动获取DNS服务器ip,直接去网关上查询了,或者其他DNS服务器了,跳过了本地局域网内的DNS服务器。那就改,指定DNS服务器为局域网内的DNS服务器,修改网络设置如下,填上运行bind9服务的那台机器的IP,确定保存。
再试试,就可以解析了,还不行的话需要重启一下电脑。DNS 解析过的域名会缓存在电脑中,重启会清空缓存,再开机没有缓存,就直接找DNS服务器解析,重启后新的域名生效
现在在电脑浏览器中输入 www.robe.lalala,和 file.robe.lalala,直接打开服务器了
参考:https://wiki.archlinux.org/index.php/BIND_(简体中文)https://packages.ubuntu.com/eoan/bind9