Iptables + bind DNS в локальной сети
SimbioS 20 января, 2011 - 13:16
Приветствую сообщество.
Имею:
локальная сеть 192.168.0.0/24
шлюз 192.168.0.1 Gentoo
ДНС сервер 192.168.0.10
На шлюзе для ДНС сервера прописан маскарад и это работает.
Все клиенты в локальной сети используют ДНС сервер.
ДНС сервер не использует ДНС сервера провайдера.
На ДНС прописан query-source address * port 53;
А теперь проблема. Как прописать правильные правила для ДНС сервера,
что бы он ходин в интернет не через маскарад, а только в мир к другим ДНС серверам на 53 порт и ответ из мира возвращался соответственно для 192.168.0.10 порт 53.
Прошу помощи в решении данной проблемы. Спасибо.
»
- Для комментирования войдите или зарегистрируйтесь
?
Вы намекаете на динамический IP на "бордере" + невозможность SNAT/DNAT?
Ну а если пользоваться возможностями пакета
iproute2
, типа:ExtIp=`/sbin/ip -4 address show dev eth0 | /bin/grep inet | /bin/awk '{print $2}'`
?Или я недопонял чего?
Нет. IP статический получает
Нет. IP статический получает ppp0.
Тобиш хочу выпустить ДНС сервер наружу для резольвования адресов для клиентов(ходят через маскарад) локальной сети.
Пример, реализовывал на ipfw, в iptables загруз.
для клиентбанка
клиент Петров с IP 192.168.0.100 должен ходить в мир только на этот сервер (например) 195.195.195.1 и на порт 8974
Возможность использования SNAT/DNAT существует, так как разные там порты (80,21,1194) я пробросил внутрь сетки.
Спасибо.
Никак! Если он во внутренней
Никак!
Если он во внутренней сети, то без NAT'а не обойтись.
А почему это нельзя, не поясните? :)
Ok, NAT это хорошо.
Ok, NAT это хорошо.
примерчик киньте, тогда я возможно пойму что не прав, или объясню почему нельзя...
Спасибо.
Я отвечу "по-еврейски" :D
Можно увидеть рабочие правила ipfw, которые позволяют клиенту с IP=192.168.0.10 "общаться напрямки во внешке"?
Ну, например iptables -t nat
Ну, например
Хотя я думаю, что вам сюда :)
А если нагородить
такой ахинеи:
Поставить bind на шлюзе, сделать оного "хозяином", а второго бинда (192.168.0.10) - "простым смертным"
Создать acl на мастере с дозволением ведомому:
Ну и пущай себе трудятся... ?
Чтобы сэкономить на
Чтобы сэкономить на правилах?! :) - очень смешно!
И вообще - это дурная привычка - на рутерах/фаерволах ставить сервисы!
Теоритически на фаерволе не должно быть никаких коннектов (тем более снаружи!) - только трансфер внешних коннектов к соответствующим серверам и внутреннего трафика наружу. С соответствующей фильтрацией всего и вся.
Согласен
С этим абсолютно согласен. Это правильная реализация шлюза.
+DMZ
Спасибо.
Чрезвычайно польщен Вашим
Чрезвычайно польщен Вашим признанием моих скромных познаний.
И совершенно сражен столь глубоким по смыслу упоминанием такого чуда, как DMZ.
Но соблаговолит ли великий гуру прояснить, как быть, если серверов несколько/много и они принадлежат к различным уровням безопасности, которых тоже несколько/много? И как будет выглядеть это Ваше великое чудо DMZ? И сохранит ли имя свое?
SysA написал(а): Чрезвычайно
Это зависит от ваших требований к "различным уровням безопасности".
Юзаю DMZ - "5 минут, полёт нормальный"
Но это уже другой вопрос.
Мой же остаётся в силе.
>>Как что-то подобное прописать в IPTABLES не знаю, рассчитываю на вашу помощь.
Спасибо.
Бред
Сори но это полный бред.
ДА это оно
Долго я ходил вокруг да около.
Ваши правила подошли мне.
Может быть ещё подскажите вот это:
клиент Петров с IP 192.168.0.100 должен ходить в мир только на этот сервер (например) 195.195.195.1 и на порт 8974
Спасибо.
Только после того, как
Только после того, как ответите на "еврейский" вопрос Willy ;) - иначе - по линку, что я дал!.. :)
Это уже сер'езно, поскольку юзер может быть не один, тогда могут понадобиться свои цепочки и т.д. и т.п.
SysA написал(а): Только после
К сожалению теперешний админ убил эти правила на моей позапрошлой работе.
Мотивируя это тем что они были глючные. У меня работали без проблем.
Дал он этим компутерам с клиентбанками полный НАТ.
Попробую вспомнить:
${fwcmd} add pass any from VASY_BANK port to BANK_BANK port
${fwcmd} add pass any from BANK_BANK port to VASY_BANK port
С клиентской тачки порт можно не указывать, но есть такие п**доватые клиентбанки которые щимятся с определённого порта.
Вместо IP я указывал хостнейм, только для удобства, так как кассиры шото часто менялись.
Как что-то подобное прописать в IPTABLES не знаю, рассчитываю на вашу помощь.
Да, кстати http://www.freebsd.org/doc/handbook/firewalls-ipfw.html ;)
Спасибо.