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-818514

user3450564's questions

Martin Hope
user3450564
Asked: 2024-03-03 07:14:14 +0800 CST

Passe o tráfego da web para o endpoint VPN diferente do envelope OpenVPN através da própria VPN

  • 6

Eu tenho um servidor Linux que é um endpoint OpenVPN, mas também hospeda um servidor web. Quando meu cliente se conecta ao endereço do servidor da web, os pacotes viajam para fora da VPN. Com razão, já que a rota para o servidor definida pelo OpenVPN é mais específica do que a rota padrão para entrar na VPN. No entanto, vejo isso como um "vazamento".

Por isso, tentei configurar uma configuração semelhante à do Wireguard (o Wireguard é ótimo, mas preciso do OpenVPN porque precisa ser TCP).

Baseei minha configuração na página Wireguard, bem como em outras questões: Evitar loop de roteamento com FwMark no Wireguard (Tiremos o chapéu para a palestra realizada lá!) Roteando fwmark para gateway VPN usando nftables mark

Apesar da configuração, o Wireshark mostra que as solicitações http/https ainda passam pela interface física e não pela interface vpn tun0. Quando olho para as marcas de pacotes com rastreamento do monitor NFT, parece que a metamarca está definida corretamente e apenas os pacotes apropriados (de/para a porta 1194) aparecem.

Então eu suspeitei que isso fosse:

  • a regra pbr que não funciona conforme o esperado.
  • a marcação do pacote que não acontece com antecedência suficiente.

Tentei alterar a cadeia para marcar os pacotes de saída como:

  • digite saída do gancho de rota
  • tipo saída de gancho de filtro
  • --> sem mais sorte

Esses comandos retornam o seguinte:

- ip rule:
0:  from all lookup local
32764:  from all lookup main suppress_prefixlength 0
32765:  not from all fwmark 0x4 lookup vpn
32766:  from all lookup main
32767:  from all lookup default

- ip route show table vpn:
default dev tun0 scope link

- ip route:
default via 10.8.0.1 dev tun0 proto static metric 50 
default via 192.168.1.1 dev wlp4s0 proto dhcp src 192.168.1.10 metric 600 
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.2 metric 50 
END.POINT.IP.ADDRESS via 192.168.1.1 dev wlp4s0 proto static metric 50 
192.168.1.0/24 dev wlp4s0 proto kernel scope link src 192.168.1.10 metric 600 

-nft list ruleset:
table inet vpn {
    chain premangle {
        type filter hook prerouting priority mangle; policy accept;
        ip saddr END.POINT.IP.ADDRESS tcp sport 1194 meta nftrace set 1
        meta mark set ct mark
    }

    chain postmangle {
        type filter hook postrouting priority mangle; policy accept;
        ip daddr END.POINT.IP.ADDRESS tcp dport 1194 meta nftrace set 1
        ip daddr END.POINT.IP.ADDRESS tcp dport 1194 meta mark set 0x00000004
        meta mark 0x00000004 ct mark set meta mark
    }
}

- traceroute -n --fwmark=0x4 END.POINT.IP.ADDRESS
    shows it goes via the physical interface out of the vpn (as expected)
    
- traceroute -n END.POINT.IP.ADDRESS
    shows it goes via the physical interface out of the vpn (UNWANTED)

Muito obrigado antecipadamente !

linux
  • 2 respostas
  • 87 Views
Martin Hope
user3450564
Asked: 2021-09-22 04:04:41 +0800 CST

Heqders concatenados com peneira pombal

  • 0

Configurar

  • postfix encaminha todos os e-mails para um usuário archive@domain via always_bcc,

  • postfix salva todo o RCPT TO nos X-Envelope-Tocabeçalhos para preservar os destinatários do bcc,

  • exclusões postfix X-Envelope-Topara transferências smtp por motivos de privacidade,

  • postfix entrega mensagens para pombal via lmtp.

  • O dovecot usa um script sieve para liberar o X-Envelope-Toarquivo para todos os usuários, exceto archive@domain.

Problema

Há um X-Envelope-Topara cada RCPT TOinicialmente. Então eu gostaria que o script sieve adicionasse um único Bcccabeçalho concatenando vários X-Envelope-Tovalores.

