fbpx

Comandos Linux – Comando ip

Comando ip do Linux

comando ip

Nos sistemas operacionais Linux , o comando ip edita e exibe a configuração de interfaces de rede , roteamento e túneis . Em muitos sistemas Linux, ele substitui o comando descontinuado ifconfig .

Sintaxe

  ip [ OPÇÕES ] OBJETO { COMANDO |  Socorro }

onde OBJECT pode estar:

  {link |  endereço |  addrlabel |  rota |  regra |  neigh |  tabela |  túnel |
 tuntap maddr |  mroute |  mrule |  monitor |  xfrm  netns |  l2tp |  tcp_metrics}

OPÇÕES podem ser:

  {-V [ersão] |  -s [estatísticas] |  -r [esolve] |  -família]
 {inet |  inet6 |  ipx  dnet |  link} |  -uma linha] }

Opções

-V , -Versãoimprima a versão do utilitário ip e saia.
-s , -stats , -statisticsSaída mais informações. Se a opção aparecer duas ou mais vezes, a quantidade de informações aumenta. Como regra, as informações são estatísticas ou alguns valores de tempo.
-l , -loopsEspecifique o número máximo de loops que a lógica ‘ ip addr flush ‘ tentará antes de desistir. O padrão é 10. Zero (” 0 “) significa loop até que todos os endereços sejam removidos.
-f , -famíliaseguido pelo identificador da família de protocolos : inet , inet6 , bridge , ipx , dnet ou link , imponha a família de protocolos a ser usada. Se a opção não estiver presente, a família do protocolo será adivinhada por outros argumentos . Se o restante da linha de comando não fornecer informações suficientes para adivinhar a família, o ip retornará ao padrão, geralmente inet ou any . link é um identificador de família especial, o que significa que nenhum protocolo de rede está envolvido.
-4atalho para -family inet .
-6atalho para -family inet6 .
-Batalho para ponte -família .
-0atalho para o link -família .
-o , -onlineimprima cada registro em uma única linha, substituindo os feeds de linha pelo caractere ‘ \ ‘. Isso é conveniente quando você deseja contar registros com wc ou grep a saída.
-r , -resolveuse o resolvedor de nomes do sistema para imprimir nomes DNS em vez de endereços de host .

Objeto

endereçoendereço de protocolo ( IP ou IPv6 ) em um dispositivo.
addrlabelconfiguração de etiqueta para seleção de endereço de protocolo.
l2tpEthernet de túnel sobre IP (L2TPv3).
ligaçãodispositivo de rede.
maddressendereço multicast .
monitorpreste atenção nas mensagens do netlink.
mrouteentrada de cache de roteamento multicast.
mruleregra no banco de dados de diretiva de roteamento multicast.
vizinhogerenciar entradas de cache ARP ou NDISC.
netnsgerenciar namespaces de rede.
tabelagerenciar a operação do cache vizinho.
rotaentrada da tabela de roteamento .
regraregra no banco de dados de diretiva de roteamento.
tcp_metrics, tcpmetricsgerenciar métricas TCP.
túneltúnel sobre IP.
tuntapgerenciar dispositivos TUN / TAP.
xfrmgerenciar políticas IPSec .

Os nomes de todos os objetos podem ser escritos na forma completa ou abreviada (por exemplo, endereço é abreviado como addr ou apenas a ).

Comando

Especifica a ação a ser executada no objeto. O conjunto de ações possíveis depende do tipo de objeto. Como regra, é possível adicionar , excluir e mostrar (ou listar ) objetos, mas alguns objetos não permitem todas essas operações ou possuem alguns comandos adicionais. O comando help está disponível para todos os objetos. Ele imprime uma lista de comandos disponíveis e convenções de sintaxe de argumento.

Se nenhum comando for fornecido, algum comando padrão será assumido. Geralmente é list ou, se os objetos desta classe não puderem ser listados, ajuda .

link ip: configuração de dispositivo de rede

link é um dispositivo de rede e os comandos correspondentes exibem e alteram o estado dos dispositivos.

o conjunto de links ip altera os atributos do dispositivo:

  conjunto de links IP DEVICE {up |  para baixo |  arp {on |  desativado} |
             promisc {em |  desativado} |
             allmulticast {on |  desativado} |
             dinâmico {on |  desativado} |
             difusão seletiva {on |  desativado} |
             PACOTES txqueuelen |
             nome NEWNAME |
             endereço LLADDR |  transmissão LLADDR |
             MTU MTU |
             redes PID |
             alias NAME |
             vf NUM [mac LLADDR ]
             [VLAN VLANID [qos VLAN - QOS ]]
             [taxa TXRATE ]} 
dev NAME(Padrão.) NAME especifica o dispositivo de rede para operar. Ao configurar dispositivos da função virtual SR-IOV (VF), essa palavra-chave deve especificar o dispositivo associado à função física (PF).
para cima , para baixoaltere o estado do dispositivo para UP ou DOWN .
arp ligado , arp desligadoaltere a bandeira NOARP no dispositivo.
multicast ativado , multicast desativadoaltere a bandeira MULTICAST no dispositivo.
dinâmico ativado , dinâmico desativadoaltere a bandeira DINÂMICA no dispositivo.
nome NAMEmude o nome do dispositivo. Esta operação não é recomendada se o dispositivo estiver em execução ou se alguns endereços já estiverem configurados.
txqueuelen NUMBER , txqlen NUMBERaltere o comprimento da fila de transmissão do dispositivo.
mtu NUMBERaltere a MTU do dispositivo.
endereço LLADDRESSaltere o endereço da estação da interface .
transmissão LLADDRESSbrd LLADDRESS
pares LLADDRESSaltere o endereço de broadcast da camada de link ou o endereço do mesmo nível quando a interface estiver POINTOPOINT.
netns PIDmova o dispositivo para o namespace da rede associado ao processo PID.
alias NAMEdê ao dispositivo um nome simbólico para facilitar a referência.
vf NUMespecifique um dispositivo de função virtual a ser configurado. O dispositivo PF associado deve ser especificado usando o parâmetro dev .
mac LLADDRESSaltere o endereço da estação para o VF especificado. O parâmetro vf deve ser especificado.
vlan VLANIDaltere a VLAN atribuída para a VF especificada. Quando especificado, todo o tráfego enviado da VF será marcado com o ID da VLAN especificado. O tráfego de entrada será filtrado para o ID da VLAN especificado e terá todas as tags da VLAN removidas antes de serem passadas para a VF. Definir este parâmetro como 0 desativa a marcação e a filtragem de VLAN. O parâmetro vf deve ser especificado.
qos VLAN-QOSatribua bits de VLAN QOS (prioridade) à etiqueta VLAN. Quando especificado, todos os tags VLAN transmitidos pelo VF incluirão os bits de prioridade especificados no tag VLAN. Se não especificado, o valor será assumido como 0 . Os parâmetros vf e vlan devem ser especificados. Definir vlan e qos como 0 desativa a marcação e a filtragem de VLAN para o VF.
taxa TXRATEaltere a largura de banda de transmissão permitida, em Mbps , para o VF especificado. Definir este parâmetro como 0 desativa a limitação da taxa. O parâmetro vf deve ser especificado.

Aviso : Se várias alterações de parâmetro forem solicitadas, o IP será interrompido imediatamente após a falha de qualquer uma das alterações. Este é o único caso em que o ip pode mover o sistema para um estado imprevisível. A solução é evitar alterar vários parâmetros com uma chamada de conjunto de links IP .

ip link show exibe os atributos do dispositivo:

  show de link ip [ DEVICE ]
dev NAME(Padrão.) NAME especifica o dispositivo de rede a ser exibido. Se esse argumento for omitido, todos os dispositivos serão listados.
acimaexibir apenas interfaces em execução.

endereço IP: Gerenciamento de endereços de protocolo

O endereço é um endereço de protocolo (IP ou IPv6) conectado a um dispositivo de rede. Cada dispositivo deve ter pelo menos um endereço para usar o protocolo correspondente. É possível ter endereços diferentes conectados a um dispositivo. Esses endereços não são discriminados, de modo que o termo alias não é muito apropriado para eles e não o usamos neste documento.

O comando ip addr exibe endereços e suas propriedades, adiciona novos endereços e exclui os antigos.

O endereço IP add adiciona um novo endereço de protocolo:

  endereço IP adicionar IFADDR dev NAME
dev NAMEo nome do dispositivo ao qual adicionar o endereço.
ENDEREÇO local(Padrão.) O endereço da interface. O formato do endereço depende do protocolo. É um quad pontilhado para IP e uma sequência de meias palavras hexadecimais separadas por dois pontos para IPv6. O ENDEREÇO ​​pode ser seguido por uma barra e um número decimal que codifica o comprimento do prefixo da rede.
ENDEREÇO ​​de pareso endereço do terminal remoto para interfaces de ponto de ponto. Novamente, o ENDEREÇO ​​pode ser seguido por uma barra e um número decimal , codificando o comprimento do prefixo da rede. Se um endereço de par for especificado, o endereço local não poderá ter um tamanho de prefixo. O prefixo da rede está associado ao par e não ao endereço local.
broadcast ADDRESSo endereço de transmissão na interface.

É possível usar os símbolos especiais ‘ + ‘ e ‘  ‘ em vez do endereço de transmissão. Nesse caso, o endereço de broadcast é derivado pela configuração / redefinição dos bits do host do prefixo da interface.

etiqueta NAMECada endereço pode ser marcado com uma string de etiqueta. Para preservar a compatibilidade com os aliases de rede do Linux -2.0, essa sequência deve coincidir com o nome do dispositivo ou ser prefixada com o nome do dispositivo seguido de dois pontos.
escopo SCOPE_VALUEo escopo da área em que este endereço é válido. Os escopos disponíveis estão listados no arquivo / etc / iproute2 / rt_scopes . Os valores de escopo predefinidos são:

global

o endereço é globalmente válido.

local

(Somente IPv6) o endereço é local do site, ou seja, é válido dentro deste site.

ligação

o endereço é link local, ou seja, é válido apenas neste dispositivo.

hospedeiro

o endereço é válido apenas dentro deste host.

A exclusão do endereço IP exclui um endereço de protocolo:

Os argumentos para exclusão do endereço IP são os mesmos que os argumentos do endereço IP addr (veja acima). O nome do dispositivo é um argumento obrigatório; o resto é opcional. Se nenhum argumento for fornecido, o primeiro endereço será excluído.

O endereço IP mostra os endereços de protocolo:

  endereço ip {show |  flush} [dev STRING ] [escopo -ID do escopo] [para PREFIXAR ]
            [ LISTA DE BANDEJA ] [rótulo PADRÃO ] 
dev NAME(Padrão.) Nome do dispositivo.
escopo SCOPE_VALlista apenas endereços com esse escopo.
PREFIXARlista apenas os endereços que correspondem a esse prefixo.
label PATTERNliste apenas endereços com etiquetas correspondentes ao PATTERN. PATTERN é um padrão usual de estilo de shell .
dinâmico , permanente(Somente IPv6) lista apenas endereços instalados devido à configuração de endereço sem estado ou lista apenas endereços permanentes (não dinâmicos).
provisório(Apenas IPv6) lista apenas endereços que não passaram na detecção de endereços duplicados.
descontinuada(Apenas IPv6) lista apenas endereços obsoletos.
primário , secundárioliste apenas endereços principais (ou secundários).

ip address flush libera um endereço de protocolo:

Este comando libera os endereços de protocolo selecionados por alguns critérios.

Este comando tem os mesmos argumentos que o show (veja acima). A diferença é que ele não é executado quando nenhum argumento é fornecido.

Aviso: Este comando (e outros comandos de descarga descritos abaixo) são bastante perigosos. Se você cometer um erro, ele não o perdoará, mas removerá cruelmente todos os endereços.

Com a opção -estatistics , o comando se torna detalhado . Ele imprime o número de endereços excluídos e o número de rodadas feitas para liberar a lista de endereços. Se essa opção for dada duas vezes, o ip addr flush também despeja todos os endereços excluídos no formato descrito na subseção anterior.

ip addrlabel: Gerenciamento de etiqueta de endereço de protocolo

A etiqueta de endereço IPv6 é usada para a seleção de endereço descrita na RFC 3484. A precedência é gerenciada pelo espaço do usuário e apenas a etiqueta é armazenada no kernel .

ip addrlabel add adiciona uma entrada de etiqueta de endereço ao kernel:

  ip addrlabel {add |  del} prefixo PREFIX [dev DEV ] [label NUMBER ]
  endereço IP addrlabel {lista |  rubor }
prefixo PREFIXo prefixo a ser usado.
dev DEVa interface de saída.
etiqueta NUMBERo rótulo para o prefixo. 0xffffffff está reservado.

ip addrlabel del flushes etiquetas de endereço:

o comando exclui uma entrada de etiqueta de endereço no kernel. Os argumentos coincidem com os argumentos de ip addrlabel add, mas label não é necessário.

lista ip addrlabel lista etiquetas de endereço:

este comando mostra o conteúdo das etiquetas de endereço.

o nivelamento do endereço IP delimita as etiquetas de endereço:

esse comando libera o conteúdo das etiquetas de endereço e não restaura as configurações padrão.

vizinho ip – gerenciamento de tabelas vizinho / arp.

objetos vizinhos estabelecem ligações entre endereços de protocolo e endereços de camada de link para hosts que compartilham o mesmo link. As entradas vizinhas são organizadas em tabelas. A tabela de vizinhos IPv4 é conhecida por outro nome: a tabela ARP.

Os comandos correspondentes exibem ligações de vizinhos e suas propriedades, adicionam novas entradas de vizinhos e excluem as antigas.

  vizinho de ip {add |  del |  mudar |  substituir} { ADDR [lladdr LLADDR ]
              [nud {permanente |  noarp |  obsoleto |  alcançável}] |  proxy ADDR }
              [dev DEV ]

ip neighbour add – adiciona uma nova entrada vizinha

alteração de vizinho de ip – altera uma entrada existente

ip Neighbor replace – adicione uma nova entrada ou altere uma existente

para ENDEREÇO(Padrão.) O endereço de protocolo do vizinho. É um endereço IPv4 ou IPv6.
dev NAMEa interface à qual esse vizinho está conectado.
illaddr LLADDRESSo endereço da camada de link do vizinho. LLADDRESS também pode ser nulo .
nud NUD_STATEo estado da entrada do vizinho. O nud é uma abreviação de ‘Detecção de inacessibilidade de vizinhos’. O estado pode assumir um dos seguintes valores:

permanente

a entrada do vizinho é válida para sempre e só pode ser removida administrativamente.

noarp

a entrada do vizinho é válida. Nenhuma tentativa de validar esta entrada será feita, mas ela poderá ser removida quando a vida útil expirar.

alcançável

a entrada do vizinho é válida até o tempo limite de alcançabilidade expirar.

obsoleto

a entrada do vizinho é válida, mas suspeita. Esta opção para vizinho de ip não altera o estado do vizinho se for válido e o endereço não for alterado por este comando.

A exclusão do vizinho ip exclui uma entrada vizinha:

Este comando invalida uma entrada vizinha.

Os argumentos são os mesmos que com o vizinho ip add , exceto que lladdr e nud são ignorados.

Aviso: Tentativas de excluir ou alterar manualmente uma entrada noarp criada pelo kernel podem resultar em comportamento imprevisível. Particularmente, o kernel pode tentar resolver esse endereço mesmo em uma interface NOARP ou se o endereço for multicast ou broadcast.

  vizinho ip {show |  liberar} [para PREFIXAR ] [dev DEV ] [nud STATE ]

ip neighbour show lista entradas vizinhas:

Este comando exibe tabelas vizinhas.

para ENDEREÇO (padrão)o prefixo selecionando os vizinhos a serem listados.
dev NAMEliste apenas os vizinhos conectados a este dispositivo.
não utilizadoliste apenas os vizinhos que não estão em uso no momento.
nud NUD_STATEliste apenas as entradas vizinhas nesse estado. NUD_STATE utiliza os valores listados abaixo ou o valor especial, o que significa todos os estados. Esta opção pode ocorrer mais de uma vez. Se esta opção estiver ausente, ip listará todas as entradas, exceto none e noarp .

ip vizinho flush libera entradas vizinho:

Este comando libera tabelas vizinhas, selecionando entradas para liberar por alguns critérios.

Este comando tem os mesmos argumentos que show . As diferenças são que ele não é executado quando nenhum argumento é fornecido e que os estados vizinhos padrão a serem liberados não incluem permanente e noarp .

Com a opção -estatistics , o comando se torna detalhado. Ele imprime o número de vizinhos excluídos e o número de rodadas feitas para liberar a tabela vizinha. Se a opção for dada duas vezes, o vizinho ip flush também despeja todos os vizinhos excluídos.

O ip route gerencia tabelas de roteamento:

Manipular entradas de rota nas tabelas de roteamento do kernel mantém informações sobre caminhos para outros nós da rede.

Tipos de rotas:

unicasta entrada da rota descreve caminhos reais para os destinos cobertos pelo prefixo da rota.
inacessívelesses destinos são inacessíveis. Os pacotes são descartados e o host de mensagens ICMP inacessível é gerado. Os remetentes locais recebem um erro EHOSTUNREACH.
buraco negroesses destinos são inacessíveis. Pacotes são descartados silenciosamente. Os remetentes locais recebem um erro EINVAL.
proibiresses destinos são inacessíveis. Os pacotes são descartados e a comunicação de mensagens ICMP administrativamente proibida é gerada. Os remetentes locais recebem um erro EACCES.
localos destinos são atribuídos a este host. Os pacotes são retornados e entregues localmente.
transmissãoos destinos são endereços de transmissão. Os pacotes são enviados como transmissões de link.
lançaruma rota de controle especial usada junto com regras de política. Se essa rota for selecionada, a pesquisa nesta tabela será encerrada, fingindo que nenhuma rota foi encontrada. Sem o roteamento de políticas, é equivalente à ausência da rota na tabela de roteamento. Os pacotes são descartados e a rede de mensagens ICMP inacessível é gerada. Os remetentes locais recebem um erro ENETUNREACH.
natuma rota NAT especial. Os destinos cobertos pelo prefixo são considerados endereços fictícios (ou externos) que exigem tradução para endereços reais (ou internos) antes do encaminhamento. Os endereços para os quais traduzir são selecionados com o atributo via .

Aviso: O NAT da rota não é mais suportado no Linux 2.6.

anycastainda não implementado! ) os destinos são endereços anycast atribuídos a este host. Eles são principalmente equivalentes ao local, com uma diferença: esses endereços são inválidos quando usados ​​como o endereço de origem de qualquer pacote.
multicastum tipo especial usado para roteamento multicast. Não está presente nas tabelas de roteamento normais.

Tabelas de rotas:

O Linux-2.x pode compactar rotas em várias tabelas de roteamento identificadas por um número no intervalo de 1 a 255 ou pelo nome do arquivo / etc / iproute2 / rt_tables Por padrão, todas as rotas normais são inseridas na tabela principal (ID 254 ) e o kernel usa apenas esta tabela ao calcular rotas.

Na verdade, sempre existe uma outra tabela, que é invisível, mas ainda mais importante. É a tabela local (ID 255 ). Esta tabela consiste em rotas para endereços locais e de broadcast. O kernel mantém essa tabela automaticamente e o administrador geralmente não precisa modificá-la ou mesmo examiná-la.

As várias tabelas de roteamento são envolvidas quando o roteamento de política é usado.

  rota ip {add |  del |  mudar |  acrescentar |  substituir |  monitor} ROUTE 

ip route add – adicionar nova rota

mudança de rota ip – alterar rota

ip route replace – altere a rota ou adicione uma nova rota

para TYPE PREFIX (padrão)o prefixo de destino da rota. Se TYPE for omitido, ip assumirá o tipo unicast. Outros valores de TYPE estão listados acima. PREFIX é um endereço IP ou IPv6 opcionalmente seguido por uma barra e o comprimento do prefixo. Se o comprimento do prefixo estiver ausente, o ip assumirá uma rota de host de tamanho completo. Há também um padrão especial de PREFIX – que é equivalente ao IP 0/0 ou ao IPv6 :: / 0 .
tos TOS , dsfield TOSa chave Type Of Service (TOS). Essa chave não possui máscara associada e a correspondência mais longa é entendida como: Primeiro, compare os TOS da rota e do pacote. Se eles não forem iguais, o pacote ainda poderá corresponder a uma rota com um TOS zero. TOS é um número hexadecimal de 8 bits ou um identificador de / etc / iproute2 / rt_dsfield .
métrica NUMBER , preferência NUMBERo valor da preferência da rota. NUMBER é um número arbitrário de 32 bits .
mesa TABLEIDa tabela à qual adicionar esta rota. TABLEID pode ser um número ou uma string do arquivo / etc / iproute2 / rt_tables . Se esse parâmetro for omitido, ip assumirá a tabela principal, com exceção das rotas local , broadcast e nat , que são colocadas na tabela local por padrão.
dev NAMEo nome do dispositivo de saída.
via ADDRESSo endereço do roteador nexthop. Na verdade, o sentido desse campo depende do tipo de rota. Para rotas unicast normais, é o verdadeiro roteador do próximo salto ou, se for uma rota direta instalada no modo de compatibilidade com BSD , pode ser um endereço local da interface. Para rotas NAT, é o primeiro endereço do bloco de destinos IP traduzidos.
src ADDRESSo endereço de origem a ser preferido ao enviar para os destinos cobertos pelo prefixo da rota.
reino REALMIDo domínio ao qual esta rota está atribuída. REALMID pode ser um número ou uma sequência do arquivo / etc / iproute2 / rt_realms .
MTU MTU , MTU bloqueio MTUo MTU ao longo do caminho até o destino. Se o bloqueio do modificador não for usado, o MTU poderá ser atualizado pelo kernel devido ao Path MTU Discovery. Se o bloqueio do modificador for usado, nenhum caminho MTU discovery será tentado, todos os pacotes serão enviados sem o bit DF no caso IPv4 ou fragmentados no MTU para IPv6.
janela NUMBERa janela máxima para o TCP anunciar nesses destinos, medido em bytes. Limita o máximo de rajadas de dados que nossos pares TCP podem enviar para nós.
rtt TIMEa estimativa inicial de RTT (‘Round Trip Time’). Se nenhum sufixo for especificado, as unidades serão valores brutos passados ​​diretamente para o código de roteamento para manter a compatibilidade com liberações anteriores. De outra forma:

um sufixo de s , s ou s é usado para especificar segundos ;

ms , ms ou ms para especificar milissegundos ;

us , usec ou usecs para especificar microssegundos ;

ns , nsec ou nsecs para especificar nanossegundos ;

ou j , hz ou jiffies para especificar jiffies .

O valor é então convertido para o que o código de roteamento espera.

rttvar TIMEa estimativa inicial da variação da RTT. Os valores são especificados como com rtt acima.
rto_min TIMEo tempo limite mínimo de retransmissão TCP a ser usado ao se comunicar com esse destino. Os valores são especificados como com rtt acima.
ssthresh NUMBERuma estimativa para o limite inicial de início lento.
cwnd NUMBERo grampo para janela de congestionamento. Será ignorado se o sinalizador de bloqueio não for usado.
initcwnd NUMBERo tamanho máximo da janela inicial de congestionamento (cwnd) no MSS de uma conexão TCP.
initrwnd NUMBERo tamanho inicial da janela de recebimento para conexões com este destino. O tamanho real da janela é esse valor multiplicado pelo MSS da conexão. O valor padrão é zero, o que significa usar o valor Slow Start.
advmss NUMBERo MSS (‘Tamanho máximo de segmento’) para anunciar nesses destinos ao estabelecer conexões TCP. Se não for fornecido, o Linux usará um valor padrão calculado a partir da MTU do dispositivo de primeiro salto. Se o caminho para esses destinos for assimétrico, esse palpite pode estar errado.
reordenando NUMBERReordenação máxima no caminho para este destino. Se não for fornecido, o Linux usará o valor selecionado com a variável sysctl net / ipv4 / tcp_reordering .
NEXTHOPo próximo ponto de uma rota de caminhos múltiplos. NEXTHOP é um valor complexo com sua própria sintaxe semelhante às listas de argumentos de nível superior:

via ADDRESS

é o roteador nexthop.

dev NAME

é o dispositivo de saída.

peso NUMBER

é um peso para esse elemento de uma rota de caminhos múltiplos que reflete sua largura de banda ou qualidade relativa.

escopo SCOPE_VALo escopo dos destinos cobertos pelo prefixo da rota. SCOPE_VAL pode ser um número ou uma sequência do arquivo / etc / iproute2 / rt_scopes . Se esse parâmetro for omitido, o ip assumirá o escopo global para todas as rotas unicast com gateway , o link do escopo para rotas diretas de difusão ponto a ponto e de difusão e o host do escopo para rotas locais.
protocolo RTPROTOo identificador do protocolo de roteamento desta rota. RTPROTO pode ser um número ou uma sequência do arquivo / etc / iproute2 / rt_protos . Se o ID do protocolo de roteamento não for fornecido, o ip assumirá a inicialização do protocolo (isto é, assume que a rota foi adicionada por alguém que não entende o que está fazendo). Vários valores de protocolo têm uma interpretação fixa. Nomeadamente:

redirecionamento – a rota foi instalada devido a um redirecionamento ICMP .

kernel – a rota foi instalada pelo kernel durante a configuração automática.

boot – a rota foi instalada durante a sequência de inicialização. Se um daemon de roteamento iniciar, ele limpará todos eles.

estático – a rota foi instalada pelo administrador para substituir o roteamento dinâmico. O daemon de roteamento os respeitará e, provavelmente, até os anunciará aos seus pares.

ra – a rota foi instalada pelo protocolo Router Discovery.

O restante dos valores não é reservado e o administrador pode atribuir (ou não atribuir) tags de protocolo:

onlinkfinja que o nexthop está diretamente anexado a esse link, mesmo que não corresponda a nenhum prefixo da interface.
igualarpermitir pacote por randomização de pacotes em rotas de caminhos múltiplos. Sem esse modificador, a rota será congelada para um próximo ponto selecionado, para que a divisão de carga ocorra apenas na base por fluxo. equalizar funciona apenas se o kernel estiver corrigido.

excluir rota ip – excluir rota

ip route del tem os mesmos argumentos que ip route add , mas sua semântica é um pouco diferente.

Os valores-chave ( para , tos , preferência e tabela ) selecionam a rota a ser excluída. Se atributos opcionais estiverem presentes, o ip verificará se eles coincidem com os atributos da rota a serem excluídos. Se nenhuma rota com a chave e os atributos fornecidos for encontrada, ip route del falhará.

ip route show – lista rotas

o comando exibe o conteúdo das tabelas de roteamento ou as rotas selecionadas por alguns critérios.

para SELECTOR (padrão)selecione apenas rotas no intervalo de destinos especificado. SELECTOR consiste em um modificador opcional ( raiz , correspondência ou exato ) e um prefixo. root PREFIX seleciona rotas com prefixos não menores que PREFIX . Por exemplo, a raiz 0/0 seleciona a tabela de roteamento inteira. match PREFIX seleciona rotas com prefixos não maiores que PREFIX . Por exemplo, a correspondência 10.0 / 16 seleciona 10.0 / 16 , 10/8 e 0/0 , mas não seleciona 10.1 / 16 e 10.0.0 / 24 . PREFIX exato (ou apenas PREFIX ) seleciona rotas com esse prefixo exato. Se nenhuma dessas opções estiver presente, o ip assumirá a raiz 0/0, ou seja, lista a tabela inteira.
tos TOS , dsfield TOSselecione apenas rotas com os TOS fornecidos.
mesa TABLEIDmostre as rotas desta (s) tabela (s). A configuração padrão é mostrar o domínio da tabela . TABLEID pode ser o ID de uma tabela real ou um dos valores especiais:

tudo

liste todas as tabelas.

cache

despejar o cache de roteamento.

clonado , em cache

listar rotas clonadas, ou seja, rotas que foram bifurcadas dinamicamente de outras rotas porque algum atributo da rota (fe MTU) foi atualizado. Na verdade, é equivalente ao cache da tabela .

de SELECTORa mesma sintaxe de para , mas vincula o intervalo de endereços de origem ao invés de destinos. Observe que a opção from funciona apenas com rotas clonadas.
protocolo RTPROTOapenas liste as rotas deste protocolo.
escopo SCOPE_VALlista apenas rotas com esse escopo.
tipo TYPElista apenas rotas deste tipo.
dev NAMElista apenas as rotas que passam por este dispositivo.
via PREFIXlista apenas as rotas que passam pelos roteadores nexthop selecionados pelo PREFIX .
src PREFIXapenas liste as rotas com os endereços de origem preferidos selecionados pelo PREFIX .
reino REALMID , domínios FROMREALM / TOREALMapenas liste rotas com esses reinos.

ip route flush – tabelas de roteamento niveladas

esse comando libera as rotas selecionadas por alguns critérios.

Os argumentos têm a mesma sintaxe e semântica que os argumentos da rota IP , mas as tabelas de roteamento não são listadas, mas eliminadas. A única diferença é a ação padrão: show despeja toda a tabela de roteamento principal IP, mas flush imprime a página auxiliar.

