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 / server / Perguntas / 971735
Accepted
user762750
user762750
Asked: 2019-06-18 05:30:08 +0800 CST2019-06-18 05:30:08 +0800 CST 2019-06-18 05:30:08 +0800 CST

Como combinar reqid em nftables?

  • 772

Parece que o linux já tem um módulo para nftables nf_xfrm, que contém algum código sobre reqid, porém não há descrição sobre isso na página man.

Então, como traduzir o seguinte comando para nftables?

iptables -D FORWARD -s 10.0.0.1/32 -i eth0 -m policy --dir in --pol ipsec --reqid 1 --proto esp -j ACCEPT
linux
  • 1 1 respostas
  • 1281 Views

1 respostas

  • Voted
  1. Best Answer
    A.B
    2019-06-18T17:31:36+08:002019-06-18T17:31:36+08:00

    A versão nftables , 0.9.0, foi lançada em 2018-06-08 , há mais de um ano, e esse recurso não está disponível nesta versão. Apenas os testes que foram decapsulados estão disponíveis.

    ATUALIZAÇÃO : nftables 0.9.1 foi lançado em 24/06/2019, então pode-se esperar que seja empacotado em sua distribuição favorita em breve.

    Suporte de kernel para manipulação adicional de ipsec em nftables foi adicionado na versão 4.20 1 . No lado do usuário, o suporte correspondente para recursos ipsec adicionais foi adicionado nas ramificações git master por volta de 2018-09-21 para libnftnl 2 , 3 e nftables 4 , 5 , 6 .

    O último patch é o que fornece reqid :

    src: adicionar expressão ipsec (xfrm) Isso permite a correspondência em endereços de túnel/beet ipsec no estado xfrm associado a um pacote, id de solicitação ipsec e o SPI.

    Exemplos:

    ipsec in ip saddr 192.168.1.0/24
    ipsec out ip6 daddr @endpoints
    ipsec in spi 1-65536
    

    (Bem, não há um exemplo para um ID de solicitação, nem corresponde ao protocolo subjacente que pode não ser implementado, veja mais tarde)

    Portanto, para poder usar esse recurso, atualmente, pelo menos, é necessário:

    • núcleo 4.20
    • libnft 1.1.2 ou 1.1.3
    • construa nftables a partir do git source . Um novo lançamento do nftables deve acontecer em breve , mas parece estar atrasado por enquanto.

    Se a regra iptables do OP for um append em vez de uma exclusão (que atualmente só pode ser feita em nftables usando a palavra- chave handle ), ela deve ser traduzida para isso (incluindo o clichê):

    nft add table ip filter
    nft add 'chain ip filter forward { type filter hook forward priority filter; policy accept; }'
    nft add rule ip filter forward ip saddr 10.0.0.1 iifname "eth0" ipsec in reqid 1 accept
    

    Eu não adicionei meta ipsec existsantes ipsec in reqid 1: testar o reqid deve exigir e, portanto, testar já tendo sido sujeito a decapsulação ipsec.

    O que parece não estar disponível e não mencionado na documentação é o equivalente a --proto esp, então não consegui colocar.

    Se a correspondência do protocolo esp for realmente necessária, pode-se imaginar que usar uma marca no pacote do envelope externo deve fazê-lo, sabendo que a marca é preservada após a decapsulação:

    nft add table ip filter
    nft add 'chain ip filter input { type filter hook input priority filter; policy accept; }'
    nft add 'chain ip filter forward { type filter hook forward priority filter; policy accept; }'
    nft add rule ip filter input ip protocol esp meta mark set 1
    nft add rule ip filter forward meta mark 1 ip saddr 10.0.0.1 iifname "eth0" ipsec in reqid 1 accept
    

    Isenção de responsabilidade: leve com um grão de sal, apenas a sintaxe foi testada (usando nftables de git commit 01e5c6f0ed0315046537612f5a80e506d37a7f8e ). Isso não foi realmente verificado no IPSec. Provavelmente também há uma regra a ser adicionada para 4500/UDP para ESP encapsulado em UDP.

    1 netfilter: nf_tables: adiciona expressão xfrm
    2 expr: rt: ipsec match support
    3 expr: adiciona suporte xfrm
    4 src: rt: adiciona suporte para verificar se a rota irá realizar a transformação ipsec
    5 src: renomeia meta secpath para meta ipsec
    6 src: adiciona expressão ipsec (xfrm)

    • 1

relate perguntas

  • Como descobrir detalhes sobre hardware na máquina Linux?

Sidebar

Stats

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

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 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