Есть роутер, который является opnvpn-клиентом к некоторому серверу. 192.168.2.63 - ip роутера в локальной сети.
10.0.0.14 - ip роутера в туннеле openvpn
10.0.0.1 - ip сервера в туннеле openvpn
192.168.2.x1 - ip клиентской машины в локальной сети за роутером, соединение с которой я хочу пробросить на 10.0.0.1:3306
Сервера по туннелю пингуют друг друга и могут взаимодействовать на уровне сервисов (например, с роутера можно подключиться через туннель на openvpn-сервер на порт 3306):
mysql -u user -h 10.0.0.1 -p - если запускать с роутера, то проходит.
За роутером есть локальная сеть (192.168.2.0/24), хотелось бы, чтобы все пакеты из локальной сети (а в моем примере ниже - с локального адреса 192.168.2.138) на порт 3306, адресованные внешнему серверу server1.com перенаправлялись на 10.0.0.1:3306.
В фаероволле на роутере все цепочки с правилом ACCEPT по умолчанию. Поднят форвардинг и snat на выданный провайдером ip для нашего роутера.
Делаю DNAT:
iptables -t nat -A PREROUTING -s 192.168.2.138 -p tcp -d server1.com --dport 3306 -j DNAT --to-destination 10.0.0.1:3306
iptables -t nat -A PREROUTING -s 192.168.2.138 -p udp -d server1.com --dport 3306 -j DNAT --to-destination 10.0.0.1:3306
Результат с машины 192.168.2.138:
C:\Program Files\MySQL\bin>mysql -u user -h server1.com -p
Enter password: ****
ERROR 2003 (HY000): Can't connect to MySQL server on 'server1.com' (10060)
Куда копать и что делать? Может дело в SNAT? Он мешает DNAT? Помогите, пожалуйста!