我正在试验基于源 IP 地址回复不同结果的 DNS 服务器设置。同时我需要动态更改外部源ip应该转发的接口,
eth0 physical inteface 192.168.1.10
eth0: virtual interface 1 192.168.1.11
eth0:1 virtual interface 2 192.168.1.12
我在我的服务器上安装了 bind9,配置了两个视图,分别监听 192.168.1.11 和 12。
在我的设置中,只有面向外部的接口是 eth0,所有客户端都通过它请求 DNS。我需要根据我的客户端源 IP 地址将这些请求转发到我的虚拟接口并动态更改它。
举个例子
对于场景 1,如果用户 192.168.1.40 通过 eth0 查询 DNS,我需要他转发 eth0: (192.168.1.11)
对于场景 2 相同的用户 (192.168.1.40) 我需要转发到 eth0:1 (192.168.1.1)
我想通过在两个不同的时间使用同一个 dns 服务器来实现外部用户可以得到不同的结果。
看看
iproute2
。您可以轻松配置许多路由表并定义处理连接的网络接口,包括解决您的问题。这里有一些有用的例子:
http://linux-ip.net/html/routing-tables.html
http://lartc.org/howto/lartc.rpdb.html
参考: