LINUX.ORG.RU
ФорумAdmin

Помогите с iptables+pptp

 , , , ,


0

1

Стоит одна сетевая карта (eth0 192.168.1.4 gw 192.168.1.1 ppp0 192.168.2.200). Необходимо чтобы пользователи локалки (192.168.1.0) видели сеть удаленного офиса (192.168.2.0), при этом шлюз у них другой. На пользовательских ПК прописываю маршрут до 192.168.2.0 через 192.168.1.4 (ubuntu), а вот iptables победить не получается. Сейчас там два правила: -A POSTROUTING -o ppp0 -j MASQUERADE -A POSTROUTING -o eth0 -j MASQUERADE Пингуется все в обе стороны, все порты открыты, к примеру радмин работает в обе стороны. Но не работает программа кассы, хотя если VPN устанавливать с кассы то все ОК. Похоже все дело в маскараде, как правильно нат настроить без него?

modprobe -l | grep pptp

обычно modprobe nf_nat_pptp должно помочь

anonymous
()

NAT тебе зачем? Тебе FORWARD надо открывать, это раз. По каким портам работает эта «программа кассы»? Трафик tcpdump-ом смотрел?

Pinkbyte ★★★★★
()
Ответ на: комментарий от Yur4eg

Как тогда сделать маршрутизацию? все сегменты обоих сетей должны видеть друг друга. Программа не на одной машине, а на двух, вариант с пробросом портов последний. Желательно чтобы все работало как единая сеть.

mailnvk
() автор топика
Ответ на: комментарий от mailnvk

Ещё раз, зачем вам правило:

-A POSTROUTING -o eth0 -j MASQUERADE

В локалке 192.168.2.0/24 есть маршрут до 192.168.1.0/24 или там шлюз по умолчанию совпадает с точкой терминирования pptp-тунеля?

mky ★★★★★
()
Ответ на: комментарий от mailnvk

Так минуточку какие еще все сегменты? В первом сообщении сегментов два 192.168.1.0 и 192.168.2.0. Пользователям, что сидят в сети 192.168.1.0 ты прописал маршрут в сеть 192.168.2.0 через 192.168.1.4 Допустим роутер 192.168.1.4 настроен верно и трафик в 192.168.2.0 беспрепятственно уходит, но пользователям из второй сетки я полагаю это подключенные по pptp, надо тоже знать через кого отправлять ответы в 192.168.1.0

Yur4eg ★★
()
Ответ на: комментарий от Yur4eg

[IMG]http://s003.radikal.ru/i203/1206/25/c15d5ce465adt.jpg[/IMG] По ссылке Схема сети (если здесь не отобразится). Почему построено так, а не подругому не спрашивайте, делал не я, а заказчик переделывать ничего не хочет.

По шагам: 1. Устанавливается VPN соединение, после этого с 192.168.1.4 видно локалку 192.168.2.0, но пользователи сети 192.168.1.0 эту сеть не видят, ровно как и наоборот. 2. Прописываем маршруты на пользователях 192.168.1.0: route add 192.168.2.0 mask 255.255.255.0 192.168.1.4 -p. Теперь пользователи знают через что ходить во 2-ю подсеть, но по прежнему ее не видят, т.к. 192.168.1.4 не сном не духом об этих телодвижениях. 3. Прописываем на 192.168.1.4: -A POSTROUTING -o ppp0 -j MASQUERADE. Теперь пользователи сети 192.168.1.0 видят и щупают сеть 192.168.2.0, но не наоборот. 4. Прописываем на 192.168.2.1: rout add 192.168.1.0 mask 255.255.255.0 192.168.2.226 if 192.168.2.225. Пользователи 192.168.2.0 по прежнему нихрена не зрят, т.к. 192.168.1.4 не в курсах что из ppp0 нужно когото впускать в eth0 5. Прописываем карнавал на 192.168.1.4: -A POSTROUTING -o eth0 -j MASQUERADE 6. Теперь пользователи обоих сетей друг друга видят и щупают по всем портам, но одна загвоздка, не робит программа на кассе (client 192.168.1.20), которая должна синхронизироваться с сервером (192.168.2.50), хотя они друг друга прекрасно видят, пингуют, и заходят по радмину с обоих сторон. Получается при синхронизации клиент отсылает данные, а получить не может. Собсвенно вопрос, как это разрулить без маскарада?? так как все подозрение на него, не зря же он IP-шники прячет!

mailnvk
() автор топика
Ответ на: комментарий от mailnvk

Глаза сломал пока прочитал. Отформатировал бы списочек абзацами по пунктам что ли. Небольшой ликбез. У ip пакета есть два заголовка с адресами источник и назначение. Сам пакет не знает как ему найти дорогу, маршрутизатор в простейшем случае ищет, маршрут, такой что сеть назначения совпадает с адресом назначения в пакете и отправляет пакет на интерфейс привязанный к этому маршруту, следующему роутеру, тот следующему и так до получателя. Такая схема называется next-hop Фаервол напрямую не участвует в выборе маршрута. Правило

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
переписывает адрес источника на ip пакете, POSTROUTING намекает нам что это происходит уже после маршрутизации. Так что после второго пункта, трафик уже и так уходит в сеть 192.168.1.0 Убери правила маскарада и посмотри что происходит при пингах
tcpdump -ni ppp0
tcpdump незаменимая утилита для дебага фаервола, ее прийдется освоить. Скорее всего не что то не так с маршрутами на серевере c windows xp.

Yur4eg ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.