内网DNS域名解析 dnsmasq搭建

文章介绍了如何使用dnsmasq作为企业内部DNS解决方案,解决服务器通过IP地址访问的问题。dnsmasq是一个轻量级的工具,适用于配置DNS和DHCP,尤其适合小型网络。它支持静态和动态DHCP配置,并能在本地解析特定域名。安装过程包括配置DNS服务器地址、创建必要的文件、修改配置文件以及启动dnsmasq服务。此外,文章还提及了WindowsDNS配置和防火墙设置对上网速度的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此片文章为DNS内网解析部署文档,简单实用,解决企业内部web服务IP地址访问问题。
企业内部如果不启用域名DNS服务,服务器就只能通过IP进行访问了。除了传统的bind解决方案,推荐一个新的DNS解决方案:dnsmasq

dnsmasq:用于配置DNS和DHCP的工具

DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功和可选择的DHCP功能,
它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并
且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配
置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式

主用适用

DNSmasq主用适用于NAT的家庭网络,用modem,cable modem,ADSL设备连接到因特网,对于那些需求低资源消
耗且配置方便简单的小型网络(最多可支持1000台主机)是一个很好的选择。

支持系统

支持该软件的系统包括:Linux (with glibc and uclibc), *BSD, Solaris 和 Mac OS X。
支持DNSmasq的Linux平台包括:
Gentoo, Debian, Slackware, Suse, Fedora, Smoothwall, IP-Cop,floppyfw, Firebox, LEAF, 
Freesco, fli4l, CoyoteLinux, Endian Firewall 和 Clarkconnect。也支持FreeBSD, OpenBSD 
和 NetBSD 。
也使用在思科的Linksys 无线路由器(dd-wrt, openwrt and the stock firmware) 中
还有m0n0wall 项目。
开始安装:
DNS 服务器IP地址
192.168.232.6
yum  install dnsmasq 
dnsmasq的主配置文件
/etc/dnsmasq.conf
dnsmasq内部解析所需要的IP和域名,也就是用户所需要自定义的域名和IP对应关系编写
touch /etc/dnsmasq.hosts   # 该文件需要手动创建
dnsmasq上游DNS服务器地址
touch /etc/resolv.dnsmasq.conf  # 该文件需要手动创建
配置文件修改及注释
vim /etc/dnsmasq.conf

指定上游DNS服务器地址的参数
resolv-file=/etc/resolv.dnsmasq.conf

自定义某些域名及其子域名,都解析到某一个IP地址防止公司某人访问某些娱乐地址,可注释
address=/www.qq.com/192.168.1.1

定义dnsmasq的监听地址的配置文件
listen-address=192.168.232.6

定义一个本地域名配置文件。需要自定义的一些域名解析记录
addn-hosts=/etc/dnsmasq.hosts

记录dns 查询的日志参数  打开注释即可
log-queries

设置日志记录器 需要手动添加
log-facility=/var/log/dnsmasq.log

包含目录的语法,能够包含某个文件夹下所有符合定义类型的配置文件 打开注释即可
#conf-file=/etc/dnsmasq.more.conf
conf-dir=/etc/dnsmasq.d

#Include all the files in a directory except those ending in .bak
conf-dir=/etc/dnsmasq.d,.bak

#Include all files in a directory which end in .conf
conf-dir=/etc/dnsmasq.d/,*.conf

内部解析的地址关系,将ccc.com 域名解析到 192.168.232.5
vim /etc/dnsmasq.hosts 
192.168.232.5 ccc.com
192.168.232.5 www.bbb.com
192.168.232.5 www.aaa.com
以此类推

在这里插入图片描述

添加上游DNS服务器地址,当dnsmasq 在本地找不到解析记录的时候,去上游查找
vim /etc/resolv.dnsmasq.conf 
nameserver 114.114.114.114
nameserver 8.8.8.8
启动dnsmasq
systemctl start dnsmasq
systemctl enable dnsmasq

注释:如果windows首DNS是内网DNS IP 上网慢

在这里插入图片描述

则需要修改以下两种访问方式

一:linux 配置上游DNS需要清空

二:防火墙限制DNS 服务器出外网

原因:DNS解析时,首先通过解析内网DNS,如果访问外网,配置了上游DNS的话,解析直接就找到配置的上游DNS,通过服务器的网关出网,所以会比较慢,将上面两步关闭的话,服务器解析默认走到内网DNS,然后解析不到外网域名,继续找上游DNS,上游DNS如果没配置,服务器出不了网,接着就会走windows配置的备DNS

在这里插入图片描述

### ThinkPHP 6.0 连接 PostgreSQL 数据库教程 在 ThinkPHP 6.0 中连接到 PostgreSQL 数据库涉及编辑配置文件并提供必要的连接参数。具体操作如下: #### 编辑数据库配置文件 找到项目的 `config/database.php` 文件,在此文件中定义与 PostgreSQL 相关的连接选项。以下是具体的配置实例[^1]。 ```php return [ // 设置默认使用的数据库连接 'default' => 'pgsql', // 定义多个数据库连接,这里只展示 pgsql 的部分 'connections' => [ 'pgsql' => [ // 数据库类型 'type' => env('database.type', 'pgsql'), // 主机地址 'hostname' => env('database.hostname', 'your_host'), // 数据库名 'database' => env('database.database', 'your_database_name'), // 用户名 'username' => env('database.username', 'your_username'), // 密码 'password' => env('database.password', 'your_password'), // 端口,默认为5432 'hostport' => env('database.hostport', '5432'), // 字符集 'charset' => env('database.charset', 'utf8') ], ] ]; ``` 这段代码展示了如何指定一个名为 `'pgsql'` 的连接,并设置了相应的属性来指向特定的 PostgreSQL 实例。注意使用了环境变量作为默认值,这有助于提高安全性并方便不同环境下部署时修改配置。 当存在主从服务器的情况下,如果两个服务器上的某些参数不一致,则需要分别为它们设定独立的部分;反之则只需共享同一组设置即可[^2]。 完成以上更改之后保存文件重启应用程序使新配置生效。此时应该能够成功建立同 PostgreSQL 数据库之间的通信链路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值