LINUX.ORG.RU
решено ФорумAdmin

Mikrotik OVPN доступ к сетям клиентов

 ,


0

2

Есть Mikrotik с сервером OVPN. К нему коннектится клиент. Маршруты до сети клиента прописаны, но пингуется только ip клиента из его сети. Раньше на Debian делал настройки ccd, где определял кто куда ходит. Как это сделать в Mikrotik?

Если пингуется ip-адрес клиента из его локальной сети (не ip tun интерфейса), значит маршут работает, и просто не доходят ответные пакеты от компов локальной сети клиента.

mky ★★★★★
()

какая ОС на клиенте?

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

таблицу маршрутизации на клиенте покажите.

Пингуете откуда с микротика или из сетки за ним?

samson ★★
()

А у клиента ответный маршрут есть?

Ну и там всякие дропы icmp, но главное - сам маршрут

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)

да, если у клиента vpn не является маршрутом по умолчанию, то маршрут к подсети за микротиком на клиенте нужен (через vpn).

еще нужен маршрут на машинах в сети клиента через «клиента», если он (клиент) не default gw естественно.

ну и форвардинг тоже тоже обязателен.

вы покажите таблицы маршрутизации на клиенте, на микротике и на машинах в сети клинта и микротика (с которых пингуете дрг друга)

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

Клиент на арче.

Домашняя сеть с Микротиком 192.168.88.0/24

OVPN сеть 192.168.99.0/24

Рабочая сеть с клиентом 192.168.63.0/24

Маршруты клиента:

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  192.168.99.0/24      anywhere

Из домашней сетки я вижу напрямую машину клиента по его рабочему ip. forwarding включен. Дело в том, что я уже делал это с OVPN, который стоял на сервере, а не на роутере, и решалось это прописыванием сетки у конкретного клиентского конфига.

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

это не маршруты а правила nat

MASQUERADE all  — 192.168.99.0/24 anywhere

это для чего? походу еще и на микротике nat есть в туннель...

Из домашней сетки я вижу напрямую машину клиента по его рабочему ip

Mikrotik OVPN доступ к сетям клиентов (комментарий)

у хостов в рабочей сети маршрут до 192.168.88.0/24 через клиента есть (маршрут по умолчанию через него)?

Если вам надо что бы сети 192.168.88.0/24 и 192.168.63.0/24 «видели друг друга», то тут нужна только маршрутизация. NAT не нужен. NAT нужен для выхода в инет.

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

MASQUERADE all — 192.168.99.0/24 anywhere

это для чего? походу еще и на микротике nat есть в туннель...

Для случая когда у сети клиента маршрутом по умолчанию не является машина с клиентом ovpn и нет возможности сообщить о сетях за ovpn это как раз одно из решений.

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

Запустите tcpdump на сервере, клиентах и посмотрите где затыкается. Кстати может где-то еще fw дропает.

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

Вы опишите схему подробне. И чего вы хотите добиться?

сеть 192.168.88.0/24 за микротиком IP_MIKROTIK 192.168.88.1. Микротик - шлюз по умоляанию для этой сети, правильно?

192.168.99.0/24 OVPN сеть 192.168.99.1<->192.168.99.2 - туннель.

сеть 192.168.63.0/24 за клиентом IP_CLIENT 192.168.63.1. CLIENT - шлюз по умолчанию для хостов 192.168.63.0/24, так?

вам надо просто из домашней сети видеть компы рабочей сети за клиентом? или надо что бы сети «видели друг друга» в обе стороны?

Если первое, то достаточно, сделать snat на клиенте и на мкротике прописать маршрут до сети 192.168.63.0/24 через тунель.

Если второе, то snat не нужен, нужны маршруты в сеть 192.168.88.0/24 на клиетнте и на хостах сети клиента.

И в том и в другом случае нужен маршрут на микротике до сети 192.168.63.0/24 через туннель.

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

как раз одно из решений

долго писал)

но это решение, если на микротике тоже есть nat на выходе в туннель, если нет, то SRC адрес будет другой и правило не сработает

samson ★★
()
Последнее исправление: samson (всего исправлений: 1)

давайте вывод

на микротике

/ip route pr
/ip firewal nat pr

на клиенте

ip ro
iptables-save

и что не маловажно на машине/ах за клиентом

ip ro

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

MASQUERADE all  — 192.168.99.0/24 anywhere

на кленте попробуйте

iptables -t nat -A POSTROUTING -s 192.168.88.0/24 -o eth0 -j MASQUERADE

eth0 - локальный интерфейс

samson ★★
()
Последнее исправление: samson (всего исправлений: 3)
Ответ на: комментарий от samson

