GNU/Linux >> Linux Esercitazione >  >> Linux

WireGuard su Kali

Ultimamente abbiamo sentito parlare molto di WireGuard e, visto che è stato recentemente aggiunto ai repository Kali, abbiamo pensato di fare un rapido tentativo per vedere di cosa si tratta. Tutto sommato, abbiamo scoperto che questa è una soluzione VPN davvero piacevole e veloce da configurare e potrebbe valere la pena dare un'occhiata.

Per iniziare

Con l'aggiunta di WireGuard ai repository, l'installazione è semplice e intuitiva:

apt install wireguard resolvconf

E siamo fuori. Poi arriva il momento della configurazione. È qui che WireGuard ha davvero brillato per noi, poiché non ci voleva quasi nulla per iniziare a funzionare.

Sul server, dobbiamo generare una coppia di chiavi pubblica/privata e impostare un file di configurazione iniziale.

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

E facciamo lo stesso processo sul client per stabilire la sua coppia di chiavi e config.

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

Queste sono configurazioni piuttosto semplici ma vale la pena sottolineare alcune cose. Prima di tutto, ovviamente devi inserire l'output dalle coppie di chiavi nelle configurazioni a seconda dei casi. Inoltre, la riga DNS sul client serve a impedire che le perdite DNS utilizzino il server DNS predefinito locale. Potresti o meno voler cambiarlo a seconda delle tue esigenze.

La cosa più importante, tuttavia, è la linea "AllowedIPs". Questo controllerà ciò che gli IP fanno o non passano attraverso la VPN. In questo caso, impostiamo il client per instradare tutto attraverso il server VPN. Ci giocheremo di più tra un po', ma diamo un'occhiata a come eseguire questa configurazione di base.

Avviare e fermare il tunnel è abbastanza facile.

# 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

E, naturalmente, dobbiamo abilitare la mascheratura IP e l'inoltro IP sul server.

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

Quindi, con questo abbiamo una configurazione VPN tradizionale. Se stai cercando di ottenere solo una configurazione VPN standard, a questo punto hai finito. Ci sono alcuni vantaggi rispetto all'utilizzo di OpenVPN, ad esempio questa soluzione sembra essere molto più veloce, la configurazione è molto più semplice ed è un po' più nascosta in quanto il server non risponde ai pacchetti che non hanno un corretta coppia di chiavi ad essi collegata. Tuttavia, abbiamo pensato che potrebbe essere interessante modificare la configurazione per riflettere la nostra configurazione ISO di Doom, avendo un client che si connetterà automaticamente al server all'avvio consentendo al server di instradare e accedere alla rete del client.

WireGuard di DOOM!

Per prima cosa, sul nostro client, impostiamo rapidamente l'inoltro IP e il mascheramento:

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

Ottimo, fatto ciò, apportiamo un paio di piccole modifiche alle nostre configurazioni. Innanzitutto, sul server cambiamo la riga "AllowedIPs" per avere la rete privata sul sito del report. Sembrerebbe così:

[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

Con quella riga modificata sul server, modifichiamo la riga "AllowedIPs" dei client per rimuovere l'opzione per instradare tutto al server 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

E questo è tutto!

[email protected]:~# 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

Ora il server VPN può accedere alle sottoreti sull'altro lato della VPN WireGuard.

Conclusione

Il tempo dirà se WireGuard sostituirà OpenVPN come VPN preferita o se l'ultimo ronzio è solo l'eccitazione dell'utilizzo dei nuovi giocattoli. In ogni caso, è bello avere la possibilità di testarlo e usarlo se è adatto. Come abbiamo visto qui, è sicuramente facile da configurare e relativamente versatile nei casi degli utenti.


Linux
  1. Miglioramenti all'accessibilità di Kali Linux

  2. Conseguenze del rilascio di Kali Linux

  3. Versione Kali Linux 1.0.7

  4. Metapacchetti Kali Linux

  5. Versione Kali Linux 1.0.6

Rafforzamento di Kali Linux

Come installare Kali Linux

Scarica Kali Linux

Requisiti di sistema di Kali Linux

Kali Linux vs Parrot

Kalì ovunque!