Автор: Noka
Дата сообщения: 05.07.2009 09:34
Внутренний DNS сервер и доступ к нему из 2 провайдеров
Имеем 2 независимых провайдера интернет:
orgus_lan
dlm_net_realip
И локальную сеть:
noka_lan
Внутренний DNS на IP 172.22.63.18
[noka@MikroTik] > ip address export
/ip address
add address=213.135.125.93/29 broadcast=213.135.125.95 comment=orgus_lan \
disabled=no interface=orgus_lan network=213.135.125.88
add address=95.129.235.10/30 broadcast=95.129.235.11 comment=dlm_net_realip \
disabled=no interface=dlm_net_realip network=95.129.235.8
add address=172.22.63.24/28 broadcast=172.22.63.31 comment=noka_lan disabled=\
no interface=noka_lan network=172.22.63.16
Пробрасываю порты на внутренний DNS:
[noka@MikroTik] > ip firewall nat export
/ip firewall nat
add action=masquerade chain=srcnat comment="" disabled=no out-interface=orgus_lan
add action=masquerade chain=srcnat comment="" disabled=no out-interface=dlm_net_realip
add action=dst-nat chain=dstnat comment="" disabled=no dst-address=213.135.125.93 dst-port=53 protocol=udp to-addresses=172.22.63.18 to-ports=53
add action=dst-nat chain=dstnat comment="" disabled=no dst-address=213.135.125.93 dst-port=53 protocol=tcp to-addresses=172.22.63.18 to-ports=53
add action=dst-nat chain=dstnat comment="" disabled=no dst-address=95.129.235.10 dst-port=53 protocol=udp to-addresses=172.22.63.18 to-ports=53
add action=dst-nat chain=dstnat comment="" disabled=no dst-address=95.129.235.10 dst-port=53 protocol=tcp to-addresses=172.22.63.18 to-ports=53
Все исходящие соединения идут через шлюз указанный по умолчанию:
[noka@MikroTik] >> ip route export
/ip route
add comment=!!! disabled=no distance=1 dst-address=0.0.0.0/0 gateway=213.135.125.94 scope=255 target-scope=10
add comment="" disabled=no distance=2 dst-address=0.0.0.0/0 gateway=95.129.235.9 routing-mark=dlm_net_realip-route scope=255 target-scope=10
Задача: Метить входяще соединения по интерфейсам, и исходяшие роутить обратно через теже интерфейсы
Поискал по теме, и другим форумам, предполагаю 2 решения:
1) нужно маркировать вошедшие пакеты на порт 53 и исходя из их соурса ответы слать с соответсвующего адреса
2) надо метить сессии, т.е. если сессия пришла с определенного интерфейса, метками маршрутизации выводить её обратно через тот же интерфейс
Добавил правила:
[noka@MikroTik] > ip firewall mangle export
/ip firewall mangle
add action=mark-connection chain=input comment="" disabled=no in-interface=dlm_net_realip new-connection-mark=dlm_net_realip-conn passthrough=yes
add action=mark-routing chain=output comment="" connection-mark=dlm_net_realip-conn disabled=no new-routing-mark=dlm_net_realip-route passthrough=no
В итоге при падении и не доступности шлюза по умолчанию 213.135.125.94 (orgus_lan),
интерфейс 95.129.235.10 (dlm_net_realip) виден в интернет.
Но это не помогло решить задачу.
При падении шлюза 213.135.125.94 (orgus_lan),
пакеты приходящие на 95.129.235.10 (dlm_net_realip) port 53,
форвардятся на IP 172.22.63.18 port 53
а в ответ идут не на шлюз 95.129.235.9 (dlm_net_realip),
а на шлюз по умолчанию 213.135.125.94 (orgus_lan)
Подскажите как правильно пометить пакеты, чтобы можно было в ответе завернуть их на нужный шлюз.