Criar um túnel VPN com Android usando FreeBSD + WireGuard

4 min

language: ja bn en es hi pt ru zh-cn zh-tw

Olá, sou um inútil.
No artigo anterior, eu apenas postei os resultados de velocidade, mas aqui estão os passos para criar um túnel.
Não encontrei nenhum outro artigo em japonês sobre isso, então estou registrando aqui.

WireGuard

Lado do smartphone (cliente)

É necessário gerar as chaves do WireGuard no lado do PC.

wg genkey | tee private.key
wg genpsk | tee psk.key

Se você criar apenas a chave privada, a chave pública será exibida no aplicativo WireGuard do smartphone, então não há problema em não criá-la aqui. Alternativamente, você pode criá-la junto com wg genkey | tee private.key | wg pubkey > pub.key.
Uma vez que você transfere esta chave para o smartphone, no aplicativo WireGuard do smartphone:

Chave privada = Conteúdo de private.key  
Chave pré-compartilhada = Conteúdo de psk.key  
Endereço = IP para comunicação, desta vez usaremos `10.1.0.4/32`
Endpoint = IP global do servidor WireGuard:51820
Allowed IPs = 0.0.0.0/0 , ::/0 # Todo o tráfego via VPN

Insira isso e certifique-se de que a chave pública gerada neste momento possa ser enviada ou colada no lado do servidor.

Lado do PC (servidor)

Primeiro, assumindo que o WireGuard está instalado, adicione um Peer no final.

[Peer]
PublicKey = Chave pública exibida após inserir private.key no lado do smartphone, ou conteúdo de pub.key
PreSharedKey = Conteúdo de psk.key
AllowedIPs = 10.1.0.4/32
PersistentKeepalive = 25

Com isso, execute wg quick up wg0. Se o VPN estiver ativado no smartphone e a transferência estiver funcionando, está tudo bem. No entanto, como o tráfego só pode ocorrer dentro do túnel WireGuard, é necessário criar regras NAT.

FreeBSD

Primeiro, ative o encaminhamento de porta para IPv4 e IPv6.

vi /etc/sysctl.conf

Adicione o seguinte:

net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1

Em seguida, reinicie.
E crie regras com pf.

vi /etc/pf.conf

E adicione o seguinte:

wireguard_clients=10.1.0.4
wanint="vtnet0"
wg_ports="{51820}"

nat on $wanint inet from $wireguard_clients to any -> $wanint
pass in on $wanint proto udp from any to $wanint port $wg_ports
pass out quick

Em seguida, ative:

pfctl -nf /etc/pf.conf

Se não houver erros:

pfctl -f /etc/pf.conf

Isso aplicará as regras. Verifique se o endereço IP é o do servidor, e se o endereço IP é o do servidor WireGuard no site simples e útil de Takashi-san. bibi.moe/ip
Isso é tudo.

Se você conseguir fazer isso, será muito conveniente, pois poderá acessar a rede da sua casa a partir do navegador do seu smartphone se os serviços que você executa no ambiente local também estiverem sendo proxy para a rede WireGuard com o servidor doméstico conectado via VPN. Até a próxima. Obrigado.

Related Posts