WilJames/OpenWRT-Wireguard

OpenWRT router and Wireguard server with dns resolver

★ 1Forks 0ShellGitHub ↗Compare

README

OpenWRT-Wireguard

Это слияние двух интрукций

  1. На хабре
  2. На overclockers
  3. Мои + чужие доработки людей в комментариях на хабре

Описание конфигураций

  1. Сервер Debian 10 в нидерландах, чистый
  2. Роутер Zyxel Keenetic Omni, прошивка OpenWRT 19.07.4

Настройка сервера

Добавляем репозиторий Wireguard

echo "deb http://deb.debian.org/debian/ unstable main" >/etc/apt/sources.list.d/unstable.list
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' >/etc/apt/preferences.d/limit-unstable
apt update
apt full-upgrade -y

Устанвливаем часовый пояс

apt install tzdata
dpkg-reconfigure tzdata

Установка заголовков ядра

apt install "linux-headers-$(uname -r)" -y

Установка wireguard, qrencode, curl, unbound, ufw

apt install wireguard qrencode curl unbound unbound-host ufw -y

Создаем ключи, будут лежать в /root:

  • Для сервера: wg genkey | tee server_private_key | wg pubkey > server_public_key
  • Для роутера: wg genkey | tee router_client_private_key | wg pubkey > router_client_public_key
  • Для другого устройства: wg genkey | tee other_client_private_key | wg pubkey > other_client_public_key

Файл концигурации wireguard, /etc/wireguard/wg0.conf

[Interface]
Address = 10.0.0.1/8
SaveConfig = false
PrivateKey = server_private_key

PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i %i -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i %i -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820

[Peer] # Роутер
PublicKey = router_client_public_key
AllowedIPs = 10.0.0.0/16

[Peer] # Телефон или другое устройство
PublicKey = other_client_public_key
AllowedIPs = 10.50.0.1/32

Заменить eth0 на свой, можно проверить коммандой: ip a

Включаем автозапуск при перезагрузке:

systemctl enable [email protected]

Настройка DNS

Заходим в папку /etc/unbound/unbound.conf.d/, удаляем содержащиеся здесь файлы

Contributors

WilJames

Issues