Создание VPN-туннеля между FreeBSD и Android с помощью WireGuard

4 min

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

Здравствуйте, я бездарь.
В предыдущей статье я показал только результаты скорости, но это шаги по созданию туннеля.
Я не нашел других статей на японском языке, поэтому записываю это.

WireGuard

Сторона смартфона (клиент)

На стороне ПК необходимо сгенерировать ключи WireGuard.

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

Если вы создадите только закрытый ключ, открытый ключ будет отображаться в мобильной версии WireGuard, поэтому нет необходимости создавать его здесь.
Вы также можете создать его вместе сwg genkey | tee private.key | wg pubkey > pub.key.
После того как вы передадите этот ключ на свой смартфон, в мобильном приложении WireGuard

Закрытый ключ = содержимое private.key
Предварительно общий ключ = содержимое psk.key
Адрес = IP, с которым вы хотите взаимодействовать, в данном случае `10.1.0.4/32`
Конечная точка = глобальный IP-адрес сервера WireGuard:51820
Allowed IPs = 0.0.0.0/0 , ::/0 # Весь трафик через VPN

введите, и убедитесь, что сгенерированный в это время открытый ключ можно отправить или вставить на сервер.

Сторона ПК (сервер)

Предполагая, что WireGuard уже установлен, добавьте Peer в конец.

[Peer]
PublicKey = Открытый ключ, отображаемый после ввода private.key на стороне смартфона, или содержимое pub.key
PreSharedKey = содержимое psk.key
AllowedIPs = 10.1.0.4/32
PersistentKeepalive = 25

Теперь выполнитеwg quick up wg0. Если VPN включен на смартфоне и передача данных работает, то все в порядке. Однако в таком состоянии трафик может перемещаться только внутри туннеля WireGuard, поэтому необходимо создать правила NAT.

FreeBSD

Сначала включите перенаправление портов для IPv4 и IPv6.

vi /etc/sysctl.conf

Затем добавьте следующее:

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

Теперь перезагрузите.
Затем создайте правила с помощью pf.

vi /etc/pf.conf

Затем добавьте следующее:

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

Затем активируйте

pfctl -nf /etc/pf.conf

Если нет ошибок

pfctl -f /etc/pf.conf

Теперь примените это.
Проверьте, является ли IP-адрес IP-адресом сервера WireGuard, используя простой и удобный сервис Такаши.
bibi.moe/ip
На этом все.

Если это сделано, то очень удобно, что вы можете получить доступ к домашней сети из браузера смартфона, если домашний сервер проксирует сервисы, запущенные в локальной среде, в сеть WireGuard через VPN.
До свидания. Всего наилучшего.

Related Posts