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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Проблема с IPTABLES, DNS и почтой  (Прочитано 2379 раз)

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

Оффлайн TarikS

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Проблема с IPTABLES, DNS и почтой
« : 19 Июня 2012, 06:36:18 »
Есть роутер на ubuntu(10.0.0.105) с двумя lan интерфейсами
uname -a
(Нажмите, чтобы показать/скрыть)
cat /etc/network/interfaces
(Нажмите, чтобы показать/скрыть)
в локальной сети компьютеры получают ip автоматом (10.0.0.xxx) от 10.0.0.105
В сети есть прокси сервер squid с ip 10.0.0.6:3128
10.0.0.5 10.0.0.7 - мои компьютеры
Подскажите какие правила добавить в iptables чтобы пользователи сети ходили в интернет через прокси (10.0.0.6), а почту получали напрямую (роутер 10.0.0.105)(клиенты Bat и Outlook). Мои компьютеры ходили напрямую. Я запутался и не могу сообразить!
На данный момент все ходят через прокси (10.0.0.6), но почту не получают. Если добавляю правило -A INPUT -s 10.0.0.x/32 -j ACCEPT, то пользователь с 10.0.0.x/32 благополучно посещает внешний мир без прокси, что не допустимо... :idiot2:
настройки на 10.0.0.105:
cat /etc/iptables.up.rules
(Нажмите, чтобы показать/скрыть)

cat /etc/resolv.conf
(Нажмите, чтобы показать/скрыть)

стоит DNSMasq
cat /etc/dnsmasq.conf
(Нажмите, чтобы показать/скрыть)

Оффлайн Yuriy_Y

  • Старожил
  • *
  • Сообщений: 1736
    • Просмотр профиля
    • Новоишимка
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #1 : 19 Июня 2012, 07:02:53 »
Прокси - это другая машина чтоли? Почему бы прямо на этом роутере не поднять сквид и настроить его как прозрачный прокси? Тогда мимо него не пройдешь уже точно. Или просто разрешить иптаблесами доступ во внешку по портам 25(SMTP) и 110(POP3).
« Последнее редактирование: 19 Июня 2012, 07:04:46 от Yuriy_Y »
С уважением, Юрий.

Оффлайн TarikS

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #2 : 19 Июня 2012, 07:15:16 »
Все верно: Прокси - другая машина с 10.0.0.6 , Роутер слабенькая машина, да и настроено так до меня было.
Как разрешить доступ во внешку по портам 25(SMTP) и 110(POP3)?
У меня это сделано неправильно?
(Нажмите, чтобы показать/скрыть)
Что то не хватает? Что нужно добавить, исправить?

Оффлайн Yuriy_Y

  • Старожил
  • *
  • Сообщений: 1736
    • Просмотр профиля
    • Новоишимка
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #3 : 19 Июня 2012, 07:21:49 »
Все верно: Прокси - другая машина с 10.0.0.6 , Роутер слабенькая машина, да и настроено так до меня было.
А мощную и не надо. Примерно на 50 машин в локалке хватит самого дохлого цаплерончега с 128 метрами, имхо.

Как разрешить доступ во внешку по портам 25(SMTP) и 110(POP3)?
У меня это сделано неправильно?
Я еще сильно в иптаблесы не вкуривался. Щас гуру проснутся, ответят.  ;)
С уважением, Юрий.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #4 : 19 Июня 2012, 09:00:36 »
Цитировать
-A INPUT -p tcp -m tcp -m multiport -j ACCEPT --sports 25,110
лишнее, если на шлюзе нет почтового сервера (а его там судя по всему нет)

Оффлайн TarikS

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #5 : 19 Июня 2012, 09:07:01 »
почтового сервера действительно нет, правило убрал. Но это не решает проблему.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #6 : 19 Июня 2012, 10:01:24 »
Просто немного некогда, потому...
Нужно составить алгоритм ветвления пакетов:
1. в nat/prerouting - все пакеты из локальной сети с правильных IP-адресов (коими являются Ваши компы и прокси) пропускаем
2. в nat/prerouting - все пакеты из локальной сети по портам 80,8080 и т.д. заворачиваем на прокси
3. в filter/forward - пропускаем все пакеты от правильных IP-адресов (остальные дропаются дефолтным правилом)