Com a opção -estatistics , o comando se torna detalhado. Ele imprime o número de rotas excluídas e o número de rodadas feitas para liberar a tabela de roteamento. Se a opção for dada duas vezes, o ip route flush também despeja todas as rotas excluídas no formato descrito na subseção anterior.

ip route get – obtém uma única rota

esse comando obtém uma única rota para um destino e imprime seu conteúdo exatamente como o kernel o vê.

para ENDEREÇO (padrão)o endereço de destino.
de ADDRESSo endereço de origem.
tos TOS , dsfield TOSo tipo de serviço.
iif NAMEo dispositivo a partir do qual esse pacote deve chegar.
oif NAMEforçar o dispositivo de saída no qual este pacote será roteado.
conectadose nenhum endereço de origem (opção de ) foi fornecido, pesquise novamente a rota com a origem definida no endereço preferencial recebido na primeira pesquisa. Se o roteamento de política for usado, pode ser uma rota diferente.

Note que esta operação não é equivalente ao ip route show . show mostra rotas existentes. get resolve-os e cria novos clones, se necessário. Essencialmente, get é equivalente a enviar um pacote nesse caminho. Se o argumento iif não for fornecido, o kernel criará uma rota para enviar pacotes para o destino solicitado. Isso é equivalente a executar ping no destino com um cache de rota ip subsequente, no entanto, nenhum pacote é realmente enviado. Com o argumento iif , o kernel finge que um pacote chegou dessa interface e procura um caminho para encaminhar o pacote.

regra ip – gerenciamento de banco de dados de diretiva de roteamento

As regras no banco de dados da política de roteamento controlam o algoritmo de seleção de rota.

Os algoritmos de roteamento clássicos usados ​​na Internet tomam decisões de roteamento baseadas apenas no endereço de destino dos pacotes (e na teoria, mas não na prática, no campo TOS).

Em algumas circunstâncias, queremos rotear pacotes de maneira diferente, dependendo não apenas dos endereços de destino, mas também de outros campos de pacotes: endereço de origem , protocolo IP , portas de protocolo de transporte ou até carga útil de pacotes . Essa tarefa é chamada ‘roteamento de política’.

Para resolver essa tarefa, a tabela de roteamento convencional baseada em destino, ordenada de acordo com a regra de correspondência mais longa, é substituída por um ‘banco de dados de políticas de roteamento’ (ou RPDB), que seleciona rotas executando algum conjunto de regras.

Cada regra de roteamento de política consiste em um seletor e um predicado de ação. O RPDB é verificado na ordem crescente de prioridade. O seletor de cada regra é aplicado a { endereço de origem , endereço de destino , interface de entrada , tos , fwmark } e, se o seletor corresponder ao pacote, a ação será executada. O predicado de ação pode retornar com sucesso. Nesse caso, ele fornecerá uma indicação de rota ou falha e a pesquisa do RPDB será encerrada. Caso contrário, o programa RPDB continuará na próxima regra.

Semanticamente, a ação natural é selecionar o ponto de partida e o dispositivo de saída.

  regra de ip [lista |  adicionar |  del |  flush] AÇÃO DO SELETOR 

ip rule add – insira uma nova regra

ip rule delete – excluir uma regra

tipo TYPE (padrão)o tipo desta regra. A lista de tipos válidos foi fornecida na subseção anterior.
PREFIXselecione o prefixo de origem para corresponder.
PREFIXARselecione o prefixo de destino para corresponder.
iif NAMEselecione o dispositivo recebido para corresponder. Se a interface for loopback, a regra corresponderá apenas aos pacotes originários desse host. Isso significa que você pode criar tabelas de roteamento separadas para pacotes encaminhados e locais e, portanto, segregá-los completamente.
tos TOS , dsfield TOSselecione o valor TOS para corresponder.
fwmark MARKselecione o valor fwmark para corresponder.
PREFERÊNCIA prioritáriaa prioridade desta regra. Cada regra deve ter um valor de prioridade exclusivo explicitamente definido. As opções preferência e ordem são sinônimos com prioridade.
mesa TABLEIDo identificador da tabela de roteamento a procurar, se o seletor de regras corresponder. Também é possível usar a pesquisa em vez da tabela .
regiões de / paraDomínios para selecionar se a regra correspondeu e a pesquisa da tabela de roteamento foi bem-sucedida. A região TO é usada apenas se a rota não selecionou nenhuma região.
ENDEREÇO natA base do bloco de endereços IP a ser convertido (para endereços de origem). O ENDEREÇO ​​pode ser o início do bloco de endereços NAT (selecionado pelas rotas NAT) ou um endereço de host local (ou mesmo zero). No último caso, o roteador não converte os pacotes, mas os mascara para esse endereço. Usar mapear para em vez de nat significa a mesma coisa.

Aviso: As alterações no RPDB feitas com esses comandos não ficam ativas imediatamente. Supõe-se que, após um script concluir um lote de atualizações, ele libera o cache de roteamento com o cache de liberação de rota ip .

ip rule flush – também despeja todas as regras excluídas.

Este comando não tem argumentos.

regra de ip show – lista regras

Este comando não tem argumentos. lista de opções ou lst são sinônimos de show .

ip maddress – gerenciamento de endereços multicast

objetos maddress são endereços multicast.

  show de ip mangas [dev STRING ]
  ip maddress [adicionar |  del] MULTIADDR dev STRING

ip maddress show – lista endereços multicast

dev NAMEo nome do dispositivo.

ip maddress add – adicione um endereço multicast

ip maddress delete – exclui um endereço multicast

esses comandos anexam / desanexam um endereço multicast da camada de link estático para escutar na interface. Observe que é impossível ingressar em grupos multicast de protocolo estaticamente. Este comando gerencia apenas endereços da camada de link.

endereço LLADDRESS (padrão)o endereço multicast da camada de link.
dev NAMEo dispositivo para ingressar / sair deste endereço multicast.

