Porta de abertura do firewall do Cent OS

2

Eu instalei o postgre em um servidor do CentOS.

Eu basicamente segui este guia aqui: PostgreSQL Na última etapa, é necessário que eu precise abrir a porta TCP 5432 e, para isso, eu preciso adicionar a seguinte linha ao meu / etc / sysconfig / iptables:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

reiniciar o iptables produz um erro na nova linha, parece que ele não gosta da parte RH-Firewall-1-INPUT. O problema é que, mesmo se eu PARAR o serviço iptables, a porta 5432 parece permanecer fechada.

Qualquer ajuda será apreciada.

Editar:

iptables -L -nv
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
 2331  187K RH-Firewall-1-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 RH-Firewall-1-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 2080 packets, 490K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain RH-Firewall-1-INPUT (2 references)
 pkts bytes target     prot opt in     out     source               destination
    1    29 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  eth0.4 *       0.0.0.0/0            0.0.0.0/0
 2330  187K ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  eth0.1 *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  eth0.2 *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  eth0.3 *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 255
    0     0 ACCEPT     esp  --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     ah   --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            224.0.0.251         udp dpt:5353
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:631
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:631
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:5432
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:23
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:25
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:443
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

ps aux | grep postgre
postgres 20132  0.0  0.0 120692  3336 ?        S    15:41   0:00 /usr/bin/postmaster -p 5432 -D /var/lib/pgsql/data
postgres 20134  0.0  0.0 109872   704 ?        S    15:41   0:00 postgres: logger process
postgres 20136  0.0  0.0 120692   980 ?        S    15:41   0:00 postgres: writer process
postgres 20137  0.0  0.0 110872   700 ?        S    15:41   0:00 postgres: stats buffer process
postgres 20138  0.0  0.0 110060   876 ?        S    15:41   0:00 postgres: stats collector process
root     20299  0.0  0.0  61152   728 pts/0    S+   16:08   0:00 grep postgre

EDIT 2: Isso é o que acontece quando eu desligo o iptables.

[maguirre@server ~]# /etc/init.d/iptables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
[maguirre@server ~]# iptables -L -nv
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 
    
por irco 08.06.2011 / 17:08

4 respostas

1

Você está adicionando à seção :RH-Firewall-1-INPUT - [0:0] ? Você poderia também postar um erro aqui?

    
por 08.06.2011 / 17:53
1

Se todo o seu trabalho está tentando abrir uma porta, então o programa chamado Firestarter pode ajudar, certo? Eles também têm uma distrobution para o CentOS, eu acho.

    
por 08.06.2011 / 22:13
1

Você está quase lá. Você precisa abrir a tabela assim:

iptables -I INPUT 1 -m tcp -p tcp --dport 5432 -j ACCEPT

Aqui, você irá inserir uma regra na cadeia INPUT padrão (neste caso, RH-Firewall-1 ou 1). A opção "-m" é um operador de correspondência que permite filtrar com base no protocolo, estado ou sessão. No entanto, como você só se importa que a porta esteja aberta, apenas certifique-se de que seja um pacote tcp (você provavelmente não precisa de -p, mas, para uma boa prática, adicione isso de qualquer maneira). De lá, você só precisa especificar a porta padrão e está pronto.

Nesse caso, será a regra logo antes da declaração REJECT. Vá em frente e salve assim:

service iptables save

E, em seguida, reinicie:

service iptables restart

Se a regra não foi inserida no lugar certo, faça o backup de / etc / sysconfig / iptables e edite o arquivo, adicionando o seguinte REJECTO:

-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 22 -j ACCEPT

Salve o arquivo e faça outra reinicialização do iptables.

    
por 23.07.2011 / 22:34
0

Dê uma olhada no arquivo. Deve haver outras regras referenciando a mesma cadeia, e a cadeia deve ser criada no topo com uma linha como esta:

:RH-Firewall-1-INPUT - [0:0]

Não tenho certeza se aceitar apenas NOVOS pacotes realmente fará o truque para você. Isso só funcionará se houver uma regra para aceitar todos os pacotes nos estados ESTABLISHED e RELATED (que é o padrão, mas você nunca sabe).

Você pode verificar se esta cadeia existe rodando

iptables -L -nv

Isso deve mostrar uma seção em algum lugar na saída dizendo

Chain RH-Firewall-1-INPUT (policy ...)

Nada disso funcionará se você tiver outros pacotes de firewall instalados, pois eles ignoram a configuração padrão do firewall e instalam suas próprias regras.

EDITAR Aqui está o conteúdo deste arquivo em nossas caixas fedora. Por favor, note os comentários no topo.

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
    
por 08.06.2011 / 17:55