Назад | Перейти на главную страницу

Несколько DNS с несколькими WAN

У меня есть шлюз Linux с двумя глобальными сетями, каждый из которых подключен к разному провайдеру, каждый провайдер имеет свой собственный DNS-сервер, а локальные пользователи подключаются к Интернету через этот сервер [он также служит прокси-сервером].

Вопрос в том, можно ли указать, какой DNS сервер [или прокси-сервер, который я использую Squid] будет использовать на основе исходного IP-адреса локального пользователя?

Вы можете использовать их все одинаково не настоящие IP для DNS-сервера и маршрут к право DNS согласно выбранной WAN.

Не знаю, как вы определяете, как будет выходить трафик (какой из двух ваших интернет-провайдеров ...), но я предполагаю, что у вас есть две сетевые карты WAN, назовем их eth0 и eth1.

Предположим, ваш поддельный IP-адрес DNS - 1.2.3.4, «правильный» DNS для eth0 - 2.2.2.2, а «правильный» DNS для eth1 - 3.3.3.3.

Я считаю, что это поможет:

iptables -t nat -I POSTROUTING -o eth0 -d 1.2.3.4 -j DNAT --to-destination 2.2.2.2
iptables -t nat -I POSTROUTING -o eth1 -d 1.2.3.4 -j DNAT --to-destination 3.3.3.3

Да, вы можете сделать это с помощью представлений и пересылки в привязке, на эти два вопроса есть ответ (или что-то близкое к нему):

Я не уверен, как это будет работать на практике, хотя NAT половина ваших клиентов к одному провайдеру и половина к другому?

Один из способов - использовать DHCP. DHCP управляет конфигурацией сети клиента и может включать в себя конфигурацию преобразователя DNS. С помощью DHCP вы можете указать, что определенной сети, определенному диапазону или определенным хостам будет предоставлена ​​определенная конфигурация сети, которая также может включать, какие DNS-серверы они будут использовать.

В этом случае узлы в сети A могут быть настроены в области DHCP для использования DNS-сервера B, а затем узлы в сети Y могут быть настроены в области DHCP для использования DNS-сервера Z.