Назад | Перейти на главную страницу

невозможно подключиться к ubuntu через порт 3306 (mysql) в экземпляре rackspace

Я пытаюсь подключиться к порту 3306 в системе Ubuntu и не могу этого сделать. Когда я делаю iptables -L -n | grep 3306 Я вижу это:

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3306 
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:3306 

Похоже, я смогу подключиться.

Есть ли какие-то правила, которые я должен найти, чтобы их отменить? Беглым взглядом я ничего не увидел. Плюс, когда я это сделаю grep 80 и grep 443 Я вижу почти то же самое, что и выше, но с 80 и 443 вместо 3306. И я могу подключиться к портам 80 и 443, даже если я не могу подключиться к порту 3306.

Веб-сервер размещен в облаке стойки. Я знаю, что у AWS есть дополнительные правила брандмауэра, не зависящие от устанавливаемой ОС - есть ли место в стойке? Я не смог найти ничего в меню, и мои поиски в Google тоже не оказались очень плодотворными.

В общем, вы должны учитывать 1) адрес привязки MySQL и 2) брандмауэр.
Поскольку вы не можете установить соединение с telnet SERVER_IP 3306, либо брандмауэр блокирует соединение, либо MySQL не прослушивает этот порт.

Брандмауэр

Вы должны просмотреть свои правила брандмауэра как набор, без использования grep, чтобы увидеть, есть ли какие-либо подходящие правила. выше тот, который вы вставили в свой вопрос.
Что касается вашего брандмауэра, это обычно BadIdea ™: 3306 для публичного доступа в Интернет. Я предпочитаю использовать SSH туннель для подключения к моим удаленным базам данных.

Адрес привязки MySQL

Либо поищите "bind_address" в конфигурации MySQL, либо попробуйте netstat -plnt и найдите MySQL в списке. Чтобы принимать удаленные подключения, bind_address должен иметь значение, отличное от «127.0.0.1» (туннели SSH позволяют обойти это!).