Я использовал удаленную и локальную переадресацию с успехом в прошлом, но на этот раз я не могу заставить работать настройку.
Чего я добиваюсь: сделать мой sql-сервер общедоступным, чтобы Google CloudSql мог реплицировать базу данных.
У меня есть NAS, на котором запущен debian за маршрутизатором, который может выполнять сопоставление портов в расположении A Я нахожусь в расположении B с виртуальной машиной CentOS, выполняющей mariadb
С виртуальной машины в местоположении BI выполните следующую команду
:~$ ssh -f -N -T -R 3306:localhost:3306 my.dyndns.address -p [sshport]
(ни один сервер mysql не работает в nas или, по крайней мере, не в порту 3306)
Тогда на NAS:
:~# ss -anp | grep :330
tcp LISTEN 0 128 127.0.0.1:3306 *:* users:(("sshd",pid=27182,fd=9))
tcp LISTEN 0 128 ::1:3306 :::* users:(("sshd",pid=27182,fd=8))
На маршрутизаторе у меня есть порт 33006, перенаправленный на порт 3306 NAS, например:
(протокол столбцов, внешний начальный порт, внешний конечный порт, локальный порт, пункт назначения Другие правила переадресации портов, такие как openvpn и ssh, прекрасно работают таким образом.
Я могу подключиться со своего компьютера к базе данных mysql, для директивы bind-address
было установлено значение '*', я также пытался прокомментировать эту директиву, но, как и ожидалось, не дал никаких других результатов.
Я просматриваю выходные данные обоих компьютеров из journalctl -f
, но не поступает никакой информации, которая могла бы помочь мне устранить неполадки в том, что я делаю неправильно.
--- уточнение ---
Я хочу подключиться снаружи к
my.dyndns.address
через порт33006
.my.dyndns.address
переводит на публичный адрес от моего модема ISP.33006
пересылается по модему на локальный IP-адрес NAS через порт 3306, который, в свою очередь, туннелируется на mysql-сервер (в местоположении B).Я проверяю это с
mysql -h my.dyndns.address --port=33006 -u myuser -p
в то время как
mysql -h local_ip_on_B -u myuser -p
работает просто отлично
Я также попытался использовать VPN с сервера db из местоположения B в местоположение A (NAS также является сервером OpenVpn) и направить перенаправленный порт на модеме интернет-провайдера непосредственно на IP-адрес IP, который получает сервер db на интерфейсе tun. Если я установлю второе VPN-подключение к местоположению A, я смогу подключить базу данных с помощью IP-адреса из интерфейса tun со своего компьютера.
Я получаю ошибку ERROR 2002 (HY000) Can't connect to MySQL server on ip_of_the_nas
.
ОБНОВИТЬ
Я сделал схему, чтобы прояснить мою ситуацию дальше:
Кто-нибудь может мне помочь ?