mroute ip – gerenciamento de cache de roteamento multicast

Objetos mroute são entradas de cache de roteamento multicast criadas por um daemon mrouting no nível do usuário (por exemplo, pimd ou mrouted ).

Devido às limitações da interface atual para o mecanismo de roteamento de difusão seletiva, é impossível alterar objetos de mroute administrativamente, para que possamos exibi-los apenas. Segundo os autores, essa limitação será removida no futuro.

ip mroute show – lista entradas do cache do mroute

  ip mroute show [ PREFIX ] [do PREFIX ] [iif DEVICE ]
PREFIXAR (padrão)the prefix selecting the destination multicast addresses to list.
iif NAMEthe interface on which multicast packets are received.
from PREFIXthe prefix selecting the IP source addresses of the multicast route.

ip tunnel – tunnel configuration

tunnel objects are tunnels, encapsulating packets in IP packets and then sending them over the IP infrastructure. The encapulating (or outer) address family is specified by the -f option. The default is IPv4.

 ip tunnel { add | change | del | show | prl } [ NAME ] [ mode MODE ]
          [ remote ADDR ] [ local ADDR ] [ [i|o]seq ] [ [i|o]key KEY ]
          [ [i|o]csum ] ] [ encaplimit ELIM ] [ ttl TTL ] [ tos TOS ]
          [ flowlabel FLOWLABEL ] [ prl-default ADDR ] [ prl-nodefault ADDR ]
          [ prl-delete ADDR ] [ [no]pmtudisc ] [ dev PHYS _ DEV ] [ dscp inherit ]

ip tunnel add – add a new tunnel

ip tunnel change – change an existing tunnel

ip tunnel delete – destroy a tunnel

name NAME (default)select the tunnel device name.
mode MODEset the tunnel mode. Available modes depend on the encapsulating address family.

Modes for IPv4 encapsulation available: ipip, sit, isatap, and gre.

Modes for IPv6 encapsulation available: ip6ip6 , ipip6 and any .

remote ADDRESSset the remote endpoint of the tunnel.
local ADDRESSset the fixed local address for tunneled packets. It must be an address on another interface of this host.
ttl Nset a fixed TTL N on tunneled packets. N is a number in the range 1-255 . 0 is a special value meaning that packets inherit the TTL value. The default value for IPv4 tunnels is: inherit . The default value for IPv6 tunnels is: 64 .
tos T , dsfield T , tclass Tset a fixed TOS (or traffic class in IPv6) T on tunneled packets. The default value is: inherit .
dev NAMEbind the tunnel to the device NAME so that tunneled packets will only be routed via this device and will not be able to escape to another device when the route to endpoint changes.
nopmtudiscdisable Path MTU Discovery on this tunnel. It is enabled by default. Note that a fixed ttl is incompatible with this option: tunnelling with a fixed ttl always makes pmtu discovery.
key K , ikey K , okey K( only GRE tunnels ) use keyed GRE with key K . K is either a number or an IP address-like dotted quad. The key parameter sets the key to use in both directions. The ikey and okey parameters set different keys for input and output.
csum , icsum , ocsum( only GRE tunnels ) generate/require checksums for tunneled packets. The ocsum flag calculates checksums for outgoing packets. The icsum flag requires that all input packets have the correct checksum. The csum flag is equivalent to the combination icsum ocsum .
seq , iseq , oseq( only GRE tunnels ) serialize packets. The oseq flag enables sequencing of outgoing packets. The iseq flag requires that all input packets are serialized. The seq flag is equivalent to the combination iseq oseq .
dscp inherit( only IPv6 tunnels ) Inherit DS field between inner and outer header.
encaplim ELIM( only IPv6 tunnels ) set a fixed encapsulation limit. Default is 4 .
flowlabel FLOWLABEL( only IPv6 tunnels ) set a fixed flowlabel.

ip tunnel prl – potential router list (ISATAP only)

dev NAMEmandatory device name.
prl-default ADDR , prl-nodefault ADDR , prl-delete ADDRAdd or delete ADDR as a potential router or default router.

ip tunnel show – list tunnels

This command has no arguments.

ip monitor and rtmon – state monitoring

The ip utility can monitor the state of devices, addresses, and routes continuously. This option has a slightly different format. Namely, the monitor command is the first in the command line and then the object list follows:

 ip monitor [ all | OBJECT-LIST ]

OBJECT-LIST é a lista de tipos de objetos que queremos monitorar. Pode conter link , endereço e rota . Se nenhum argumento de arquivo for fornecido, o ip abrirá o RTNETLINK, ouvirá e despejará as alterações de estado no formato descrito nas seções anteriores.

Se um nome de arquivo for fornecido, ele não escuta no RTNETLINK, mas abre o arquivo que contém as mensagens RTNETLINK salvas no formato binário e as despeja. Esse arquivo de histórico pode ser gerado com o utilitário rtmon . Este utilitário possui uma sintaxe de linha de comando semelhante ao monitor IP . Idealmente, o rtmon deve ser iniciado antes que o primeiro comando de configuração de rede seja emitido. Por exemplo, se você inserir:

arquivo rtmon /var/log/rtmon.log

em um script de inicialização, você poderá visualizar o histórico completo posteriormente.

Certamente, é possível iniciar o rtmon a qualquer momento. Anexa o histórico com o instantâneo do estado despejado no momento da inicialização.

ip xfrm – configurando xfrm

xfrm é uma estrutura IP, que pode transformar o formato dos datagramas, ou seja, criptografar os pacotes com algum algoritmo. A política xfrm e o estado xfrm são associados através dos modelos TMPL_LIST. Essa estrutura é usada como parte do protocolo IPsec.

  estado xfrm ip {add |  atualização} ID [ XFRM _ OPT ] [ MODO MODO ] [reqid REQID ]
               [seq SEQ ] [replay-window SIZE ] [flag FLAG - LIST ]
               [encap ENCAP ] [sel SELECTOR ] [ LIMIT - LIST ]
  IP xfrm state alocspi ID [mode MODE ] [reqid REQID ] [seq SEQ ]
               [ SPI mínimo SPI máximo]

