День добрый.
Имеется два провайдера(назовем их
ISP_1 и
ISP_2), каждый из них приходит на свой физический маршрутизатор.
ISP_1 на Linux сервер,
ISP_2 на mikrotik.
Rem_Client_1,
Rem_Client_2 - удаленные клиенты, таких клиентов несколько сотен. Некоторые из удаленных клиентов могут обращаться только на внешний адрес
ISP_1. Остальные клиенты могут обращаться к внешним адресам
ISP_1 и
ISP_2.
У
Server_1 шлюзом указан локальный адрес
ISP_2. У
Server_2 шлюзом указан локальный адрес
ISP_1.
Ситуация 1 все работает правильно, через обоих провайдеров
Если
Rem_Client_1 обращается к определенному порту
ISP_1 он перенаправляется на
Server_1. При этом Server_1 видит его адрес как локальный адрес
ISP_1.
Если
Rem_Client_1 обращается к определенному порту
ISP_2 он перенаправляется на
Server_1. При этом
Sever_1 видит его адрес как внешний адрес
Rem_Client_1.
Ситуация 2 - не работает через
ISP_2
Если
Rem_Client_1 обращается к определенному порту
ISP_1 он перенаправляется на
Server_2. При этом
Server_2 видит его адрес как локальный адрес
ISP_1.
Если
Rem_Client_1 обращается к определенному порту
ISP_2 он перенаправляется на
Server_2. При этом
Sever_2 не видит
Rem_Client_1.(точнее пакеты получает через
ISP_2, а ответить пытается через
ISP_1, в итоге программа сервер, не отображает клиента как подключенный)
Адреса удаленных клиентов динамические. Все остальные статические.
Единственная разница в настройках между
Server_2 и
Server_1 указаны разные шлюзы.
Возможно ли реализовать подмену адреса источника входящего пакета на микротике?
т.е. пакет приходит на внешний адрес
ISP_2 после его обработки микротиком пакет уходит на
Sever_2 с адресом источником: локальный адрес
ISP_2.
Микротик
nat
chain=dstnat action=dst-nat to-addresses=192.168.1.15 protocol=tcp in-interface=ether1-wan dst-port=3059 log=no log-prefix=""
filter
chain=forward action=accept protocol=tcp dst-address=192.168.1.15 dst-port=3059 log=no log-prefix=""
Маскирование
chain=srcnat action=masquerade out-interface=ether1-wan log=no log-prefix=""
Flags: X - disabled, I - invalid, D - dynamic
0 ;;;
chain=srcnat action=masquerade out-interface=ether1-wan log=no log-prefix=""
1 ;;;
chain=srcnat action=masquerade protocol=tcp src-address=192.168.1.0/24 dst-address-list=cam dst-port=80 log=no log-prefix=""
2 ;;;
chain=srcnat action=masquerade to-addresses=192.168.1.155 protocol=udp dst-address=2.2.2.2 src-address-list=office-networks
dst-port=5060,13000-18000 log=no log-prefix=""
3 ;;;
chain=dstnat action=dst-nat to-addresses=192.168.1.155 protocol=udp dst-port=5060,13000-18000 log=no log-prefix=""
4 ;;;
chain=dstnat action=dst-nat to-addresses=192.168.1.253 to-ports=8080 protocol=tcp dst-address=192.168.1.254 dst-port=3128 log=yes
log-prefix="OLD-PROXY"
5 ;;;
chain=dstnat action=dst-nat to-addresses=192.168.1.15 protocol=tcp in-interface=ether1-wan dst-port=3059 log=no log-prefix=""
16 ;;;
chain=dstnat action=dst-nat to-addresses=192.168.1.118 protocol=tcp in-interface=ether1-wan dst-port=3058 log=no log-prefix=""
17 ;;;
chain=dstnat action=dst-nat to-addresses=192.168.1.118 protocol=tcp in-interface=ether1-wan dst-port=5555 log=no log-prefix=""
18 ;;;
chain=dstnat action=dst-nat to-addresses=192.168.1.118 protocol=tcp in-interface=ether1-wan dst-port=8080 log=no log-prefix=""
19 ;;;
chain=dstnat action=dst-nat to-addresses=192.168.1.117 protocol=tcp in-interface=ether1-wan dst-port=3057 log=no log-prefix=""
20 ;;;
chain=dstnat action=dst-nat to-addresses=192.168.1.116 to-ports=80 protocol=tcp in-interface=ether1-wan dst-port=2349,81 log=no log-prefix=""
21 ;;;
chain=dstnat action=dst-nat to-addresses=192.168.1.116 protocol=tcp in-interface=ether1-wan dst-port=3055 log=no log-prefix=""
22 ;;;
chain=dstnat action=dst-nat to-addresses=192.168.1.116 protocol=tcp in-interface=ether1-wan dst-port=3053 log=no log-prefix=""
23 ;;;
chain=dstnat action=dst-nat to-addresses=192.168.1.49 protocol=tcp in-interface=ether1-wan dst-port=3070 log=no log-prefix=""
26 ;;;
chain=dstnat action=dst-nat to-addresses=192.168.1.150 protocol=tcp in-interface=ether1-wan dst-port=8118 log=no log-prefix=""
27 ;;;
chain=dstnat action=redirect to-ports=8080 protocol=tcp src-address=192.168.1.0/24 dst-port=80 log=no log-prefix=""