Não é possível modificar iptables no CentOS

5

Minha pergunta: Como adicionar uma regra personalizada do iptables para aceitar a conexão em uma determinada porta?

Estou tentando abrir a porta 3500 no meu servidor, mas falhei. Comecei usando este comando: (De link )

iptables -A INPUT -p tcp --dport 3500 -j ACCEPT

Mas então eu corro iptables -L eu ainda não vejo as novas regras sendo listadas: (Minha suposição deve incluir 3500 na saída)

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
RH-Firewall-1-INPUT  all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:rtmp-port 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
RH-Firewall-1-INPUT  all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            icmp any 
ACCEPT     esp  --  anywhere             anywhere            
ACCEPT     ah   --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             224.0.0.251         udp dpt:mdns 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ipp 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ipp 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     udp  --  anywhere             anywhere            state NEW udp dpt:snmp 
ACCEPT     udp  --  anywhere             anywhere            state NEW udp dpt:snmptrap 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ftp 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Editar Então eu tento inserir a regra ACCEPT na cadeia INPUT e meu iptables tem esta aparência:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3500 
RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Mas isso não me permite conectar a 3500 de fora. (Eu ainda posso telnet de dentro). Quando estou tentando telnet my_host 3500, eu recebo isso: telnet: Unable to connect to remote host: Connection refused

Editar 2 : Minha netstat -an | grep "LISTEN " output:

tcp 0 0 127.0.0.1:3500 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:973 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 ::: 22 ::: * ESCUTE

Editar 3 : Segui lain advise, também tenho o meu serviço vinculado a 0.0.0.0:3500 em vez de 127.0.0.1:3500 e funciona.

    
por Phuong Nguyen 26.09.2011 / 19:16

1 resposta

10

Suas regras estão listadas, rtmp-port é a porta 3500 de acordo com a IANA porta / serviço . Para obter uma listagem de números de porta em vez de seus nomes de serviço, use o -n switch

iptables -L -n 

Você também usa a opção -A para adicionar sua regra à cadeia INPUT. Isso foi adicionado depois que os pacotes foram enviados para a cadeia RH-Firewall-1-INPUT, a última regra é um REJECT geral para que os pacotes destinados à porta 3500 sejam REJEITADOS antes de serem testados na cadeia INPUT.

Você tem algumas soluções possíveis: use a opção -I para inserir sua regra na cadeia INPUT ou na RH-Firewall-1-INPUT chain

iptables -I INPUT -p tcp --dport 3500 -j ACCEPT

ou

iptables -I RH-Firewall-1-INPUT -p tcp --dport 3500 -j ACCEPT

Você provavelmente deve limpar suas regras também, você pode usar

iptables -D INPUT -p tcp --dport 3500 -j ACCEPT

(várias vezes) para excluir as regras existentes para a porta 3500 antes de adicionar as novas regras.

    
por 26.09.2011 / 21:41