Задать вопрос
@kinoshnik

Как пробросить VPN клиентов в локальную сеть?

5d79f1996b85b374875247.jpeg

Доброго времени суток. Такая проблема - нужно организовать vpn канал между удаленным сервером (CentOS) и офисом. То есть, клиент должен заходить по внешнему IP сервера и по vpn попадать во внутреннюю сеть офиса.

Тунель поднят по PPTP, все хорошо, роутер (микротик) и vpn сервер видят друг друга. В iptables добавлены правила нат, например я 80 порт с 89.40.30.1 пробрасываю на морду микротика (192.168.40.2), все работает, из локалки интернет по vpn работает.

Однако дальше микротика ничего не видно (хотя сам микротик видит локалку) Микротик создает сам динамический маршрут до vpn-сервера, и видит его.

Конфиг iptables:
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
-I PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.10
COMMIT
#
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -i eth0 -p gre -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p gre -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
-A FORWARD -i ppp+ -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o ppp+ -j ACCEPT
-A FORWARD -i ppp+ -o ppp+ -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT


Статический маршрут добавлен:
192.168.0.1/24 via 192.168.40.2 dev ppp0

Подскажите, куда копать - это iptables надо настраивать, или в микротике беда?
  • Вопрос задан
  • 1188 просмотров
Подписаться 3 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 4
20ivs
@20ivs
Пользователь пока ничего не рассказал о себе.
ИМХО, вам надо на микроте прописать маршрут из 192.168.0.0/24 в 192.168.40.0/24 через 192.168.40.1.
скорее всего пинги с 192.168.40.1 до 192.168.0.1 доходят, но вернуться не могут, не знают маршрута.
а еще проверьте
192.168.0.1/24 via 192.168.40.2 dev ppp0

надо 192.168.0.0/24 via 192.168.40.2 dev ppp0
Ответ написан
Комментировать
@kinoshnik Автор вопроса
Нет, не пошло :(
Микротик видит сервер, сервер видит микротик, а вот сервер локалку ну ни в какую...
Ответ написан
Комментировать
Radjah
@Radjah
Ключевые слова "client-config-dir", "push", "route", "iroute".
Сервер должен знать, за каким клиентом находится сеть 192.168.0.0/24.

Для tun делается элементарно с помощью push маршрутов клиентам.
Ответ написан
Комментировать
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Так как соединение у вас инициируется только со стороны клиента, работающего через VPN- то проще на микротике поднять еще один NAT аналогично VPN серверу - это позволит не загоняться с маршрутизцией на промежуточных точках.
Получится так - VPN сервер NATит все пакеты от клиентов в 192.168.40.1, микротик NATит 192.168.40.1 в свой адрес 192.168.0.х

Второй вариант-поднять VPN сервер на Mikrotik. Вообще можно обойтись без сервера.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы