База знаний
База знаний:
pfSense - Mikrotik. Удаленный доступ через два WAN / OpenVPN интерфейса
Автор [ADMINGROUP] Oleksandr Usov,
Notice
Undefined index: lastmodifiedby (./__swift/cache/91a994f85f9b0c3e5bee9515d3a61aa7.php:44)
Copy to clipboard:
[ADMINGROUP] Oleksandr Usov на 30 August 2014 05:57 PM

Теория. Дано:

 - домашний роутер Mikrotik;
 - интерфейс провайдера ether1-isp1 (шлюз по умолчанию 10.8.67.1);
 - IP от провадера получаем серый, за NAT-ом (динамический);
 - интерфейс vpn-teleservice - openvpn-туннель (клиент 10.0.21.2) с удаленным сервером (назовем этот сервер teleservice и работает он на pfsense) - его OpenVPN IP - 10.0.21.1;
 - в локальной сети дома (192.168.77.0/24) есть проводные (интерфейс bridge1) и беспроводный (wlan1) клиенты.

Вместо vpn данный пример может подойти для ситуации с наличием второго провайдера.


Задача: предоставить удаленный доступ к веб-интерфейсу оборудования в домашней сети, например, к GSM-шлюзу (подключенному через интерфейс bridge1).

На сервере teleservice, у которого есть статический белый IP настраиваем NAT - Port Forwarding. Допустим, стандартный 80-й порт уже занят на сервер, тогда перенаправляем через порт 90 на IP GSM-шлюза в локальной сети и его порт 80. Но не суть важно, какой на какой порт перенаправлять.
 
Основная проблема, которую решаем, это то, что ответы на входящие соединения из туннеля уходят через маршрут по умолчанию - т.е. через шлюз нашего провайдера, а не обратно через OpenVPN-туннель. Дальнейшие действия позволяют добиться правильной ответной маршрутизации с помощью маркировки проходящих пакетов. Попытка настроить NAT на все пакеты, уходящих через интерфейс OpenVPN (на сервере) ожидаемого результата (что IP источника превратится в 10.0.21.1) не дала: источник соединений все равно остается реальным IP-клиента, безуспешно устанавливающего соединение с веб-интерфейсом GSM-шлюза.

Настройка туннеля в данную инструкцию не входит, но также помогло в решении проблемы добавления маршрутов в локальную сеть микротика на стороне сервера (pfsense) в разделе Advanced Settings задать явно маршрут

Примеры этого взяты отсюда - http://www.linux.org.ru/forum/admin/8455497

route 192.168.77.0 255.255.255.0 10.0.21.2

Где 10.0.21.2 - впн-туннельный айпи, выдаваемый тому или другому клиенту, и, соответсвенно, его локальная сеть - 192.168.77.0.

 

Итак, решение проблемы маркировкой пакетов в Mikrotik:


#Метим входящие пакеты на интерфейсы isp1 и teleservice:    

/ip firewall mangle
add action=mark-connection chain=input disabled=no in-interface=\
    ether1-isp1 new-connection-mark=isp1-in passthrough=yes
/ip firewall mangle    
add action=mark-routing chain=output connection-mark=isp1-in disabled=no \
    new-routing-mark=isp1-out passthrough=no


/ip firewall mangle
    add action=mark-connection chain=input disabled=no in-interface=\
    vpn-teleservice new-connection-mark=teleservice-in passthrough=yes
/ip firewall mangle
    add action=mark-routing chain=output connection-mark=teleservice-in disabled=no \
    new-routing-mark=teleservice-out passthrough=no


/ip firewall mangle
add chain=prerouting in-interface=ether1-isp1 action=mark-connection new-connection-mark=connection_isp1

/ip firewall mangle
add chain=prerouting in-interface=vpn-teleservice action=mark-connection new-connection-mark=connection_teleservice


#Метим трафик от Lan/Wlan уходящий в интернет или OpenVPN-туннель
/ip firewall mangle
add chain=prerouting in-interface=bridge1 connection-mark=connection_isp1 action=mark-routing new-routing-mark=isp1-out

/ip firewall mangle
add chain=prerouting in-interface=bridge1 connection-mark=connection_teleservice action=mark-routing new-routing-mark=teleservice-out

/ip firewall mangle
add chain=prerouting in-interface=wlan1 connection-mark=connection_isp1 action=mark-routing new-routing-mark=isp1-out

/ip firewall mangle
add chain=prerouting in-interface=wlan1 connection-mark=connection_teleservice action=mark-routing new-routing-mark=teleservice-out

#Маркируем маршруты через соответствующий шлюз (вместо IP можно испоьзовать в роли gateway название интерфейса):
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=10.8.67.1 \
    routing-mark=isp1-out scope=30 target-scope=10


/ip route
    add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=10.0.21.1 \
    routing-mark=teleservice-out scope=30 target-scope=10


Комментарии (0)
Добавить новый комментарий
 
 
Полное имя:
Email:
Комментарии: