Всем привет! Есть такая задачка.
Нужно пробрасывать входящее соединение из локалки в интеренет, но чтобы не прописывать шлюз при этом (для забора почты и других целей). Порт при этом желательно изменить. Конфиг, приведенный ниже — пробрасывает соединение куда нужно, получает ответ и кидает обратно в локалку (смотрел по trafshow), но почему-то все это не работает :( Подскажите, как решить эту проблему? Вот конфиг: (FreeBSD)
========================================================
/sbin/natd -n de0 -f /etc/mynatd.conf -p 8668
ipfw add 10 divert 8668 ip from 192.168.1.2 to 192.168.1.55 10110
в mynatd.conf
redirect_port tcp 194.67.57.67:110 192.168.1.55:10110
de0 — это внешний интерфейс
192.168.1.2 — это я
192.168.1.55 — это шлюз
194.67.57.67 — mail.ru
=========================================================
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Опиши задачу поподробнее. Зачем это надо? Может быть, имеет смысл поискать более подходящее решение, а не городить огород.
Привет. Вот такое дело: в главном офисе стоит циска, на нее приходят каналы с других отделений. В каждом отделении циска — гейт, интернета там нет, видно только локальную сеть. Требуется перекидывать в инет некую инфу почтой, но проблема в том, что сервак, который ее получает, знает IP шлюза, который стоит в главном отделении…. Вот и потребовалось организовать проброс соединения. На линухе эта фичка работает с такими настройками:
iptables -A PREROUTING -t nat -p tcp -d ${INSIDE_IP} --dport 10465 -j DNAT --to ${CONTACT_IP}:465
iptables -A FORWARD -p tcp -d ${CONTACT_IP} --dport 465 -o ${OUTSIDE_DEVICE} -j ACCEPT
CONTACT_IP — IP адрес, куда пробрасывать.
А отправлять почту нужно с машин, не находящихся в главном отделении ?
Мне очень сильно кажется, что придется тебе использовать такую вещь , как опцию fwd у ipfw — пакеты форвардятся через указанный интерфейс миную таблицу роутинга.
Вообще, я тебе рекомендую рисовать картинки. ;-) Очень помогает, поверь на слово.
Ага, почту нужно отправлять с машин в отделении. Помимо проброса, еще нужно изменять порты, например, соединение на гейт приходит с порта 10110, а в инет уходит по 110. В принципе все это уже удалось это организовать (пакеты ходят как нада), но почему-то не работает… Вот схема внутренней сети :)
отделение [cisco] ——-|
отделение [cisco] ——-|—[cisco]—[ Главный офис ]—[ BSD гейт ] — инет
отделение [cisco] ——-|
Что значит «все это уже удалось это организовать (пакеты ходят как нада), но почему-то не работает» ?
Либо работает, либо — нет. И почему тебе надо отправлять пакеты так, как будто бы это был ответ почтового сервера ? Может быть, имеет смысл поставить почтовый сервер или дать возможность всем связываться по pop- и smtp-протоколам и не парить себе мозги ? Честно говоря, я вообще не понимаю такой схемы. :-(
Я хотел сказать, что пакетики пробрасываются куда нада, приходит ответ от сервера и попадает на вызывающую машину внутри сети (смотрел по trafshow). Но почему-то все это не срабатывает и пишет, что connection failed.
Поставить почтовый сервер внутри — хорошая идея, но клиенты связываются в инете с серваком по протоколу pop3s (там есть 1 ящик на всех, для отправки и получения почты — требуется пароль.) Вот такая петрушка :)
А чем это мешает поставить сервер или пропускать пакеты на почтовые сервера ?
Дело в том, что машину на FreeBSD нельзя прописывать гейтом у клиентов, иначе у них ничего работать не будет.
Ерунда какая-то.