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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: IPtables + mail + AD  (Прочитано 1835 раз)

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

Оффлайн mitox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
IPtables + mail + AD
« : 11 Май 2010, 14:34:13 »
Всем доброго дня, возник вопрос по пробросу портов для почты , это если в кратце.

В офисе стоит win2003Ent +  exchange, небольшая сеть на 10 компов , шары, 1ска, и прочее,  начальство решило  для надёжности завести шлюз на Ubunte, недолго думая нашёл старенький пк, накатил на него ubuntu 9.04, настроил iptables, bind9, squid. И всё бы ничего , и инет у всех есть, и почта вроде работает, но вот exchange категорически отказывается работать если ему вместо его родного win2k dns указать dns шлюза ubuntu, и тут я его категорически понимаю.

Так вот сам вопрос, как мне сделать port mapping для почты в iptables? В действительности хотелось бы, чтобы в настройках почты прописывался айпишник шлюза, назначенный порт и всё работало.

Изначально почту открывал так

$IPTABLES -t nat -A POSTROUTING -p tcp --dport 110 -o $INET_IFACE -j SNAT --to-source $INET_IP
$IPTABLES -t nat -A POSTROUTING -p tcp --dport 25 -o $INET_IFACE -j SNAT --to-source $INET_IP



Днс у пользователей надо оставить старый дабы exchange работал

Если нужны какие либо конфиги всё выложу. Заранее извиняюсь если такая тема уже была.

Пысы В линуксе работаю около 2 недель, знаю мало, но узнать побольше стремление есть, помогите  :'(

Крутой каматозник

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #1 : 11 Май 2010, 16:03:15 »
Посмотри в сторону вот этих 2-х вещей:
1) PREROUTING
2) DNAT
Шаг за шагом можно достичь цели.

Оффлайн mitox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #2 : 11 Май 2010, 17:21:54 »
А можно чуть больше конкретики?

К примеру как мне вот это " Любые пакеты приходящие на шлюз на 9025/9110 порты, отправлять на pop.mail.ru:110 / smtp.mail.ru:25 " перевести в правило iptables?

Если лень разжёвывать или что-то объяснять, так и скажите, я пойму



$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 25 -j ACCEPT
$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 110 -j ACCEPT    где я не прав? что необходимо  дописать?
« Последнее редактирование: 11 Май 2010, 17:31:13 от mitox »
Крутой каматозник

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25973
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #3 : 11 Май 2010, 23:11:07 »
-s убери
Выключи ufw, если хочешь разобраться, как работает фильтрация.
И - с какой стороны приходящие?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн mitox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #4 : 12 Май 2010, 05:54:33 »
Приходящие из внутренней локалки 192.168.0.0\24
Крутой каматозник

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25973
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #5 : 12 Май 2010, 07:33:44 »
-t mangle -A PREROUTING -s 192.168.0.0/255.255.0.0 -p tcp -m tcp -d <localIP> --dport 9110 -m conntrack --ctstate NEW -j DNAT --to-destination pop.mail.ru:110

Как-то так.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн mitox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #6 : 12 Май 2010, 09:42:02 »
при запуске скрипта сругнулся на pop.mail.ru / smtp.mail.ru Bad IP Address

мой первый скрипт, собран из разных статей, и я уверен тут куча неправильного, но каким то образом инет и почта раздаются (почта без exchange)
(Нажмите, чтобы показать/скрыть)

« Последнее редактирование: 12 Май 2010, 10:06:46 от mitox »
Крутой каматозник

Оффлайн AndrelaS

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #7 : 12 Май 2010, 10:46:26 »
Тажа проблема, портмэпинг. В док-ах на иптэйблс, да и не только там есть решение нашей проблемы, но почемуто оно не работает :) Вот как я это делаю ( /etc/iptables.up.rules ):

# Generated by iptables-save v1.4.4 on Wed May 12 10:28:00 2010
*nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# pop.mail.ru
-A PREROUTING -p tcp -m tcp -d 192.168.78.201 --dport 9110 -j DNAT --to-destination 94.100.177.6:110
# smtp.mail.ru
-A PREROUTING -p tcp -m tcp -d 192.168.78.201 --dport 9025 -j DNAT --to-destination 94.100.177.1:25
COMMIT
# Completed on Wed May 12 10:28:00 2010
# Generated by iptables-save v1.4.4 on Wed May 12 10:28:00 2010
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Wed May 12 10:28:00 2010
# Generated by iptables-save v1.4.4 on Wed May 12 10:28:00 2010
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Wed May 12 10:28:00 2010

