Qual é a diferença entre -p tcp e -m tcp em iptables?

2

Acabei de notar uma entrada em / etc / sysconfig / iptables ao longo das linhas de -A INPUT -p tcp -m tcp --dport 138 -j DROP

Não sei ao certo por que tem que haver dois switches aqui para o protocolo TCP correspondente, ou seja, -p tcp e -m tcp . Existe alguma diferença entre eles?

    
por xczzhh 23.09.2013 / 12:09

1 resposta

2

  

-p O protocolo da regra ou do pacote a ser verificado.

     

O protocolo especificado pode ser um dos tcp, udp, icmp ou todos, ou pode   ser um valor numérico, representando um desses protocolos ou um diferente   1. Um nome de protocolo de / etc / protocols também é permitido. UMA "!"   argumento antes do protocolo inverte o teste. O número zero é   equivalente a todos. Todos os protocolos corresponderão a todos os protocolos e   tomado como padrão quando esta opção é omitida.

     

-m Especifica uma correspondência a ser usada, ou seja, um módulo de extensão que testa uma propriedade específica.

     

O conjunto de correspondências compõe a condição sob a qual um alvo é   invocado. As partidas são avaliadas primeiro para durar, conforme especificado no   linha de comando e trabalhar em curto-circuito, ou seja, se uma extensão   resulta falso, a avaliação será interrompida.

Informações adicionadas

-m Também corresponde aos pacotes do nome do protocolo especificado. E se '!' precede o nome do protocolo, isso corresponde a todos os pacotes que não são do protocolo especificado. Nomes de protocolos válidos são icmp, udp, tcp ... Uma lista de todos os protocolos válidos pode ser encontrada no arquivo / etc / protocols. Então, acho que seria seguro omitir o -m

Fonte: IPtables ManPage

    
por Mitch 23.09.2013 / 13:09