iptables intervalo de redirecionamento e excluir

1

eu tenho este iptables e trabalho.

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 0:20 -j REDIRECT --to-port 8080 #bypass SSH
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 23:442 -j REDIRECT --to-port 8080 #bypass SSL
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 444:2082 -j REDIRECT --to-port 8080 #Cpanel SSL
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2084:2086 -j REDIRECT --to-port 8080 #WHM SSL

qualquer ideia para alterar isso nas seguintes condições em regras mais simples:

Redirecionar o tráfego ALL para 8080

e excluir redirecionamento se a porta de destino corresponder a 22,443,2083 e 2087

obrigado.

Atualização:

Multiportas suportam até 15 portas separadas Ref: Anotações de filtragem de pacotes Iptables

então, eu usei outro método para aceitar diretamente as portas definidas, por exemplo, whois (port43)

iptables -t nat -A PREROUTING -i eth0  -p tcp -m multiport \
--dports 43 \
-j ACCEPT
    
por apis17 01.02.2012 / 03:17

1 resposta

3

Pode-se argumentar que isso pode funcionar como um esforço para conciliar suas regras, mas não funcionará como esperado.

iptables -t nat -A PREROUTING -i eth0  -p tcp -m multiport --dports ! 22,443,2083,2087 -j REDIRECT --to-port 8080

a condição "-opção a, b" é equivalente a "-opção a OR -opção b" que é exatamente as 4 regras geradas a partir da única. No entanto, se "! -Opção a, b" deve ser interpretada como "NOT (-opção a OR -opção b)", isto é, na verdade "(NÃO -opção a) E (NÃO -opção b)" que simplesmente não pode ser explodiu em duas regras.

    
por 01.02.2012 / 03:55