Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Проброс DNS (или по какой причине не рабоатет шлюз)  (Прочитано 3279 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн it-help

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
    • За помощью обращаться сюда!
Доброго здоровья бояре ;)
Такая вот проблема. Есть шлюз о двух сетевых картах (eth0 и eth1)
Собсно eth0 это инет и пусть будет 192.168.2.3
а ифейс eth1 это 192.168.5.1
Кто не верит то вот ifconfig
eth0      Link encap:Ethernet  HWaddr 00:00:21:2d:4e:dc
          inet addr:192.168.2.3  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::200:21ff:fe2d:4edc/64 Диапазон:Ссылка
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13050 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3101 errors:0 dropped:0 overruns:0 carrier:0
          коллизии:0 txqueuelen:1000
          RX bytes:3522513 (3.5 MB)  TX bytes:821652 (821.6 KB)
          Прервано:11 Base address:0xc000

eth1      Link encap:Ethernet  HWaddr 00:1e:58:a7:f3:cb
          inet addr:192.168.5.1  Bcast:192.168.5.255  Mask:255.255.255.0
          inet6 addr: fe80::21e:58ff:fea7:f3cb/64 Диапазон:Ссылка
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9415 errors:0 dropped:0 overruns:0 frame:0
          TX packets:103 errors:0 dropped:0 overruns:0 carrier:0
          коллизии:0 txqueuelen:1000
          RX bytes:1082174 (1.0 MB)  TX bytes:19513 (19.5 KB)
          Прервано:10 Base address:0xc000

lo        Link encap:Локальная петля (Loopback)
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Диапазон:Узел
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          коллизии:0 txqueuelen:0
          RX bytes:720 (720.0 B)  TX bytes:720 (720.0 B)


Есть iptables

#!/bin/sh

NET_IF=eth0
NET_IP=192.168.2.3
LAN_IF=eth1
LAN_IP=192.168.5.1
LOOP=lo
LAN=192.168.5.0/24


iptables -F
iptables -X
iptables -t nat -F

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i $LOOP -j ACCEPT
iptables -A OUTPUT -o $LOOP -j ACCEPT
iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT


iptables -t nat -A POSTROUTING -o $NET_IF -j SNAT --to-source $NET_IP
iptables -t nat -A PREROUTING -p udp -d $LAN_IF --dport 53 -j DNAT --to-destination 192.168.2.1:53 №Попытка пробросить все с внутреннего ифейса на DNS провайдера
iptables -t nat -A POSTROUTING -p udp -d 192.168.2.1 --dport 53 -j SNAT --to-source $NET_IF#Проброс DNS провайдера на внешний ифейс.
iptables -A INPUT -p ICMP -j ACCEPT
iptables -A INPUT -p UDP -j ACCEPT
iptables -A INPUT -p TCP --dport 22 -j ACCEPT
iptables -A INPUT -p TCP --dport 53 -j ACCEPT

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables-save > /home/firewall.viev

exit 0

Вот что показывает iptables-save

# Generated by iptables-save v1.4.4 on Wed Jan 27 14:42:24 2010
*nat
:PREROUTING ACCEPT [18:1664]
:POSTROUTING ACCEPT [2:156]
:OUTPUT ACCEPT [4:302]
-A POSTROUTING -o eth0 -j SNAT --to-source 192.168.2.3
COMMIT
# Completed on Wed Jan 27 14:42:24 2010
# Generated by iptables-save v1.4.4 on Wed Jan 27 14:42:24 2010
*filter
:INPUT DROP [22:2120]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [13:1138]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p udp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Wed Jan 27 14:42:24 2010


Но вот незадача - при попытке выйти в интернет ничего не получается. получается только если знать IP сайта. На лицо явные проблемы с DNS / как это разрулить силами iptables? Либо оформить проброс, либо развернуть дополнительную софтину? пробовал настроить Bind9 - не осилил.

Пинги идут, tracert тоже.
echo 1 > /proc/sys/net/ipv4/ip_forward    прописан в rc.local  и стартует при загрузке системы.


Второй вопрос вот в чем. есть несколько офисов(удаленных) в которых на шлюзах стоит FreeBSD/ Настроенно тунелирование с использованием GIF
Как реализовать туннель в Ubuntu 9.10 что бы все сошлось с Фряшкой?