Будет выглядеть примерно такiptables -t nat -A PREROUTING -i eth1 -s 10.0.0.5,10.0.0.6,10.0.0.7 ! -d 10.0.0.0/24 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -s 10.0.0.0/24 ! -d 10.0.0.0/24 -p tcp -m multiport --dports 80,443,5190,8080 -j DNAT --to-destination 10.0.0.6:3128
iptables -A FORWARD -i eth1 -s 10.0.0.5,10.0.0.6,10.0.0.7 -o eth0 -j ACCEPT

Прошу заметить, что я обрисовал правила только для использования прокси с исключением своих
« Последнее редактирование: 19 Июня 2012, 10:05:03 от fisher74 »

Оффлайн TarikS

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #7 : 19 Июня 2012, 12:09:51 »
Просто немного некогда, потому...
Спасибо Вам. Я не тороплюсь. Подожду. Хочется просто разобраться.

Попробовал Ваши правила. В работе практически ничего не поменялось, за исключением того что теперь если у пользователя сети явно не прописан прокси (10.0.0.6:3128) его поток по указанным портам (80,443,5190,8080) по идее должен заворачиваться на 10.0.0.6:3128 (предполагаю,проверить пока нет возможности)
Основная проблема - Почта. Как правильно ее пустить напрямую со всей сети?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #8 : 19 Июня 2012, 12:13:53 »
Ах да, про почту-то...
iptables -A FORWARD -i eth1 -s 10.0.0.0/24 ! -d 10.0.0.0/24 -p tcp -m multiport --dport 25,110 -j ACCEPT

Оффлайн TarikS

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #9 : 19 Июня 2012, 12:27:45 »
У меня вроде тоже самое написано, но попроще.
-A FORWARD -p tcp -m state -m tcp -s 10.0.0.0/8 --dport 25 --state NEW -j ACCEPT
-A FORWARD -p tcp -m state -m tcp -s 10.0.0.0/8 --dport 110 --state NEW -j ACCEPT


Попробовал и Ваше правило, результат тот же. Почтовый клиент сообщает: Fetch - Невозможно соединиться с сервером.
Порты в клиенте точно 25 и 110. Вот если по дефолту не дропать, то почта работает. Но.. нужно дропать... :-\

Мистика! Удалил все правила, перезагрузил машину, добавил по новой правила. И, о чудо, работает!  :idiot2: Не понял что произошло.
Я рано радовался. При переподключении сетевого подключения почтовый клиент снова сообщает: Fetch - Невозможно соединиться с сервером.

При той же самой конфигурации iptables, но если:

:FORWARD ACCEPT [0:0]
:localnet - [0:0]
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]


почта не работает, но если так:

:FORWARD DROP [0:0]
:localnet - [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]


то почта работает
Следовательно что то блокируется в INPUT...
« Последнее редактирование: 19 Июня 2012, 13:36:00 от TarikS »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #10 : 19 Июня 2012, 14:21:31 »
Пошёл за попкорном, приду - буду наблюдать за Вашими изысканиями

Оффлайн TarikS

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #11 : 20 Июня 2012, 07:24:43 »
Вообщем добавил правило:
-A INPUT -s 10.0.0.0/24 -j ACCEPT
по дефолту:
:FORWARD DROP [0:0]
:localnet - [0:0]
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]

почта заработала.
Интернет в браузере без указания прокси не работает, указываем прокси  - работает. Вроде все как и требовалось, но что то смущает и настораживает. Правильно ли?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #12 : 20 Июня 2012, 08:10:05 »
Я так и не понял: почтовик Ваш или на большой поляне?

Оффлайн TarikS

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #13 : 20 Июня 2012, 08:15:11 »
На большой поляне.

___________________
Запустил на клиентской машине Process Monitor. Запускаю почтовый клиент. Пытаюсь проверить почту. Вот тут и оказывается что адрес то не резолвится.
А правило:
-A INPUT -p tcp -m tcp --sport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT

вроде как есть!
Добавил:
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT

убрал:
-A INPUT -s 10.0.0.0/24 -j ACCEPT

И вроде работает пока!  :idiot2:
« Последнее редактирование: 20 Июня 2012, 08:22:43 от TarikS »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проблема с IPTABLES, DNS и почтой
« Ответ #14 : 20 Июня 2012, 08:37:36 »
Откройте для себя какая цепочка за что отвечает (INPUT, OUTPUT и FORWARD)

 

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