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

Как разрешить порт 3306 в iptables в centos

Я не могу подключиться удаленно через порт 3306. Моя хостинговая компания сообщает, что я должен разрешить подключение через порт 3306 с помощью iptables.

Какую команду набрать на терминале

Chain INPUT (policy DROP)
target     prot opt source               destination
...
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:mysql
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:mysql
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:mysql
ACCEPT     tcp  --  eth2947.rt.adsl.internode.on.net  anywhere            state NEW tcp dpt:mysql
...

Попробуйте использовать tcptraceroute hostname.fqdn 3306 чтобы увидеть, не блокируется ли соединение где-то раньше.

Наиболее вероятная проблема заключается в том, что mysql имеет конфигурацию по умолчанию, чтобы не прослушивать IP-соединения (старое значение по умолчанию, skip-networking вариант), или только для прослушивания обратной петли (bind-address вариант). Попробуйте закомментировать их, если они есть, а затем перезапустите mysql.

Ну, это во многом зависит от того, как выглядит ваш текущий набор правил iptables. Что-то вроде этого должно работать в вашем файле / etc / sysconfig / iptables:

-A INPUT -m state --state NEW -m tcp -p tcp -s 1.2.3.4 --dport 3306 -j ACCEPT

... где 1.2.3.4 - это IP-адрес, с которого вы подключаетесь.

Если это не сработает, опубликуйте содержимое / etc / sysconfig / iptables, и я исправлю свой ответ.

Другой вариант - просто подключиться к вашему серверу mysql через туннель ssh. Сделайте это, подключитесь к своему серверу с помощью чего-то вроде:

$ ssh user@host -L3306:localhost:3306

Затем укажите своему локальному клиенту mysql на localhost: 3306, и он будет туннелирован на сервер. Имейте в виду, что вам также необходимо предоставить доступ в mysql для соответствующей комбинации пользователь / хост.

Я должен добавить, что, как правило, не рекомендуется открывать ваш порт mysql в Интернете, если в этом нет крайней необходимости. Параметр туннеля ssh - гораздо лучший способ удаленного подключения.