
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 veth
par (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 wg0
interface desse namespace principal para o seu namespace principal e faça wg0
ogateway padrão.
Isso garantirá que todos os endereços de destino, exceto a sua LAN, passem pela interface wireguard.