Сегодня настроим сеть VPN WireGuard так, что бы клиент-1 VPN сети видел локальную сеть находящуюся за клиентом-2.
Настройка сервера 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
- Тест скорости дисков в Linux
- Как запустить команду в фоне в Linux
- Ошибка несоответствие размеров GPT PMBR
- nginx: [warn] protocol options redefined
- Как включить поддержку linux в windows 11