Как в iptables перенаправлять dns запросы на dns-сервера провайдера и обратно?

Linux dns iptables шлюз NAT

Есть сервак iptables + squid. Через NAT инет получают: один сервак, директор и я. Все остальные - squid.
Как настроить iptables, чтобы можно было на клиентах в качестве ДНС указывать тот же адрес, что и шлюз?
На сервере две сетевки:
eth2 - смотрит на адсл модем
eth3 - в локалку
Пока что работает только если на клиентах шлюзом прописывать сервак, а в поля с ДНС вписывать ip днс провайдера.
Хэлп.
Ответы:
Покажите содержимое iptables.
root@HELL:/home/hell# iptables -t filter -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:3128
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain
root@HELL:/home/hell# iptables-save
# Generated by iptables-save v1.3.6 on Wed Jul 16 18:11:38 2008
*nat
:PREROUTING ACCEPT [13972:1026170]
:POSTROUTING ACCEPT [712:76893]
:OUTPUT ACCEPT [5999:420051]
-A POSTROUTING -o eth2 -j MASQUERADE
COMMIT
# Completed on Wed Jul 16 18:11:38 2008
# Generated by iptables-save v1.3.6 on Wed Jul 16 18:11:38 2008
*filter
:INPUT ACCEPT [190291:49228933]
:FORWARD ACCEPT [54119:54589173]
:OUTPUT ACCEPT [109710:40686400]
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A FORWARD -i eth3 -o eth2 -m state --state NEW,ESTABLISHED -j ACCEPT
-A FORWARD -i eth3 -o eth2 -m state --state NEW,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Wed Jul 16 18:11:38 2008
что за проблема :))) зачем вы хотите делать это через iptables?
чем не устраивает установка на свой шлюз dns-сервера???
В BIND директивы forwarders и forward first.
Хотите через iptables... я так не пробовал а вообще можно.
Хотите напишу конфигу под iptables+FireHOL
DNS юзает 53 порт, возможны следующие варианты:
1. поставить rinetd и настроить ворвард всего что приходит из локальной сети в 53 порт на твой DNS сервер в 53 порт.
2. добавить правило в iptables, всем входящим на 53 порт пакетам заменять адрес назначения на адрес твоего DNS сервера.
Во втором варианте не уверен, что сразу прям так и срастется, надо проверять.. а вот первый точно должен работать.
Конфиги - было бы не плохо :) мэил в профиле.
А насчет rinetd погляжу. Спасибо.
ладно.
только все равно хотелось бы понять почему ты не хочешь поднять DNS???
iptables -t nat -I PREROUTING -i eth3 -p udp --dport 53 -j DNAT --to-destination <DNS_Server_IP>


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.