iptables bloqueando todo o tráfego mesmo com as portas abertas

1

Simples como eu posso dizer: não consigo acessar meus servidores com o iptables habilitado, com regras padrão. Precisa desativar o iptables para ter acesso. Tentando encontrar a causa. A única diferença no tipo de configuração é o switch layer3 em vez do layer2, mas não configurou o switch layer3 de nenhuma outra forma, permitindo o roteamento IP (nenhuma tagging / untagging foi feita em nenhuma VLAN). Se eu entendi porque os pacotes estavam sendo bloqueados, eu definitivamente tentaria esclarecer a minha pergunta! ;)

Mais informações sobre o assunto:

Tendo um problema com uma instalação mínima e iptables do CentOS 6.5. Este é um novo local de datacenter que estou tentando preparar para colocar alguns servidores online, mas ainda não posso. O iptables parece estar perdendo pacotes legítimos, a menos que uma regra específica esteja em vigor para permitir que determinado IP passe (não é ideal para servidores web). Nós usamos o OpenVZ e instalamos o cPanel dentro do nó VPS, assim como o firewall csf. Todas as configurações estão configuradas corretamente no nó, da mesma forma que meus outros servidores em funcionamento em outros datacenters, portanto, não é um problema do módulo iptables.

Tendo configurado muitos outros servidores sem problemas no passado, em outros DC's, a única diferença aqui é (é claro) o ISP diferente, e também o fato de que eu estou usando um switch Layer3 (Baystack 5510), de um comutador de camada 2. Não tenho certeza se essa é a causa do problema ou não, testando diretamente conectado à conexão com o provedor amanhã, quando eu tiver acesso.

Isso poderia ter a ver com a configuração incorreta do meu switch layer3? Basicamente eu tenho o cabo ethernet do ISP conectado à porta 48 e meu servidor conectado à porta 1 & 2 (bond0), tentei usar apenas o padrão eth0 também. Configurações padrão, a única diferença é que eu tenho roteamento IP habilitado para que eu possa adicionar outras sub-redes IP mais tarde. Eu não configurei QUALQUER tagging / untagging, que estou lendo agora, mas isso pode estar causando o iptables sinalizar / soltar esses pacotes?

Esta é uma instalação básica que parece estar bloqueando pacotes com regras iptables padrão do CentOS, ou pelo menos quando eu mudei para o kernel do OpenVZ, tive que dirigir para DC para obter acesso físico e fazer 'serviço iptables parar' e 'chkconfig iptables off 'para evitar perder mais acesso.

Basicamente, as portas são abertas no iptables, mas ainda não consigo acessar os servidores com o iptables em execução. Tentei isso em 2 servidores, instalação fresca e mínima do CentOS 6.5. Eu corri um Wireshark & amp; tcpdump para capturar traços de rede em ambas as extremidades durante este processo. Este é o primeiro pacote, tentando um pacote [SYN] para iniciar uma sessão TCP na porta 80, que é aberta no iptables. Este pacote não recebe uma resposta ([SYN ACK]), mas em vez disso passa pela TCP Retransmission repetidamente, mas é recebido no servidor, mas caiu com TCP_IN Blocked ou UDP ou OUT ou pacote inválido:

Lado do cliente (meu PC): 77 4.434317000 192.168.2.244 TCP SERVER-IP 66 63866 > http [SYN] Seq = 0 Win = 8192 Len = 0 MSS = 1460 WS = 4 SACK_PERM = 1

Lado do servidor (servidor tcpdump) 1 0,000000 MY-ISP-IP SERVER-IP TCP 68 61992 > http [SYN] Seq = 0 Win = 8192 Len = 0 MSS = 1452 WS = 4 SACK_PERM = 1

Aqui está o pacote inválido: kernel: [16708.550424] Firewall: INVALID IN = venet0 SAÍDA = MAC = SRC = MYIP DST = SERVERIP LEN = 48 TOS = 0x00 PREC = 0x00 TTL = 112 ID = 12281 DF PROTO = TCP SPT = 60992 DPT = 80 WINDOW = 8192 RES = 0x00 SYN URGP = 0

Aqui está uma porta bloqueada 21 (aberto também) pacote: kernel: [20604.837769] Firewall: TCP_IN IN Bloqueado = venet0 SAÍDA = MAC = SRC = MYIP DST = SERVERIP LEN = 48 TOS = 0x00 PREC = 0x00 TTL = 112 ID = 15851 DF PROTO = TCP SPT = 61742 DPT = 21 JANELA = 8192 RES = 0x00 SYN URGP = 0

    
por 86jbtsr 21.04.2014 / 22:21

1 resposta

0

Isso parece um problema na configuração do OpenVZ, principalmente relacionado ao recurso state do netfilter.

Verifique se, em /etc/vz/vz.conf , IPTABLES_MODULE contém ipt_state . Isso é importante para versões anteriores do vzctl, mas é melhor prevenir do que remediar:

## IPv4 iptables kernel modules to be enabled in CTs by default
IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state"
## IPv4 iptables kernel modules to be loaded by init.d/vz script
IPTABLES_MODULES="$IPTABLES"

Além disso, em cada um dos seus /etc/vz/conf/*.conf , se NETFILTER for suportado, ele deverá ser definido como stateful :

NETFILTER="stateful"

Este novo parâmetro de configuração NETFILTER foi adicionado recentemente. Isso pode ser porque você não ouviu falar em outro lugar. Você pode ver o commit aqui .

    
por 22.04.2014 / 15:29