Ой, блина, чего-то я ступил, прямо аж стыдно :( ТС вот это мое сообщение Mikrotik OVPN доступ к сетям клиентов (комментарий) можно считать полной чушю.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anc

а почему? все верно. Тут просто все зависит от того, что хочет добиться ТС и от того, как это на данный (nat+маршрутизация) момент настроено.

если на микротике есть nat на выходе в туннель - то все как вы и говорите

samson ★★
()
Последнее исправление: samson (всего исправлений: 1)
Ответ на: комментарий от samson

Не не, я не внимательно прочитал. Почему-то посчитал что речь про доступ с другого клиента ovpn. А тут схема проще сервер+один клиент

если на микротике есть nat на выходе в туннель

Да зачем такой изврат в целом-то? Предлагаю считать что его нет, и начинать с простого, то что вы уже предложили Mikrotik OVPN доступ к сетям клиентов (комментарий) точнее существующее правило конечно тоже можно оставить, для тестов с микротика.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 3)
Ответ на: комментарий от anc

Ну вообще тут nat либо совсем не нужен. Это в случае, когда сети должны видеть друг друга в обе стороны.

Либо nat только на клиенте, если на хостах за клиентом нет возможности раздать маршрут и клиент для них не шлюз по умолчанию, как уже сказано выше. Это же касается случая, если надо скрыть сеть за микротиком для сети за клиентом.

Лишний nat без причины городить не за чем, если все решается маршрутизацией.

пускай ТС приводит вывод таблиц nat/routing и скажет чего надо добиться, а там уж и советы давать будем...

samson ★★
()
Ответ на: комментарий от samson
iptables -t nat -A POSTROUTING -s 192.168.88.0/24 -o eth0 -j MASQUERADE

Вот это помогло. Я не шибко разбираюсь в настройках nat, можете в двух словах объяснить, что тут происходит?

pozitiffcat ★★★
() автор топика
Последнее исправление: pozitiffcat (всего исправлений: 1)
Ответ на: комментарий от pozitiffcat

Объясню за samson, хотя подобных объяснений очень много, просто вы поиском не пользуетесь. Буквально не давно подобное объяснял. Есть сеть 192.168.63.0/24 у нее например defgw 192.168.63.254. Ваш клиент ovpn 192.168.63.100. Входящий пакет от например 192.168.88.100 прилетит согласно таблиц маршрутиризации, но вот ответный от 192.168.63.100 уйдет через defgw 192.168.63.254, т.е. другим маршрутом, через defgw 192.168.63.254.
Поэтому решений несколько. Раздавать роут до вашей сети 192.168.88.0/24 клиентам сети 192.168.63.0/24 через 192.168.63.100 (тоже возможны проблемы в основном в вин клиентами и их fw) Предложенный выше samson вариант маскирует адрес отправителя, клиенты в сети 192.168.63.0/24 считают что общаются с адресом 192.168.63.100 (клиент ovpn). Минусы: В обратную сторону без роутинга работать не будет. Клиенты в сети 192.168.63.0/24 будут считать что обращается только 192.168.63.100, разобрать нет возможности, кто из сети 192.168.88.0/24 конкретно к ним обращался.

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

Супер, спасибо. Теперь я понял почему не пинговались другие машины. Получается, что если без маскирования, то мне нужно было бы роутинг на всех машинах прописывать до машины клиента ovpn?

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

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

Да. А вот каким образом, тут тоже варианты. Простые:
1-ой. с dhcp раздавать этот маршрут.
2-ой. на роутере (для выше придуманного мной примера 192.168.63.254), прописать маршрут, он будет отдавать ридерект маршрута, в общем и целом тоже работать должно. Но вот, не все, и не всегда нормально работают (оффтоп был замечен с глюками, и за мобильнички точно не отвечу) хотя по стандарту должно работать точно :)

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

Попробовал с маршрутом. Работает. Теперь я целиком понял принцип. Спасибо. Но мне и маскарада хватит для моих целей )))

pozitiffcat ★★★
() автор топика
Последнее исправление: pozitiffcat (всего исправлений: 1)
Ответ на: комментарий от pozitiffcat

А вот если бы сразу однозначно описали схему/структуру вашей сети и онднозначно сформулировали задачу, еще бы и таблицы nat/route показали, то получили бы решение в течении 3х часов в первом же ответе ;)

А так пришлось догадываться, что «клиент» - не является gateway для хостов его сети, что вам всего-то надо из «домашней» сети за микротиком видеть компы «рабочей» сети за клиентом...

Правильно поставленный вопрос содержит основную часть ответа!)

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