Можно ли использовать разные DNS-серверы на основе ip или запрошенного имени хоста?
Например:
- для www.example.com должен использоваться DNS-сервер 8.8.8.8
- для любого другого запроса DNS-сервер 192.168.1.1
Спасибо! :)
Можно ли использовать разные DNS-серверы на основе ip или запрошенного имени хоста?
Например:
Спасибо! :)
Вы можете настроить свой Mac как локальный сервер пересылки DNS. Вы должны установить bind, настроить как локальный DNS и настроить named.conf (/etc/named.conf).
forward only;
forwarders{
192.168.1.1;
};
zone "example.com" IN {
type forward;
forwarders {8.8.8.8;};
};
Другой хакерский способ, который я не проверял:
Если у вас есть два DNS-сервера в вашем /etc/resolve.conf, Mac должен решить, какой DNS лучше для вас использовать, основываясь на маршрутизации (я думаю).
Вы должны назначить свой Mac на две разные сети. Лучше всего иметь два соединения (LAN+WiFi) или два LAN-соединения, или как минимум два шлюза, но вы можете попробовать использовать одно (которое будет более сложным).
Этот пример основан на одном. В основном создайте две сети, такие как:
sudo ifconfig eth0 host 192.168.1.2 netmask 255.255.255.0
sudo ifconfig eth0:0 alias host 192.168.2.2 netmask 255.255.255.0
а затем попробуйте перенаправить DNS-серверы и домены на указанные интерфейсы.
route add -host 192.168.1.1 dev eth0:0
route add -host www.example.com dev eth0:0
route add -host 8.8.8.8 dev eth0:0
Я не знаю, будет ли этот хакерский способ работать на одном интерфейсе, но должен работать на двух.
Если у вас есть два шлюза (даже если это одно и то же устройство), скорее всего, это сработает.
Если этот метод не работает, извините (дайте мне знать). Это должно быть улучшено на основе некоторого практического прохождения.