# 安装dnsmasq
首先,我们需要安装dnsmasq服务,以下是在CentOS系统上使用命令行进行安装的步骤。
```bash
sudo yum install dnsmasq
安装完成后,我们将配置三个关键的文件来搭建站内网络。
配置dnsmasq
- 主配置文件:通常情况下,dnsmasq会自动生成主配置文件
/etc/dnsmasq.conf。 - 添加内部需要解析的地址和域名:你可以创建或编辑
/etc/dnsmasq.hosts文件来添加这些信息。 - 配置上游DNS服务器:将resolv.conf配置文件复制为dnsmasq版本,并添加你的nameserver。可以通过编辑
/etc/resolv.conf.dnsmasq来完成此操作。
以下是具体的配置步骤:
编辑/etc/dnsmasq.conf配置文件:
# 指定上游dns服务器
resolv-file=/etc/resolv.conf.dnsmasq
# 严格按照 resolv-file 文件中的顺序进行DNS解析
strict-order
# 监听地址
listen-address=192.168.10.1
# 使用DNS服务器
server=8.8.8.8
# 防止dns劫持
bogons=nxdomain
# 指定域名解析到特定的IP上
address=/www.hanyibo.com/192.168.1.1
# 本地域名配置文件(不支持泛域名),添加内部需要解析的地址和域名
addn-hosts=/etc/dnsmasq.hosts
# 对不通的网站使用不同的DNS服务器进行解析
server=/google.com/8.8.8.8
主要配置说明:
- resolv-file:定义dnsmasq从哪里获取上游DNS服务器的地址,默认从
/etc/resolv.conf获取。 - strict-order:表示严格按照
resolv-file文件中的顺序进行DNS解析,直到第一个解析成功为止。 - listen-address:定义dnsmasq监听的地址,默认是监控本机的所有网卡上。
- address:启用泛域名解析,即自定义解析A记录,例如:访问
long.com时的所有域名都会被解析为192.168.1.1。 - bogs-nxdomain:对于任何被解析到此IP的域名,将响应NXDOMAIN使其解析失效。
- server:指定使用哪个DNS服务器进行解析。
测试配置文件
为了测试配置文件是否正确,可以使用以下命令:
dnsmasq-test4.conf
以守护进程方式启动DNSMASQ做DNS缓存服务器
编辑/etc/dnsmasq.conf,添加监听地址如下:
listen-address=192.168.10.1
如果使用此主机为局域网提供默认DNS,请为该主机绑定固定IP地址,并设置:
listen-address=192.168.0.x
这种情况下建议配置静态IP。
多个ip地址设置
要添加多个监听地址,可以使用逗号隔开的方式指定,如下所示:
listen-address=192.168.10.1,192.168.0.2
测试安装网络工具
以下是测试安装网络工具的命令:
sudo install bind-tools
test dig www.baid.com
可视化界面
你可以从以下链接下载对应版本的可执行文件:Download WebProc
安装步骤
- 下载解压可执行文件。
- 安装:
webproc --configuration-file /etc/dnsmasq.hosts --dnsmasq --no-daemon
如果你要以守护进程运行,可以将--no-daemon改为--daemon。
注意事项
可以同时使用多个--configuration-file来加载多个配置文件。
解析配置
自动解析
在/etc/dnsmasq.conf中增加如下自动解析规则:
address=/map.fyx.ingress.local/192.168.1.5
address=/map.fyx.ingress.local/192.168.1.6
address=/map.fyx.ingress.local/192.168.1.7
address=/map.fyx.ingress.local/192.168.1.11
这些规则表示所有map.fyx.ingress.local的子域名都会解析到192.168.1.5至192.168.1.7及192.168.1.11。
手动解析
手动解析可以修改/etc/dnsmasq.hosts文件,在其中添加解析配置:
192.168.1.11 test.fyx.com
这表示将test.fyx.com解析到192.168.1.11服务器上。
常见问题
frequent already in use
如果遇到这种情况,你可以使用以下命令查看当前占用端口的进程:
sudo netstat -tulnp | grep 53
之后可以kill掉该进程。
以上就是如何利用已购买的域名搭建站内网络的方法。希望对你有所帮助。