centOS7 配置DNS上外网

CentOS7 linux下DNS的永久性添加

I.网上很多讲的dns的永久性添加其实都是暂时性添加,重启网卡后就会丢失。代码如下:
 echo nameserver 8.8.8.8 > /etc/resolv.conf

很明显,这个并不符合大家的要求。

II.下面是永久性修改的教程:

1、运行命令:

 cd /etc/sysconfig/network-scripts/
 ls

2、找到该目录下的网卡配置文件如:ifcfg-ens32,在其中添加三行,如果文件中已经有了DNS,就先删除再添加:

 PEERD=no 
 DNS1=8.8.8.8 
(这个Google的免费域名解析服务器,重点,等号前后都不要加空格,重要的事情说三遍,
等号前后都不要加空格
等号前后都不要加空格
等号前后都不要加空格
等号前后都不要加空格

3、添加完之后运行命令:

 #重启网络服务,使更改生效
service network restart
III.最后使用脚本添加而非修改文件,进一步提高便捷度:
#*为网卡名称,dns1为主dns的IP地址,可以添加dns2为次DNS的ip地址
nmcli con mod * ipv4.dns "dns1 dns2"
service network restart

这样放到脚本里或者直接命令行执行就可以实现DNS的自动永久性配置,无需手动修改配置文件,配置完成后可查看网卡配置文件是否改变,若未改变,重启即可。当然也可以留言。

转载于:https://www.cnblogs.com/yhoralce/p/8324663.html

### CentOS 7配置 DNS 的方法 #### 安装 BIND 软件包 为了在 CentOS 7配置 DNS,需要先安装 BIND 软件包。BIND 是一种广泛使用的 DNS 协议实现工具,它提供了 DNS Server 功能并运行 `named` 进程。可以通过以下命令完成软件包的安装: ```bash yum install bind -y ``` 此操作会在系统中安装必要的组件以支持 DNS 解析服务[^1]。 --- #### 配置正向解析区域文件 DNS 主要用于将主机名映射到 IP 地址(即正向解析)。为此,需编辑 `/etc/named.conf` 文件中的区域定义部分,并创建对应的区域数据文件。以下是具体步骤: 1. **编辑 named.conf 文件** 打开主配置文件 `/etc/named.conf` 并添加一个新的区域条目: ```plaintext zone "example.com" IN { type master; file "/var/named/example.com.zone"; allow-update { none; }; }; ``` 2. **创建区域数据文件** 创建上述指定路径下的区域数据文件 `/var/named/example.com.zone`,内容如下所示: ```plaintext $TTL 86400 @ IN SOA ns.example.com. admin.example.com. ( 20231010 ; Serial 3600 ; Refresh 1800 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL IN NS ns.example.com. ns IN A 192.168.1.100 www IN A 192.168.1.101 ``` 以上设置指定了一个名为 `example.com` 的域及其对应记录[^2]。 --- #### 启动与测试 Named 服务 完成配置后,启动 `named` 服务并将之设为开机自启: ```bash systemctl start named systemctl enable named ``` 验证服务状态是否正常运行: ```bash systemctl status named ``` 随后可通过本地查询确认解析功能是否生效: ```bash nslookup www.example.com localhost ``` 如果返回预期的 IP 地址,则表明配置成功。 --- #### 使用 Dnsmasq 实现 DNS 缓存优化 除了 BIND 外,还可以利用轻量级工具 Dnsmasq 来提供更高效的 DNS 查询体验。Dnsmasq 不仅能缓存频繁请求的结果,还能简化 DHCP 和 DNS 设置过程[^3]。 安装 Dnsmasq 及其基本启用方式如下: ```bash yum install dnsmasq -y systemctl start dnsmasq systemctl enable dnsmasq ``` 接着调整网络接口配置文件(如 `/etc/sysconfig/network-scripts/ifcfg-eth0`),加入以下参数以便让设备优先使用本机上的 Dnsmasq 服务作为首选 DNS: ```plaintext DNS1=127.0.0.1 ``` 重启网络服务使更改生效: ```bash systemctl restart network ``` 此时客户端发起的所有域名查找都会经过 Dnsmasq 层处理后再转交给上游服务器执行实际解析工作。 --- #### 修改默认 DNS 地址 当遇到特定网站无法访问的问题时,可能是因为当前所依赖的基础 DNS 存在异常状况所致。这时可以尝试替换掉原有的公共 DNS 或者企业内部提供的地址选项之一为例说明如何切换至其他可用方案[^4]: 对于基于 NetworkManager 管理环境来说可以直接修改全局偏好设定项;而对于静态分配情形则只需更新相应网卡关联资料即可达成目标效果。例如手动编辑 `/etc/resolv.conf` 添加新的名称服务器列表项目形式呈现出来像这样子的样子: ```plaintext nameserver 8.8.8.8 nameserver 1.1.1.1 ``` 保存退出之后立即生效无需额外动作辅助。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值