Jump to content
Калькуляторы

Доступ к лан ресурсу с разными провайдерами в одном микротике

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


isp1 95.0.0.2/24
isp2 146.0.0.2/24
gtw1 95.0.0.1
gtw2 146.0.0.1
bridge.lan 192.168.5.1/24
bridge.lan 10.0.0.1/24
web-server address 192.168.5.3 port 80
user1 10.0.0.254/24
user2 10.0.0.253/24
other users 10.0.0.0/24

 

Примерный конфиг:


/ip address
add address=95.0.0.2/24 interface=ether1
add address=146.0.0.2/24 interface=ether1
add address=146.0.0.253/24 interface=ether1
add address=146.0.0.254/24 interface=ether1
add address=10.0.0.1/24 interface=bridge.lan
add address=192.168.5.1/24 interface=bridge.lan


/ip route
add distance=1 gateway=95.0.0.1
add distance=2 gateway=146.0.0.1
add distance=1 gateway=146.0.0.1 routing-mark=gtw-isp2

/ip route rule
add src-address=10.0.0.254/32 table=gtw-isp2
add src-address=10.0.0.253/32 table=gtw-isp2

/ip firewall nat
add action=netmap chain=srcnat comment="beliy_srcnat_147.0.0.254 user1" src-address=10.0.0.254 to-addresses=95.0.0.254
add action=netmap chain=dstnat comment="beliy_dstnat_147.0.0.254 user1" dst-address=95.0.0.254 to-addresses=10.0.0.254

add action=netmap chain=srcnat comment="beliy_srcnat_147.0.0.253 user2" src-address=10.0.0.253 to-addresses=95.0.0.253
add action=netmap chain=dstnat comment="beliy_dstnat_147.0.0.253 user2" dst-address=95.0.0.253 to-addresses=10.0.0.253

add action=masquerade chain=srcnat

add action=dst-nat chain=dstnat dst-address=95.0.0.2 dst-port=80 protocol=tcp to-addresses=192.168.5.3 to-ports=80

 

Edited by jora_1
исправил адрес

Share this post


Link to post
Share on other sites

Ну также сделайте трансляцию на втором провайдере. В чем проблема то?

Share this post


Link to post
Share on other sites

что то не понятно:

В описании хотелки сказано - bridge.lan 192.168.5.1/24

в adresses такой подсети нету.

На ether1 висит три адреса из подсети второго провайдера. Так нужно?

 

тут не нужно "выпускать" user2 через провайдера - все нужно разрулить в пределах шлюза. Прописать стат маршруты из 10.0.0.0/24 в 192.168.5.0/24 и наоброт

Share this post


Link to post
Share on other sites

@VolanD666 А как это сделать? Подскажете пожалуйста в правилах.

 

@romsan нечаянно не тот адрес вбил, спс, исправил.

12 часов назад, romsan сказал:

На ether1 висит три адреса из подсети второго провайдера. Так нужно?

Да так нужно, на ether1 могут и больше адресов быть, это белые ip для некоторых абонов от второго провайдера.

 

12 часов назад, romsan сказал:

тут не нужно "выпускать" user2 через провайдера - все нужно разрулить в пределах шлюза. Прописать стат маршруты из 10.0.0.0/24 в 192.168.5.0/24 и наоброт

если отключить правило /ip route rule add src-address=10.0.0.253/32 table=gtw-isp2, всё работает и заходит на веб сервер, но тогда шлюз первого провайдера, ну а если включить нет даже пинга в локальной сети между абонентами и веб сервером. Могли бы вы подробней объяснить как написать правило?

Edited by jora_1

Share this post


Link to post
Share on other sites

IMHO

Занести нужных юзеров в address-list

повесить маскарад на бридж с src-address-list=[имя_листа] и dst-address=192.168.5.3/24

 

тем самым прилетевший пакет от src=10.0.0.254 с dst=192.168.5.3 на бридже будет подменен на src-адрес 192.168.5.0/24 подсети и улетит адрессату (192.168.5.3)

Share this post


Link to post
Share on other sites

@romsan 

Так с включённым route rule не работает, вообще у меня маскарад по сути так и делает, только без явных указателей брижда и ip, но на всякий случай и ваш способ проверил, не работает как и простой hairpin nat.

пробовал так:

/ip firewall nat

add action=masquerade chain=srcnat dst-address=192.168.5.3 out-interface=bridge-lan.83 src-address=10.0.0.254

Edited by jora_1

Share this post


Link to post
Share on other sites

ну тогда маркируй пакеты от src-address и правилом заворачивай в подсеть 5.0/24 до хоста 5.3

 

42 минуты назад, jora_1 сказал:

@romsan 

Так с включённым route rule не работает,

а Вы вкурсе, что route rules имеет приоритет перед основной таблицей маршрутизации? Без рулесов тоже не работает?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

В бридж фильтре промаркировать forward - in bridge и out bridge одной и той же меткой в одном правиле для нужного хоста с dst 5.3/24

В маскараде применить эту метку

 

Share this post


Link to post
Share on other sites

А могли бы пример в виде полного правила скинуть, или скрины c винбокса,  а то чёт не въезжаю)?

Share this post


Link to post
Share on other sites

ну мне тогда нужно смоделировать Вашу сеть, чтобы сделать правила и выгрузить их.

 

Я Вам дал наживку и крючек - ловить рыбку уж сами!

Share this post


Link to post
Share on other sites

Ок спс, попробую разобраться.

Share this post


Link to post
Share on other sites

Решил так:

 

/ip route rule
add dst-address=192.168.5.3/32 src-address=10.0.0.254/32 table=main
add dst-address=192.168.5.3/32 src-address=10.0.0.253/32 table=main

 

Подняв выше

/ip route rule
add src-address=10.0.0.254/32 table=gtw-isp2
add src-address=10.0.0.253/32 table=gtw-isp2 

 

ну или можно одним правилом

/ip route rule
add dst-address=192.168.5.3/32 table=main

При обращению к 192.168.5.3 ходить через основную шлюз таблицу

Edited by jora_1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this