ip xfrm state add – adiciona um novo estado ao xfrm

ip xfrm state update – atualiza o estado xfrm

alocspi de estado xfrm ip – aloca valor SPI

MODOestá definido como padrão para transporte, mas pode ser definido como túnel, ro ou beterraba.
LISTA DE BANDEIRAScontém um ou mais sinalizadores.
BANDEIRApode ser definido como noecn, decap-dscp ou wildrecv.
ENCAPencapsulamento é definido para o tipo de encapsulamento ENCAP-TYPE, porta de origem SPORT, porta de destino DPORT e OADDR.
ENCAP-TYPEpode ser definido como espinudp ou espinudp-nonike .
ALGO-LISTcontém um ou mais algoritmos ALGO que dependem do tipo de algoritmo definido por ALGO_TYPE. O algoritmo pode ser enc , auth ou comp .
  política de xfrm ip {add |  atualização} dir DIR SELECTOR [index INDEX ]
                [tipo PTYPE ] [ação AÇÃO ] [prioridade PRIORIDADE ]
                [ LIMIT - LIST ] [ TMPL - LIST ]
  política de xfrm ip {delete |  get} dir DIR [ SELECTOR |  índice INDEX ]
                [tipo PTYPE ]
  política de xfrm ip {deleteall |  lista} [dir DIR ] [ SELECTOR ]
                [índice INDEX ] [ação AÇÃO ] [prioridade PRIORIDADE ]
  liberação da política de xfrm IP [ptype PTYPE ]

add xfrm policy add – adicione uma nova política

atualização da política ip xfrm – atualiza uma política existente

excluir política xfrm ip – excluir política existente

ip xfrm policy get – obtém a política existente

política xfrm ip deleteall – exclui todas as políticas xfrm existentes

lista de políticas ip xfrm – imprima a lista de políticas xfrm

liberação de política ip xfrm – políticas de liberação

A liberação da política xfrm ip pode liberar todas as políticas ou apenas as especificadas com o ptype .

dir DIRO diretório pode ser um destes: inp , out ou fwd .
SELECTORseleciona quais endereços a política configurará. O seletor é definido pelo endereço de origem e destino.
UPSPECé definido pelo esporte da porta de origem, porta da porta de destino, digite como número e código e também número.
dev DEVespecifique o dispositivo de rede.
índice INDEXo número de política indexada.
tipo PTYPEo tipo padrão é principal .
ação AÇÃOo padrão é permitir .
prioridade PRIORIDADEprioridade é um número. O padrão é zero.
LISTA DE LIMITESlimites são definidos em segundos, bytes ou número de pacotes.
TMPL-LISTA lista de modelos é baseada em ID , modo , reqid e nível .
EU IRIAé especificado pelo endereço de origem , endereço de destino , proto e valor de spi .
XFRM_PROTOvalores: esp , ah , comp , route2 ou hao .
MODOestá definido como padrão para transporte , mas pode ser definido como túnel ou beterraba .
NÍVELé definido como padrão em obrigatório e a outra opção é usar.
UPSPECé especificado por esporte , dport , tipo e código (NUMBER).
  monitor xfrm ip [tudo |  LISTA DE OBJETOS ]

ip xfrm monitor – é usado para listar todos os objetos ou grupo definido deles.

O monitor xfrm pode monitorar as políticas para todos os objetos ou grupo definido deles.

Exemplos

GorjetaVocê deve ter acesso root para usar algumas funções do comando ip .

  show de endereço de ip

Lista as interfaces de rede.

  show de rota ip

Lista a tabela de roteamento.

  addr ip add 104.20.56.118 dev eth1

Atribua o endereço IP 104.20.56.118 ao dispositivo Ethernet eth1 .

Uma observação sobre outros sistemas operacionais

Se você estiver usando outro sistema operacional semelhante ao Unix, como BSD ou macOS X (cujas bases são baseadas no BSD), o comando ip pode não estar disponível; no entanto, a mesma funcionalidade, ou muito semelhante, pode ser alcançada usando o comando route . Por exemplo, este comando ip do Linux:

  a rota do ip obtém 74.125.226.35

… que produz:

  74.125.226.35 via 192.168.1.1 dev wlan0 src 192.168.1.2
 cache

… é semelhante a este comando de rota do OS X:

  rota obter 74.125.226.35
  Rota para: lga15s43-in-f3.1e100.net
 destino: padrão
        mask: default
     gateway: 192.168.1.1
   interface: en1
       sinalizadores: <UP, GATEWAY, DONE, STATIC, PRCLONING>
  recvpipe sendpipe ssthresh rtt, msec rttvar contagem de hop mtu expiram
        0 0 0 0 0 0 1500 0

Observe que esta forma do comando route é específica para BSD e não é transferida para a rota Linux. Além disso, observe que o comando route executa a resolução DNS, mas o ip não. Portanto, no BSD, este comando funcionará:

  rota obtenha google.com

… mas este comando do Linux:

  rota ip obter google.com

… não, porque precisa de um endereço IP e não pode (por design) resolver o nome do domínio por si próprio.

Existem muitas diferenças entre esses tipos de utilitários de nível de kernel em diferentes sistemas operacionais, apesar de compartilharem o mesmo nome de comando, e é aconselhável verificar as páginas de manual do sistema operacional para obter detalhes exatos de uso.

arp – Manipule o cache do ARP do sistema.
ifconfig – exibe ou modifica a configuração das interfaces de rede.
netstat – Imprime informações sobre conexões de rede, tabelas de roteamento, estatísticas de interface, conexões mascaradas e associações multicast.
route – Exiba e manipule a tabela de roteamento IP.
tcpdump – captura o tráfego bruto da rede.

19 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

[email protected]

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900
[email protected]

Copyright © Linux Force Security  - Desde 2011.