Сегодня настроим сеть VPN WireGuard так, что бы клиент-1 VPN сети видел локальную сеть находящуюся за клиентом-2.

Схема сети WireGuard и локальной сети за клиентом.

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

Сначала нам необходимо остановить сервер wireguard следующей командой:

sudo systemctl stop wg-quick@wg0.service

или

sudo wg-quick down /etc/wireguard/wg0.conf

Далее открываем файл настройки нашего сервера:

sudo nano /etc/wireguard/wg0.conf
  • Все пути справедливы, только если вы настраивали ваш VPN вот по этой инструкции.

В данном файле необходимо прописать у клиента-2, за которым локальная сеть, в секции [Peer] следующие строки:

[Peer]
PublicKey = публичный_ключ_клиента
AllowedIPs = 10.1.1.8/32, 10.5.1.0/24
  • AllowedIPs – в данной строке 10.1.1.8/32 – это ip-адрес клиента-2 в сети VPN, а 10.5.1.0/24 – это сеть за данным клиентом.

Данной командой мы разрешаем прохождения трафика локальной сети в сеть wireguard

После проделанных изменений запускаем наш сервер:

sudo systemctl start wg-quick@wg0.service

Теперь если с клиента-1 сети VPN попробовать пингануть ip адрес клиента-2 сети VPN, за которым присутствует локальная сеть, то мы увидим, что пакеты успешно проходят:

ping 10.1.1.8
PING 10.1.1.8 (10.1.1.8) 56(84) bytes of data.
64 bytes from 10.1.1.8: icmp_seq=1 ttl=127 time=231 ms
64 bytes from 10.1.1.8: icmp_seq=2 ttl=127 time=216 ms

А вот если попробовать пингануть какой либо IP адрес за клиентом-2, то увидим следующей результат:

ping 10.5.1.10
PING 10.5.1.10 (10.5.1.10) 56(84) bytes of data.
From 10.221.65.85 icmp_seq=1 Packet filtered
From 10.221.65.85 icmp_seq=2 Packet filtered

Как видим наши пакеты попадают под фильтр.

Чтобы разрешить прохождение пакетов, необходимо в конфигурационном файле wireguard нашего клиента-1 прописать следующее (покажу весь конфиг):

[Interface]
PrivateKey = приватный_ключ
ListenPort = 5555
Address = 10.1.1.5/32
[Peer]
PublicKey = публичный_ключ_сервера
AllowedIPs = 10.1.1.0/24, 10.5.1.0/24
Endpoint = IP-адрес_сервера:5555

Перезапускаем нашу службу wireguard на клиенте-1 :

sudo systemctl restart wg-quick@wg0.service

или

wg-quick down /etc/wireguard/wg0.conf
wg-quick up /etc/wireguard/wg0.conf

Набираем команду ping:

ping 10.5.1.10
PING 10.5.1.10 (10.5.1.10) 56(84) bytes of data.
64 bytes from 10.5.1.10: icmp_seq=1 ttl=62 time=93.9 ms
64 bytes from 10.5.1.10: icmp_seq=2 ttl=62 time=53.9 ms

Из вывода видно, что пакеты успешно проходят до сети за клиентом-2.

Вот еще одна команда из который мы видим, что на запрос адреса 10.5.1.10 отвечает клиент 10.1.1.8:

traceroute 10.5.1.10
traceroute to 10.5.1.11 (10.5.1.11), 30 hops max, 60 byte packets
 1  10.1.1.1 (10.1.1.1)  52.645 ms  52.614 ms  64.091 ms
 2  10.1.1.8 (10.1.1.8)  72.799 ms  84.202 ms  84.172 ms
 3  10.5.1.10 (10.5.1.10)  84.075 ms  84.028 ms  83.937 ms

На первый запрос у нас отвечает сервер wireguard 10.1.1.1, далее уже запрос уходит на клиента-2 vpn 10.1.1.8, за которым находятся локальная сеть 10.5.1.0/24. И на последний запрос уже отвечает клиент-3 локальной сети 10.5.1.10

[endtxt]

RSS

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

0 0 голоса
Рейтинг статьи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять