Abra a porta 80 no CentOS 6.5

14

Estou tentando abrir a porta 80 no meu CentOS 6.5, na minha máquina virtual, para poder acessar o apache pelo navegador da minha área de trabalho.

Sevocêderumaolhadanaimagemacima...Euadicioneialinhaantesdasetaazul,comoestáescritoem Agora eu recebo a página de teste do apache ao digitar o endereço IP no meu navegador, mas ainda quando reinicio o iptables, recebo um "FAILED" quando o CentOS tenta aplicar a nova regra.

Alguém conhece uma solução para isso? Ou eu preciso ignorar o fracasso?

    
por Erik van de Ven 15.01.2014 / 13:43

3 respostas

27

Em vez de digitar as regras manualmente, você pode usar iptables para adicionar as regras às cadeias apropriadas e salvá-las. Isso permitirá que você depure as regras ao vivo, confirmando se estão corretas, em vez de adicioná-las ao arquivo como você parece estar fazendo.

Para abrir a porta 80, faço isso:

$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save

O último comando salvará as regras adicionadas. Essa é a regra que eu usaria para abrir a porta do tráfego da Web.

Por que sua regra está causando problemas

Se você perceber a regra que está tentando usar:

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

Possui uma cadeia chamada "RH-Firewall-1-INPUT". Se você não tiver essa cadeia ou um link da cadeia INPUT para essa cadeia, essa regra nunca será alcançável. Essa regra provavelmente seria assim:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

Ou sua corrente INPUT deve vincular a essa corrente RH-Firewall-1-INPUT com uma regra como esta:

$ sudo iptables --list
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0
....

NOTA: você pode ver quais correntes você tem com este comando:

$ sudo iptables -L| grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
...

Além disso, os estados podem precisar ser modificados para que as conexões existentes também sejam permitidas.

-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT

Além disso, quando você usa a opção -A , está anexando a regra à cadeia INPUT . Se houver outras regras antes dele que estejam bloqueando e / ou interferindo com o alcance dessa regra, ela nunca será executada. Então você pode querer movê-lo para o topo, inserindo em vez de acrescentar, assim:

-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT

Usando a GUI

Os firewalls podem ser animais complicados. Então você pode querer experimentar o TUI (TUI's são GUI's para o terminal).

$ sudo system-config-firewall-tui

Você pode passar pelas várias telas configurando as regras iptables .

Referências

por 15.01.2014 / 14:30
0

Eu recentemente instalei o CentOS 6.5 como uma máquina virtual pelo mesmo motivo, para usar como um servidor web virtual. De qualquer forma, eu segui este detalhado manual do wiki do CentOS . Então, de acordo com a resposta de @slm, adicionei a porta 80 a ele e salvei usando sudo /etc/init.d/iptables save .

iptables -L -v tem esta saída:

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  lo     any     anywhere             anywhere            
  214 17168 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
    1    44 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh 
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:http 

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

Chain OUTPUT (policy ACCEPT 169 packets, 15164 bytes)
 pkts bytes target     prot opt in     out     source               destination
    
por 15.01.2014 / 16:23
0

Se você quiser editar suas configurações de firewall, mas não estiver familiarizado com iptables , sugiro usar a ferramenta system-config-firewall-tui se não tiver um servidor X, de usar o system-config-firewall , que é a GUI ferramenta para isso.

    
por 16.01.2014 / 09:20