AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-249264

Strangelovian's questions

Martin Hope
Strangelovian
Asked: 2018-11-05 14:36:10 +0800 CST

Metaclasse de pacote aplicada, mas a prioridade de VLAN capturada está errada

  • 2

Meu roteador doméstico linux fica entre meu ISP (laranja) e minha rede doméstica. No lado da WAN, a Orange fornece internet em uma VLAN marcada como 832.

Algumas mensagens de controle (ARP, DHCP, tipos de "descoberta de roteador" ICMPv6, DHCPv6) precisam ser respondidas ao Orange com: - Prioridade de VLAN = 6 - IPv4 ou IPv6 DSCP = "CS6" (6 bits 0x30 ou 48 em notação decimal)

Primeiro problema, para as mensagens DHCP v4 de sequência de inicialização, isc-dhclient precisa usar um soquete de pacote ethernet bruto, que ignora a pilha de IP do kernel linux por design. Portanto, não se pode usar o netfilter para atribuir IPv4 DSCP ou Meta Class, mas vamos deixar isso de lado por enquanto.

Aqui está um dump da minha configuração nftables, relevante para a alteração do IP DSCP e Meta Priority: me@debox:~$ sudo /usr/sbin/nft list ruleset

table inet fltr46 {
    chain assign-orange-prio {
        ip version 4 udp sport { bootps, bootpc} ip dscp set cs6 meta priority set 0:6 counter packets 0 bytes 0 comment "isc-dhclient LPF socket bypass netfilter"
        icmpv6 type { nd-neighbor-solicit, nd-router-solicit} ip6 dscp set cs6 meta priority set 0:6 counter packets 8 bytes 480
        udp sport { dhcpv6-client, dhcpv6-server} ip6 dscp set cs6 meta priority set 0:6 counter packets 4 bytes 1180
    }

    chain postrouting {
        type filter hook postrouting priority 0; policy accept;
        oifname vmap { "enp1s0.832" : goto assign-orange-prio}
    }

    chain output {
        type filter hook output priority 0; policy accept;
        oifname vmap { "enp1s0.832" : goto assign-orange-prio }
    }
}
table arp arp4 {
    chain output {
        type filter hook output priority 0; policy accept;
        oifname ! "enp1s0.832" accept
        meta priority set 0:6 counter packets 851 bytes 35742
    }
}

Minha configuração da vlan 832 é a seguinte:

me@debox:~$ sudo cat /proc/net/vlan/enp1s0.832 
enp1s0.832  VID: 832     REORDER_HDR: 1  dev->priv_flags: 1001
Device: enp1s0
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
 EGRESS priority mappings: 6:6

O que significa, para saída, pacotes classe 6 -> VLAN prio 6.

Os contadores nftables para DHCPv6, "roteador" ICMPv6 e ARP são incrementados, conforme o esperado. No entanto, noto problemas na minha captura de wire shark (feita por espelhamento de porta swich):

  • DHCPv6: OK. DSCP = CS6 e VLAN prior = 6
  • ICMPv6: não está bem. DSCP = CS6 mas VLAN prior = 0
  • ARP: não está bem. VLAN prior = 0
  • Os pacotes de renovação de concessão DHCP IPv4, enviados através de um soquete UDP regular, também estão OK (DSCP+VLAN prior).

A prioridade de VLAN não é aplicada corretamente aos pacotes ARP e ICMPv6. Existe uma maneira de depurar ainda mais por que a metaclasse não traduz corretamente para VLAN prio, para mensagens ARP e ICMPv6 geradas pelo kernel do linux?

vlan netfilter
  • 1 respostas
  • 304 Views
Martin Hope
Strangelovian
Asked: 2018-10-29 14:40:17 +0800 CST

Falha na atualização do Stretch apt, falta do arquivo InRelease nos espelhos

  • 3

Tentei atualizar manualmente os pacotes há duas horas. O InRelease está realmente faltando no meu espelho http://ftp.fr.debian.org/debian/dists/stretch/InRelease , mas também no CDN http://deb.debian.org/debian/dists/stretch/ Em Lançamento .

Espera-se que este arquivo InRelease esteja faltando para esticar?

me@stretch:~$ LANG=C sudo apt update
Err:1 http://ftp.fr.debian.org/debian stretch InRelease
  Temporary failure resolving 'ftp.fr.debian.org'
Err:2 http://security.debian.org/debian-security stretch/updates InRelease
  Temporary failure resolving 'security.debian.org'
Err:3 http://ftp.fr.debian.org/debian stretch-updates InRelease
  Temporary failure resolving 'ftp.fr.debian.org'
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
W: Failed to fetch http://ftp.fr.debian.org/debian/dists/stretch/InRelease  Temporary failure resolving 'ftp.fr.debian.org'
W: Failed to fetch http://security.debian.org/debian-security/dists/stretch/updates/InRelease  Temporary failure resolving 'security.debian.org'
W: Failed to fetch http://ftp.fr.debian.org/debian/dists/stretch-updates/InRelease  Temporary failure resolving 'ftp.fr.debian.org'
W: Some index files failed to download. They have been ignored, or old ones used instead.

Tentando manualmente wget o arquivo InRelease (a conexão de rede está OK, como você pode ver):

me@stretch:~$ LANG=C wget http://deb.debian.org/debian/dists/stretch/InRelease
--2018-10-28 23:29:52--  http://deb.debian.org/debian/dists/stretch/InRelease
Resolving deb.debian.org (deb.debian.org)... 2001:67c:2564:a119::148:14, 2001:4f8:1:c::15, 2001:41c8:1000:21::21:4, ...
Connecting to deb.debian.org (deb.debian.org)|2001:67c:2564:a119::148:14|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://cdn-fastly.deb.debian.org/debian/dists/stretch/InRelease [following]
--2018-10-28 23:29:52--  http://cdn-fastly.deb.debian.org/debian/dists/stretch/InRelease
Resolving cdn-fastly.deb.debian.org (cdn-fastly.deb.debian.org)... 2a04:4e42:1d::204, 151.101.120.204
Connecting to cdn-fastly.deb.debian.org (cdn-fastly.deb.debian.org)|2a04:4e42:1d::204|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-10-28 23:29:52 ERROR 404: Not Found.
debian
  • 3 respostas
  • 11565 Views
Martin Hope
Strangelovian
Asked: 2018-04-09 06:40:16 +0800 CST

netfilter TCP/UDP conntrack estado RELATED com ICMP / ICMPv6

  • 8

O rastreamento de conexão Netfilter é projetado para identificar alguns pacotes como "RELACIONADOS" a uma entrada conntrack.

Estou procurando os detalhes completos das entradas de conntrack TCP e UDP, com relação aos pacotes de erro ICMP e ICMPv6.

Específico para firewall IPv6, o RFC 4890 descreve claramente os pacotes ICMPv6 que não devem ser descartados

http://www.ietf.org/rfc/rfc4890.txt

4.3.1. Tráfego que não deve ser descartado

Mensagens de erro essenciais para o estabelecimento e manutenção das comunicações:

Destination Unreachable (Type 1) - All codes

Packet Too Big (Type 2)

Time Exceeded (Type 3) - Code 0 only

Parameter Problem (Type 4) - Codes 1 and 2 only

Appendix A.4 suggests some more specific checks that could be performed on Parameter Problem messages if a firewall has the

capacidades necessárias de inspeção de pacotes.

Connectivity checking messages:

Echo Request (Type 128)

Echo Response (Type 129)

For Teredo tunneling [RFC4380] to IPv6 nodes on the site to be possible, it is essential that the connectivity checking messages are

permitido pelo firewall. Tem sido prática comum em redes IPv4 descartar mensagens de solicitação de eco em firewalls para minimizar o risco de ataques de varredura na rede protegida. Conforme discutido na Seção 3.2, os riscos da varredura de portas em uma rede IPv6 são muito menos graves e não é necessário filtrar as mensagens IPv6 Echo Request.

4.3.2. Tráfego que normalmente não deve ser descartado

Mensagens de erro diferentes das listadas na Seção 4.3.1:

Time Exceeded (Type 3) - Code 1
    Parameter Problem (Type 4) - Code 0

