Encaminhar apenas o tráfego da LAN do namespace da rede para o namespace raiz

Encaminhar apenas o tráfego da LAN do namespace da rede para o namespace raiz

Eu configurei minha máquina seguindo o tutorialaquipara tornar a interface Wireguard a única interface (para que qualquer um dos meus aplicativos só possa usá-la para acessar a Internet).

Isso funciona conforme o esperado, mas agora quero excluir minha LAN (192.168.0.0/16) dela, para poder acessá-la por SSH, usar um proxy reverso HTTP(S), etc.

Novo no ip, tentei configurar um vethpar (vethVPN/vethPhys) e definir a rota para 192.168.0.0/16 via IP vethPhys:

ip link add name vethVPN type veth peer name vethPhys
ip link set vethPhys netns physical
ip -n physical addr add 10.0.0.1/32 dev vethPhys
ip -n physical link set vethPhys up
ip link set vethVPN up
ip -n physical route 192.168.0.0/16 via 10.0.0.1

O que eu faço de errado? Qual é a maneira correta de fazer isso?

Responder1

Muito brevemente:

Ao desconectar o namespace da rede principal da LAN, você não poderá mais torná-lo "parte" da LAN.

Você pode tratar seu namespace principal como um segmento diferente da LAN e rotear entre ele e a LAN usando o namespace "físico", mas isso exigirá rotas corretas em todas as outras máquinas conectadas à LAN (que você pode distribuir, por exemplo por DHCP, se o dispositivo em que o servidor DHCP é executado puder fazer isso).

Ou você pode usar uma configuração diferente: mantenha o namespace principal conectado à LAN, crie um namespace "wireguard" com um macvlan e o processo wireguard, mova a wg0interface desse namespace principal para o seu namespace principal e faça wg0ogateway padrão.

Isso garantirá que todos os endereços de destino, exceto a sua LAN, passem pela interface wireguard.

informação relacionada