require "fileinto";
require "imap4flags";
require ["editheader", "envelope"];
require "regex";
require ["variables","mime","foreverypart"];


if envelope :is "to" "archive@domain" {
   concat = """"";
   foreverypart {
        if header :regex "X-Envelope-To" "(.*)" {
        concat = ${concat}  "${1}";
        }
   }
   addheader "Bcc" "${1}";

} else {
   deleteheader "X-Envelope-To";
}

O que não funciona...

Alguma maneira fácil de fazer isso na peneira? Ou nenhuma outra maneira que um script externo? Ou talvez o postfix possa concatenar tudo isso, mas isso significa um milter?

desde já, obrigado

dovecot sieve headers
  • 1 respostas
  • 58 Views
Martin Hope
user3450564
Asked: 2021-09-19 22:48:50 +0800 CST

Arquivo Postfix preservando Bcc com X-Envelope-To - limpeza confidencial X-Envelope-To com Lmtp

  • 1

Colocando como Bcc o usuário [email protected], não queremos que as pessoas recebam essa lista Bcc, além do "usuário" [email protected].

Meta

  1. Queremos arquivar todos os e-mails que passam pelo postfix, enviados e recebidos. A configuração usa:
  • postfix,
  • autenticação dovecot com usuários Pam (puxando do LDAP),
  • e entrega nas caixas de correio via LMTP da Dovecot .
  1. Queremos incluir os destinatários Cco no arquivo de mensagens.

  2. Não queremos que as pessoas recebam essa lista Cco, além do "usuário" [email protected].

Tentativas

  1. Usando sempre_bcc = [email protected] Funciona. Mas os recibos Bcc (que por direitos estão no envelope como RCPT TO e não em um cabeçalho) se perdem.

  2. Usando: (de acordo com quais opções existem para arquivar e-mail Postfix e preservar qualquer informação BCC no cabeçalho )

main.cf
smtpd_recipient_restrictions =
  check_recipient_access pcre:/etc/postfix/prepend.pcre

enquanto a expressão pcre é:

prepend.pcre
/(.+)/          PREPEND X-Envelope-To: $1

que funciona como um encanto : minha mensagem armazenada tem os cabeçalhos Para:; CC; X-Envelope-Para. Se algum dia precisarmos investigar, podemos saber quem recebeu a mensagem mesmo em Cco. (Nota: o X-Envelope-To inclui as pessoas To e Cc, pas bem como os destinatários de domínios externos).

  1. Para eliminar o X-Envelope-To: Para enviar:
smtp_header_checks = pcre:/etc/postfix/smtp_header_checks.pcre

Com o conteúdo:

smtp_header_checks.pcre
/^X-Envelope-To:/               IGNORE

Tudo certo até lá.

Problema

Para eliminar o X-Envelope-To para e-mails que não saem do servidor. Eu fiz:

lmtp_header_checks = pcre:/etc/postfix/lmtp_header_checks.pcre

lmtp_header_checks.pcre
/^X-Envelope-To:/               IGNORE

Mas isso não é seletivo, mesmo [email protected] perde o cabeçalho que foi "salvo" da lista Bcc.

Não consigo encontrar uma forma de fazer essa seleção de cabeçalho, pois ela avalia apenas a própria linha e não pode usar o destinatário para fazer uma condição (mesmo usando o "if" do pcre). ( http://www.postfix.org/pcre_table.5.html )

Existe alguma variável que pode ser usada? Uma ideia foi: incluir "[email protected]" no cabeçalho X-Envelope-To anexado, no lmtp_header_checks.pcre, incluir algo como: [email protected] diferente de $LMTP_DELIVERY_RECIPIENT Delivered-To ou X-Delivered -Para permanecer um cabeçalho separado que o pcre não pode avaliar como uma variável.

Caso contrário, existe uma maneira de fazer com que o lmtp acione algum milter? E um filtro lmtp_milter simples que posso usar para isso?

Estou perseguindo há dias em todos os documentos possíveis, obrigado antecipadamente

postfix archive
  • 2 respostas
  • 183 Views

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