FIXME This page is not fully translated, yet. Please help completing the translation.
(remove this paragraph once the translation is finished)

WireGuard server

  • В этом руководстве описывается метод настройки сервера WireGuard на OpenWrt.
  • Настройка клиента здесь:WireGuard client, расширенный функционал клиента здесь:WireGuard extras.
  • Зашифровать свое интернет-соединение, чтобы обеспечить безопасность и конфиденциальность.
  • Предотвратить утечку данных и подмену трафика на стороне клиента.
  • Обход блокировок провайдера.
  • Избежать на клиенской стороне фильтрации конетента и цензуры.
  • Удаленный доступ к вашей локальной сети без переадресации портов.

Устанавливаем необходимые пакеты. Указываем параметры конфигурации сервера VPN.

# Установка пакетов
opkg update
opkg install wireguard-tools
 
# Параметры конфигурации сервера Wireguard
WG_IF="wg"
WG_PORT="51820"
WG_ADDR="192.168.9.1/24"
WG_ADDR6="fd00:9::1/64"

Сгенерируйте и обменяйте ключи между сервером и клиентом.

# Генерируем ключи
umask go=
wg genkey | tee wgserver.key | wg pubkey > wgserver.pub
wg genkey | tee wgclient.key | wg pubkey > wgclient.pub
wg genpsk > wgclient.psk
 
# Приватный ключ сервера
WG_KEY="$(cat wgserver.key)"
 
# Общий ключ
WG_PSK="$(cat wgclient.psk)"
 
# Публичный ключ клиента
WG_PUB="$(cat wgclient.pub)"

Рассматривайте WG-сеть, как частную. Определите интерфейсу WG зону LAN, чтобы свести к минимуму настройку фаервола. Разрешить доступ к WG-серверу из зоны WAN.

# Конфигурация межстевога экрана
uci rename firewall.@zone[0]="lan"
uci rename firewall.@zone[1]="wan"
uci del_list firewall.lan.network="${WG_IF}"
uci add_list firewall.lan.network="${WG_IF}"
uci -q delete firewall.wg
uci set firewall.wg="rule"
uci set firewall.wg.name="Allow-WireGuard"
uci set firewall.wg.src="wan"
uci set firewall.wg.dest_port="${WG_PORT}"
uci set firewall.wg.proto="udp"
uci set firewall.wg.target="ACCEPT"
uci commit firewall
/etc/init.d/firewall restart

Настраиваме WG интерфейс и пиры.

# Конфигурация сети
uci -q delete network.${WG_IF}
uci set network.${WG_IF}="interface"
uci set network.${WG_IF}.proto="wireguard"
uci set network.${WG_IF}.private_key="${WG_KEY}"
uci set network.${WG_IF}.listen_port="${WG_PORT}"
uci add_list network.${WG_IF}.addresses="${WG_ADDR}"
uci add_list network.${WG_IF}.addresses="${WG_ADDR6}"
 
# Добавляем пиры в Wireguard
uci -q delete network.wgclient
uci set network.wgclient="wireguard_${WG_IF}"
uci set network.wgclient.public_key="${WG_PUB}"
uci set network.wgclient.preshared_key="${WG_PSK}"
uci add_list network.wgclient.allowed_ips="${WG_ADDR%.*}.2/32"
uci add_list network.wgclient.allowed_ips="${WG_ADDR6%:*}:2/128"
uci commit network
/etc/init.d/network restart

Установите WG-соединение Use traceroute and traceroute6 to verify your client traffic is routed via the VPN gateway.

traceroute openwrt.org
traceroute6 openwrt.org

Проверьте ваш публичный IP-адрес.

Убедитесь, что на стороне клиента нет утечки DNS.

Делегируйте общедоступный префикс IPv6 сети WG, чтобы использовать IPv6 по умолчанию.

Соберите и проанализируйте следующую информацию.

# Перезапустите службы
/etc/init.d/log restart; /etc/init.d/network restart; sleep 10
 
# Log and status
logread -e vpn; netstat -l -n -p | grep -e "^udp\s.*\s-$"
 
# Runtime configuration
pgrep -f -a wg; wg show; wg showconf vpn
ip address show; ip route show table all
ip rule show; ip -6 rule show; nft list ruleset
 
# Persistent configuration
uci show network; uci show firewall; crontab -l
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2023/09/09 10:56
  • by vgaetera