Я пытаюсь следовать этому руководству, чтобы разрешить удаленные подключения к postgres http://www.cyberciti.biz/tips/postgres-allow-remote-access-tcp-connection.html
На данный момент у меня проблемы с брандмауэром.
У меня есть настройки, поэтому у меня есть /tmp/v4
из которого я могу изменить и просто восстановить свои правила брандмауэра.
Я пробовал 2 настройки.
Руководство рекомендует:
-A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 00.000.000.00 --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -s 00.000.000.00 --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
Когда я использую этот параметр и запускаю nc ipofserver 5432
я получил Ncat: connection timed out
Если я попробую настройки
-I INPUT -p tcp -s 00.000.000.00 --dport 5432 -j ACCEPT
-I INPUT -p tcp -s 00.000.000.00 --dport 5432 -j ACCEPT
Я запускаю ту же команду ncat и получаю Ncat: Connection refused
Я использую те же базовые брандмауэры (не те, которые указаны выше) на другом сервере для обслуживания Redis, и он работает правильно.
firewalld был отключен в этом окне в пользу iptables, в основном для ознакомления.
Обе машины CentOS 7
00.000.000.00 заменяет IP-адрес компьютера, который я использую
centos7 использует firewall-cmd из коробки, если вы не отключили его. Я полагаю, что вы этого не сделали, потому что иначе вы бы упомянули об этом.
Имея это предположение, вы можете просто запустить это на своем хосте postgresql:
firewall-cmd --add-service=postgresql
После того, как вы убедились, что он работает, вы можете снова запустить его с постоянным переключателем, чтобы он оставался неизменным после перезагрузки:
firewall-cmd --add-service=postgresql --permanent
Если вы установите пакет bash-completion, после повторного входа в систему firewall-cmd выполнит автозаполнение, что делает его действительно простым в использовании.
Изменить: OP указывает, что он не использует firewall-cmd. Если предположить, что он использует старую службу iptables, то каноническим способом изменения является редактирование / etc / sysconfig / iptables.
Если вы хотите разрешить входящие подключения к порту 5432 / tcp на этом хосте, вам необходимо добавить эту строку
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
перед
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
и перезагрузите сервис iptables. Это, конечно, разрешит все подключения к серверу базы данных с любого хоста.
Если вы хотите ограничить количество хостов, которые могут подключаться (давайте ограничим его одним, 111.222.111.222), тогда:
-A INPUT -p tcp -s 111.222.111.222 --sport 1024:65535 --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
Это должно сработать, конечно же, удалить другой и перезагрузить службу iptables.