Tenho um QNAP conectado a um roteador em uma rede remota. Na mesma rede, conectado ao mesmo roteador, há também um servidor Linux. Dentro da rede remota, tudo funciona bem. Posso acessar a interface web do QNAP NAS. Também posso acessar o servidor Linux por meio da configuração de encaminhamento de porta no roteador.
No entanto, quando tento conectar-me à VPN e através dela ao servidor Linux, seja via ping, SSH ou interface web, não consigo conectar-me de forma alguma. Tudo expira. Não é nenhum firewall no servidor Linux, verifiquei ou desabilitei tudo (firewalld, iptables, SELinux) enquanto depurava isso.
O problema é que o servidor Linux, ao responder à solicitação da VPN, não sabe como retornar as respostas. Ele roteia por padrão de volta pelo roteador em vez da VPN no QNAP NAS. Para corrigir isso, você pode configurar uma rota no servidor Linux que garanta que as informações que chegam pela VPN também sejam retornadas pela VPN hospedada no QNAP NAS.
O QNAP NAS que hospeda o Wireguard usa o intervalo de IP 198.18.7.x por padrão. Confirme isso olhando a configuração do WireGuard no QNAP:
Observe que este endereço IP usa 198..., não 192..., que é o IP em que seu QNAP provavelmente está sendo executado. Há uma grande chance de erro de digitação.
Agora no seu servidor linux, precisamos descobrir o nome da sua interface de rede. Conecte-se ao terminal e digite
ifconfig
Isto mostrará as interfaces de rede na sua máquina. O primeiro código antes de um ":" será o nome da sua interface de rede, como eth0, eno1 etc.:
Ignore a
lo
interface e lembre-se doeno1
- ou como ele é chamado na sua máquina. O 'inet 192...' deve corresponder ao endereço IP da máquina em que você está trabalhando. Você também pode digitarroute -n
e ver o último elemento da tabela mostrada abaixo do cabeçalhoIface
.Observe também o endereço IP do seu QNAP NAS, por exemplo, 192.168.0.210
Agora podemos adicionar uma rota. Digite o seguinte comando:
sudo ip route add 198.18.7.0/24 via 192.168.0.210 dev eno1
aqui está a explicação do comando acima:
sudo
: execute o comando como administradorip route add
: adiciona a rota com a seguinte configuração198.18.7.0/24
: Isso diz ao computador para redirecionar todo o tráfego vindo de qualquer cliente VPN (198.18.7.0 - 198.18.7.255). Os primeiros 3 segmentos deste endereço IP (exceto o .0) precisam corresponder ao endereço IP que você anotou na tela do Wireguard VPNvia 192.168.0.210
: Isso roteia o tráfego da VPN pelo endereço IP do QNAP NAS. O IP precisa corresponder ao IP do QNAP NAS, é claro.dev eno1
: Isso garante que o adaptador de rede apropriado esteja sendo usado no seu servidor Linux.se você executar agora
route -n
, deverá ver algo assim:onde a última linha é a rota que você adicionou. Caso você tenha digitado errado um dos endereços IP, você pode removê-lo novamente com:
sudo route del -net 192.18.7.0 gw 192.168.0.210 netmask 255.255.255.0 dev eno1
Observe como o comando acima corresponde às informações na última linha da tabela acima.
Agora não há necessidade de reiniciar nada no servidor Linux, ele deve funcionar imediatamente.