Микротик 2011UAS, 5й LAN включен в локальную сеть, в 9й LAN подключен провайдер (transtelecom2), интерфейсу присвоен белый стат. адрес х.х.х.х. В будущем будут подключены еще несколько провайдеров.
Задача: нужно пробросить порт 4890 (радмин), дабы получать доступ извне через каждого провайдера, на локальный компьютер 10.8.0.200. Таким образом, требуется сделать так, чтобы ответ шел через того же провайдера, с которого и пришел запрос.
Помечаю трафик, пришедший с первого провайдера, и маршрут, который будет использован при ответе:
[admin@MikroTik] /ip firewall mangle> print
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; mark conn transtelecom2-in
chain=prerouting action=mark-connection new-connection-mark=transtelecom2-in passthrough=no connection-state=new in-interface=ether9
1 chain=prerouting action=mark-routing new-routing-mark=transtelecom2-out passthrough=no connection-mark=transtelecom2-in
Порт 4890 проброшен:
[admin@MikroTik] /ip firewall nat> print
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; transtelecom2
chain=srcnat action=masquerade src-address-list=local dst-address-list=!local out-interface=ether9
...
...
6 ;;; RDP200
chain=dstnat action=dst-nat to-addresses=10.8.0.200 to-ports=4890 protocol=tcp dst-address=х.х.х.х dst-port=4890
Создал маршруты: дефоулт- без маркировок (под номером 3) и маркированный - для того, чтоб ответ шел именно через того же провайдера, с которого пришел запрос(под номером 2):
[admin@MikroTik] /ip route> print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 A S ;;; metka transtelecom2-icmp
0.0.0.0/0 х.х.х.y 1
1 X S ;;; route for users_megaline
0.0.0.0/0 Megaline_100035 1
2 A S ;;; metka transtelecom2-out
0.0.0.0/0 х.х.х.y 1
3 A S ;;; marshrut bez routing-mark
0.0.0.0/0 х.х.х.y 25
4 ADC 10.8.0.0/24 10.8.0.5 ether5 0
5 ADC 10.8.4.0/30 10.8.4.1 ether10 0
6 ADC Х.Х.Х.Z/30 X.X.X.X ether9 0
в фильтрах ничего особенного:
[admin@MikroTik] /ip firewall filter> print
Flags: X - disabled, I - invalid, D - dynamic
...
4 ;;; Drop Invalid connections
chain=input action=drop connection-state=invalid
5 ;;; Drop block-list connections
chain=forward action=drop connection-state=new src-address-list=block
...
10 ;;; Allow established connections
chain=input action=accept connection-state=established
11 ;;; Allow related connections
chain=input action=accept connection-state=related
12 ;;; full access for Local
chain=input action=accept src-address-list=local
13 ;;; full access for Local
chain=forward action=accept src-address-list=local
14 ;;; All other inputs drop
chain=input action=drop
-- [Q quit|D dump|up|down]
В общем, если последнее правило манглов (под номером 1) задизейблить, то доступ извне на порт работает, клиент извне успешно подключается к радмину и может управлять компьютером. Но в этом случае трафик остается без routing-mark, т.е. пойдет по default-маршруту. Как только я активирую это правило, доступ извне пропадает.
Уже несколько дней курю мануалы, но просветления пока не приходит, поэтому прошу помощи здесь.