No caso de um roteador doméstico linux, a seguinte regra é suficiente para proteger a interface WAN, enquanto permite a passagem de pacotes RFC 4890 ICMPv6? (formato ip6tables-save)

*filter
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Adendo: claro, são necessárias outras regras para NDP e DHCP-PD:

-A INPUT -s fe80::/10 -d fe80::/10 -i wanif -p ipv6-icmp -j ACCEPT
-A INPUT -s fe80::/10 -d fe80::/10 -i wanif -p udp -m state --state NEW -m udp --sport 547 --dport 546 -j ACCEPT

Em outros termos, posso me livrar com segurança das seguintes regras para cumprir a RFC 4980, mantendo apenas a regra "RELATED" primeiro?

-A INPUT -i wanif -p icmpv6 --icmpv6-type destination-unreachable -j ACCEPT
-A INPUT -i wanif -p icmpv6 --icmpv6-type packet-too-big -j ACCEPT
-A INPUT -i wanif -p icmpv6 --icmpv6-type ttl-exceeded -j ACCEPT
-A INPUT -i wanif -p icmpv6 --icmpv6-type parameter-problem -j ACCEPT
linux networking
  • 1 respostas
  • 1631 Views
Martin Hope
Strangelovian
Asked: 2018-03-23 23:15:48 +0800 CST

Qual é a maneira correta de configurar automaticamente a interface via dhcp para ipv4 e ipv6 com debian?

  • 1

Eu tenho um roteador caseiro tipo PC executando o debian 9 stretch (o atual estável até hoje).

Por vários meses, consegui configurar automaticamente WAN ipv4 e WAN ipv6 assim:

# WAN vlan 832 internet
auto enp1s0.832
iface enp1s0.832 inet dhcp
iface enp1s0.832 inet6 manual

A parte inet6 usa dois scripts:

  • um primeiro script /etc/network/if-up.d/99-ipv6, usado para iniciar o cliente ISC dhcp no modo de delegação de prefixo IPV6
  • um segundo script /etc/dhcp/dhclient-exit-hooks.d/dhclient-ipv6, usado para atribuir uma sub-rede IPV6 "/64" à interface LAN

Isso funcionou bem por vários meses. Nas reinicializações, o sistema estava funcionando rapidamente com IPV4 e IPV6 totalmente funcionais.

Após uma atualização de rotina de pacotes, o debian systemd "networking.service" começou a travar na inicialização, durante a configuração da interface WAN do roteador. Ele travou por 5 minutos e foi eliminado pelo tempo limite "network.service" padrão. Como resultado, a interface WAN está ATIVA, mas as instâncias dhclient para IPV4 e IPV6-PD também foram eliminadas. Isso é muito ruim, pois o roteador não está atualizando as concessões de DHCP, se os clientes DHCP não estiverem em execução.

O debian networking.service estava travando na configuração da parte IPV6. Quando tentei comentar a parte do IPV6 assim:

# WAN vlan 832 internet
auto enp1s0.832
iface enp1s0.832 inet dhcp

O sistema estava reiniciando normalmente, porém sem IPV6.

Eu também tentei usar o modo "cacher" assim:

auto enp1s0.832
iface enp1s0.832 inet dhcp
iface enp1s0.832 inet6 dhcp
  request_prefix 1
  accept_ra 2

Com o acima, o Debian "networking.service" inicia ambas as instâncias do cliente ISC DHCP para IPV4 e IPV6: https://wiki.debian.org/IPv6PrefixDelegation

No entanto, o debian systemd networking.service ainda trava 5 minutos com esta configuração.

Então, tive que recorrer a um truque de último recurso muito sujo:

auto enp1s0.832
iface enp1s0.832 inet dhcp
  up /sbin/dhclient -6 -P -pf /run/dhclient6.enp1s0.832.pid -lf /var/lib/dhcp/dhclient6.enp1s0.832.leases -df /var/lib/dhcp/dhclient.enp1s0.832.leases enp1s0.832&

Com isso, o debian networking.service não está expirando, e ambas as instâncias dhclient para IPV4 e IPV6 são executadas corretamente.

Qual é a maneira limpa de ter o debian configurando automaticamente o IPV4 e o IPV6 sem travar na inicialização?

debian
  • 1 respostas
  • 4999 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve