@furyon

Как настроить wireguard для доступа в локальную сеть?

В данный момент у меня несколько виртуальных серверов. В процессе разработки я к ним обращаюсь по внешним ip. Для повышения безопасности решил убрать внешние ip где это не имеет смысла (бд, локальные сервисы...), и организовать доступ по VPN. В сетях не разбираюсь, после ресеча решил использовать wireguard. После нескольких дней у меня получилось сделать что требовалось, но хотел поинтересоваться у знающих людей, не наделал ли я дыр в безопасности.

План: поднимаю wireguard на одном из серверов с внешним ip и доступом в локальную сеть, клиенты (разработчики) через него попадают в локальную сеть.

Конфиг сервера
# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
# vim /etc/wireguard/wg0.conf

[Interface]
Address = 10.20.0.1/24
ListenPort = 51820
PrivateKey = <server_pivatekey>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -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

[Peer]
AllowedIPs = 10.20.0.2/32
PublicKey = <client_publickey>


Конфиг клиента
[Interface]
Address = 10.20.0.2/32
PrivateKey = <client_privatekey>

[Peer]
AllowedIPs = 10.7.158.156/13
Endpoint = <server_public_ip>:51820
PublicKey = <server_publickey>
PersistentKeepalive = 20


Пояснения
Подсеть 10.20.0/24 взял с потолка.
По поводу 10.7.158.156/13. В виртуалке вызвал ip a. У интерфейса eth0 был указан такой локальный ip. Я решил что его и нужно использовать как подсеть для AllowedIPs клиента.
Самым непонятным для меня является настройка iptables которую я указал в настройке сервера. Сформировал ее методом тыка.

Заранее спасибо!
  • Вопрос задан
  • 240 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы