linux – 为每个nic接口配置DNS服务器(eth0 / eth1)?

前端之家收集整理的这篇文章主要介绍了linux – 为每个nic接口配置DNS服务器(eth0 / eth1)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在RHEL / Centos 6上为每个NIC(eth0 vs eth1)接口配置DNS名称服务器?

例如.

eth0 is on subnet 10.0.0.1/24

eth1 is on subnet 192.168.0.1/24

Any requests sent over eth0 should use DNS server 10.0.0.2.

Any requests sent over eth1 should use DNS server 192.168.0.2.

我已经添加

DNS1:10.0.0.2>在/ etc / sysconfig / network中的脚本/的ifcfg-eth0的

DNS1:19.168.0.2>在/ etc / sysconfig / network中的脚本/的ifcfg-eth1的

但是这些值会被忽略,并且它始终默认为resolv.conf中的设置
“nameserver 10.0.0.2”当eth0关闭时,连接将通过eth1发送…但是DNS无法再解析,因为它尝试达到10.0.0.2.

>如何让它尊重ifcfg中的DNS设置而不是resolv.conf的默认设置?
>或者如何为eth0与eth1配置不同的DNS名称服务器?
>有没有更好的方法来处理这个?

更新

我们有两个VLAN,每个VLAN都有自己的DNS服务器.这些处理本地DNS(example.loc,guest.app等)的查找,以及在需要时转发.

这是两个独立的物理位置中的两个独立服务器.如果可能的话,我宁愿不在两个子网上运行一个服务器(一个处理敏感数据).

如果eth0要关闭,我需要eth1继续能够发出DNS请求.

我想到将两个IP添加到resolv.conf,然后让它失败,如果它无法到达第一个子网中的服务器,但这似乎不优雅(当eth0是时,必须等待第一个服务器超时每个DNS查询下).

解决方法

你不能轻易做你想做的事.

Or how do I configure a different DNS Name Server for eth0 vs eth1?

主机名的名称查找通过标准系统库进行,并且不以任何方式与特定的“连接”相关联.实际上,在DNS查询发生时,没有连接,因为您的应用程序甚至没有计算出它要连接的地址(这就是为什么它首先使用DNS).

How do I get it to respect the DNS settings in ifcfg rather than a default for resolv.conf?

Linux解析器只有一个全局配置(/etc/resolv.conf).没有任何类型的每个接口,每个域或每个连接设置. / etc / sysconfig / network-scripts / …中的设置仅用于填充/etc/resolv.conf,通常如果在这些文件中指定DNS1和DNS2,则会出现最后一个界面在/etc/resolv.conf中.

Is there a better way of handling this?

你能告诉我们你真正想要实现的目标吗?如果您能告诉我们有关您具体情况的更多信息,我们可能会建议更好的解决方案.

原文链接:https://www.f2er.com/linux/401964.html

猜你在找的Linux相关文章