Буду очень признателен за помощь.
Есть только два состояния души - пессимизм и оптимизм,
остальное все синонимы пессимизма.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25931
    • Просмотр профиля
Для начала, прежде чем грешить на IPT, сделай нам
cat /etc/resolv.conf
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн it-help

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
    • За помощью обращаться сюда!
Пожалуйста барин
# Generated by NetworkManager
nameserver 192.168.2.1

Это адрес того шлюза через который приходит инет в нашу организацию. Собсно ему на замену я и готовлю данный шлюз.
Есть только два состояния души - пессимизм и оптимизм,
остальное все синонимы пессимизма.

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
iptables -t nat -A PREROUTING -p udp -d $LAN_IF --dport 53 -j DNAT --to-destination 192.168.2.1:53 №Попытка пробросить все с внутреннего ифейса на DNS провайдера
iptables -t nat -A POSTROUTING -p udp -d 192.168.2.1 --dport 53 -j SNAT --to-source $NET_IF#Проброс DNS провайдера на внешний ифейс.
После -d и --to-source надо указывать ip адрес, а не имя интерфейса.

развернуть дополнительную софтину?
dnsmasq - кеширующий прокси. Работает сразу после установки.

Оффлайн it-help

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
    • За помощью обращаться сюда!

После -d и --to-source надо указывать ip адрес, а не имя интерфейса.

Блин.) А ларчик просто открывался. Спасибо помогло.


Теперь собственно вторая часть вопроса:

есть несколько офисов(удаленных) в которых на шлюзах стоит FreeBSD/ Настроенно тунелирование с использованием GIF
Как реализовать туннель в Ubuntu 9.10 что бы все сошлось с Фряшкой?

Все офисы имеют реальные айпишники.

И еще
будет ли работать данный фаервол при использовании прозрачного squid? В перспективе хочу ввести статистику по трафику и подблокировать некоторые ресурсы.

Пользователь решил продолжить мысль 28 Январь 2010, 17:25:05:
Вопрос на засыпку
Что может такого стоять в десктоп версии, что не стоит в сервере. Столкнулся вот с чем. Удалось настроить все о чем писал в самом первом посте (люди правильную правду подсказали). Заметил что немного подтормаживает инет, при работе на шлюзе и решил подальше от соблазня поставить там Ubuntu сервер. Переставил все с одинаковыми данными и настройками. скрипт iptables скопировал (на десктопе работал 100%)
Сейчас не работает. Интерфейс eth1 не пингуется даже.

Кто подскажет где копнуть? Кстати в debiane 5.0.3 была точно такая жаба - собственно из-за этого начал эксперименты с Ubuntu.
« Последнее редактирование: 28 Январь 2010, 17:25:05 от it-help »
Есть только два состояния души - пессимизм и оптимизм,
остальное все синонимы пессимизма.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25931
    • Просмотр профиля
Может быть так, что интерфайсы получили разные имена.
Проверь
iptables -a
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн it-help

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
    • За помощью обращаться сюда!
Та в том то и дело что даже если интерфейся получили разные имена, я корректировал скрипт.
Сейчас промучавшись все это время могу сказать одно. Работает у меня и Ubuntu desktop (из коробки) и на Debian 5 (тут пришлось ставить базовую систему а потом доустанавливать несколько пакетов   sudo apt-get install ipmasq dnsmasq resolvconf   если кому интересно)

и почему то не работает правило iptables -t nat -A POSTROUTING -o $Интерфейс интернета(внешний) -j SNAT --to-source $Исходящий_IP_адрес
вместо этого пришлось прописать -j MASQUERADE (что дает опеределенно более высокую нагрузку на шлюз.)

Сейчас все оставил на Debian 5/ Ищу информацию о том как настроить подсчет трафика и раздачаего определенным пользователям в организации.
Есть только два состояния души - пессимизм и оптимизм,
остальное все синонимы пессимизма.

Оффлайн Просто Царь

  • Активист
  • *
  • Сообщений: 936
    • Просмотр профиля
в качестве системы учета могу порекомендовать traffpro

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25931
    • Просмотр профиля
Чудеса, да и только... У мну на 8.04 без проблем... правда, чуток другая настройка.
(Нажмите, чтобы показать/скрыть)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.057 секунд. Запросов: 22.