Wireguard на Kali

Wireguard на Kali

@webware

t.me/webware

Мы в последнее время много слышали о Wireguard и с его недавнего добавления в репозитории Kali, думаем, что мы бы могли дать ему шанс, чтобы увидеть, с чём связана вся эта суета. Мы обнаружили, что это действительно красивое и быстрое в настройке VPN-решение и стоит быть проверенным.


Приступая к работе

С добавлением в репозитории Wireguard, его установка легка и приятна:

apt install wireguard resolvconf

Далее приходит время для конфигурации.


На сервере мы должны создать пару открытого и закрытого ключей и настроить файл начальной конфигурации.

wg genkey | tee privatekey | wg pubkey > publickey
umask u=rwx,go= && cat > /etc/wireguard/wg0.conf << EOF
[Interface]
Address = 10.222.222.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = -SERVER PRIVATE KEY-

[Peer]
PublicKey = -CLIENT PUBLIC KEY-
AllowedIPs = 10.222.222.2/32
EOF

И мы делаем тот же процесс на клиенте, чтобы создать пару ключей и конфигурацию.

wg genkey | tee privatekey | wg pubkey > publickey
umask u=rwx,go= && cat /etc/wireguard/wg0.conf  << EOF
[Interface]
Address = 10.222.222.2/32
PrivateKey = -CLIENT PRIVATE KEY-
DNS = 8.8.8.8

[Peer]
PublicKey = -SERVER PUBLIC KEY-
Endpoint = public.ip.of.server:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 21
EOF

Это довольно простые файлы конфигурации, но стоит отметить несколько вещей. Во-первых, вы очевидно должны поместить выходные данные из пары ключей в конфиги при необходимости. Кроме того, линии DNS на стороне клиента должна помочь предотвратить утечки DNS с использованием местного DNS-сервера по умолчанию. Вы можете/не можете изменять это в зависимости от ваших потребностей.


Однако, самым важным является строка "AllowedIPs". Это будет контролировать, что делают IP или не идти через VPN. В этом случае мы настроим клиент для всей маршрутизации через VPN-сервер. Мы будет играть с этой настройкой ещё немного, но давайте посмотрим на получение этой рабочей базовой конфигурации.


Чтобы запустить и остановить туннель, достаточно:

# The VPN can be enabled using
wg-quick up wg0
# To disable the VPN:
wg-quick down wg0
# Information about the connection can be retrieved with following command:
wg show

И, конечно же, нам нужно включить маскировку и переадресацию IP на сервере.

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Так, теперь у нас есть традиционные VPN конфигурации. Если вы ищете, как просто получить стандартной установки VPN, в этот момент вы это сделали. Есть несколько преимуществ этого, по сравнению с использованием OpenVPN. Например, это решение, как представляется, гораздо быстрее, config намного проще, и это немного более приватный способ в том, что сервер не будет отвечать на пакеты, которые не имеют надлежащей пары ключей, связанных с ними.


Wireguard of DOOM!

Во-первых, на нашем клиенте давайте быстро настроим маскировку и переадресацию IP:

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Прекрасно, после этого мы сделаем пару незначительных изменений в нашем файле конфигов. Во-первых, на сервере мы изменим строку "AllowedIPs". Это будет выглядеть следующим образом:

[Interface]
Address = 10.222.222.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = -SERVER PRIVATE KEY-

[Peer]
PublicKey = -CLIENT PUBLIC KEY-
AllowedIPs = 10.200.200.2/32, 192.168.2.0/24

После изменения одной строки на сервере мы затем должны настроить строку клиентов "AllowedIPs", чтобы удалить все параметры для маршрутизации на VPN-сервер.

[Interface]
Address = 10.200.200.2/32
PrivateKey = -CLIENT PRIVATE KEY-
DNS = 8.8.8.8

[Peer]
PublicKey = -SERVER PUBLIC KEY-
Endpoint = public.ip.of.server:51820
AllowedIPs = 10.200.200.0/24
PersistentKeepalive = 21

И вот оно!

root@kali:~# ping 192.168.2.22
PING 192.168.2.22 (192.168.2.22) 56(84) bytes of data.
64 bytes from 192.168.2.22: icmp_seq=19 ttl=63 time=50.2 ms
64 bytes from 192.168.2.22: icmp_seq=20 ttl=63 time=53.4 ms
64 bytes from 192.168.2.22: icmp_seq=21 ttl=63 time=48.1 ms

Теперь VPN-сервер может получить доступ к подсети на другой стороне Wireguard VPN.


Подводя итоги

Время покажет, заменит ли Wireguard собой OpenVPN при выборе VPN или это самый последний хайп и просто волнение с использованием новейшей игрушки. В любом случае хорошо, что имеется возможность проверить, как хорошо это подходит. Как мы видели здесь, Wireguard определенно легко установить и он относительно универсален для пользователя.

Источник codeby.net

Report Page