У клиента в почтовой програме сервером указан 192.168.78.201 порт 9110 (для поп) и 9025 (для смтп). Почта не идёт. Есть подозрение что что-то не дописано. и ещё интересно что за цифры " [0:0] " ?
Система Ubuntu Server 10.04LTS

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

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #8 : 12 Май 2010, 12:22:29 »
при запуске скрипта сругнулся на pop.mail.ru / smtp.mail.ru Bad IP Address
Нужно юзать IP-адреса.

но почемуто оно не работает :)
Форвардинг ip трафика включен? sysctl net.ipv4.ip_forward показывает единицу?

и ещё интересно что за цифры " [0:0] " ?
Инициализаторы счётчиков цепочек.

Оффлайн mitox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #9 : 12 Май 2010, 12:32:18 »
забил айпишники, всё также безрезультатно =(
Крутой каматозник

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

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #10 : 12 Май 2010, 13:16:09 »
забил айпишники, всё также безрезультатно =(
Показывай
  • sudo iptables-save
  • sysctl net.ipv4.ip_forward

Оффлайн AndrelaS

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #11 : 12 Май 2010, 14:10:07 »
proxyadmin@proxyserver:~$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0

Что делать чтоб форвардинг включить?

Оффлайн mitox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #12 : 12 Май 2010, 14:30:36 »
Iptables save
(Нажмите, чтобы показать/скрыть)

sysctl net.ipv4.ip_forward =1
Крутой каматозник

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

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #13 : 12 Май 2010, 14:33:10 »
Что делать чтоб форвардинг включить?
Есть несколько способов. Сортировка возрастанию кривизны:
  • Погуглить
  • Создать файлик /etc/sysctl.d/ip_forward.conf с содержимым net.ipv4.ip_forward=1 и перечитать конфиг командой sudo invoke-rc.d procps restart
  • Раскоментировать строку net.ipv4.ip_forward=1 в файле /etc/sysctl.conf и перечитать конфиг командой sudo invoke-rc.d procps restart
  • В иницилиализацонном скрипте прописать команду sysctl net.ipv4.ip_forward=1 и запустить переинициализацию
  • В иницилиализацонном скрипте прописать команду echo 1 > /proc/sys/net/ipv4/ip_forward и запустить переинициализацию
Любое из вышеперечисленных действий приведёт к единому результату разными путями.



Пользователь решил продолжить мысль 12 Май 2010, 12:40:21:
mitox, пропиши так:
iptables -t nat -A PREROUTING  -s 192.168.0.0/24 -d 192.168.0.251 -p tcp --dport 9110 -j DNAT --to 94.100.177.9:110
iptables -t nat -A PREROUTING  -s 192.168.0.0/24 -d 192.168.0.251 -p tcp --dport 9025 -j DNAT --to 94.100.177.2:25
iptables -t nat -A PREROUTING  -s 192.168.0.0/24 -d 192.168.0.251 -p tcp --dport 9111 -j DNAT --to 91.189.80.70:110
iptables -t nat -A PREROUTING  -s 192.168.0.0/24 -d 192.168.0.251 -p tcp --dport 9026 -j DNAT --to 91.189.80.70:25

Пользователь решил продолжить мысль 12 Май 2010, 14:42:50:
-A INPUT -s 192.168.0.0/24 -p tcp -m tcp --dport 22 -j ACCETP
-A INPUT -s 192.168.0.0/24 -p tcp -m tcp --dport 80 -j ACCETP
Жесть. Копипаста сломалась и в ручную переписывал чтоль?
« Последнее редактирование: 12 Май 2010, 14:42:50 от Mam(O)n »

Оффлайн mitox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: IPtables + mail + AD
« Ответ #14 : 12 Май 2010, 14:53:25 »
Огромное спасибо всем кто ответил, всё заработало!

-t mangle -A PREROUTING -s 192.168.0.0/255.255.0.0 -p tcp -m tcp -d <localIP> --dport 9110 -m conntrack --ctstate NEW -j DNAT --to-destination pop.mail.ru:110

mangle меняем на nat, после этого всё поёт и пляшет!  

Спасибо!

Mam(O)n чуть чуть опоздал, я доковырял сам) Спасибо огромное что откликнулся  :coolsmiley:
« Последнее редактирование: 12 Май 2010, 14:57:15 от mitox »
Крутой каматозник

 

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