Excluindo fwmark (ed) Pacotes do Wireguard Tunnel

1

No cenário descrito aqui , acabei com essa configuração no cliente (o servidor WG do terminal tem dois IPs públicos )

[Interface]
Address = <ip_to_use>/32
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

[Peer]
PublicKey = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
AllowedIPs = 0.0.0.0/0
Endpoint = <wg_server_ip>:51820
PersistentKeepalive = 10

Agora, gostaria de excluir do túnel Wireguard todos os processos de um usuário ou todos os pacotes (de e para) determinadas portas.

Foi trazido à minha atenção que isso pode ser feito usando o fwmark definido pelo próprio WG, e eu não preciso usar outra marca, como sugerido aqui .

Este é o IPtables 1.6 no Ubuntu 16.04. Como posso excluir do túnel WG, usando a marca criada por wg-quick, por usuário ou por porta?

    
por Gaia 24.07.2018 / 23:12

1 resposta

0

A solução que encontrei foi a atualização para o Ubuntu 18.04.1, que permitiu o novo recurso a seguir lidar com o problema em uma linha:

PostUp = ip rule add uidrange 0-0 lookup main
PostDown = ip rule del uidrange 0-0 lookup main

A execução 16.04.5 com o kernel 4.15 não permitiu uidrange . O uso do uidrange também requer que o iproute2 seja de uma versão superior à fornecida pelo repositório Xenial. Iptables 1.6.1 sozinho não é suficiente.

    
por 27.07.2018 / 18:51