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

проблемы с настройкой правил брандмауэра для Postgres на Centos

Я пытаюсь следовать этому руководству, чтобы разрешить удаленные подключения к 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.