Puncte:0

Cum creez un kill switch VPN pentru PrivateInternetAccess și Wireguard în ufw sau iptables?

drapel cn

Eu folosesc colecție de scripturi de conexiuni manuale de la PrivateInternetAccess pe serverul meu Ubuntu fără cap. Încep scriptul de configurare într-o unitate de service și trebuie să mă asigur că nu accesez nimic din afara rețelei mele locale ori de câte ori Wireguard se blochează.

/etc/systemd/system/pia.service

[Unitate]
Descriere=PrivateInternetAccess (Wireguard, Elveția)
După=network-online.target

[Serviciu]
Utilizator=ubuntu
Grup=ubuntu
ExecStart=/usr/bin/sudo PIA_USER=REDACTED PIA_PASS=REDACTED PIA_DNS=true PIA_PF=true DISABLE_IPV6=da VPN_PROTOCOL=wireguard PREFERRED_REGION=swiss ./run_setup.sh
WorkingDirectory=/home/ubuntu/src/manual-connections

[Instalare]
WantedBy=multi-user.target

jurnalul jurnal:

PIA_USER=EXPURSAT

Intrare PIA_PASS primită.

Se verifică datele de conectare... OK!

PIA_TOKEN=EXPURSAT

Acest simbol va expira în 24 de ore, miercuri, 24 noiembrie, 12:23:26 2021.

PIA_PF=adevărat

Variabila DISABLE_IPV6=da, nu începe cu „n” pentru „nu”.
Implicit la da.

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

IPv6 a fost dezactivat, îl puteți activa din nou cu:
sysctl -w net.ipv6.conf.all.disable_ipv6=0
sysctl -w net.ipv6.conf.default.disable_ipv6=0

AUTOCONNECT nu a fost declarată.

Regiunea de intrare este: swiss

Se obține lista de servere... OK!

Regiunea selectată este Elveția.

Scriptul a găsit cele mai bune servere din regiunea pe care ați selectat-o.
Când vă conectați la un IP (indiferent de protocol), vă rugăm să verificați
certificatul SSL/TLS conține de fapt numele de gazdă, astfel încât dvs
sunteți sigur că vă conectați la un server securizat, validat de
autoritatea PIA. Vă rugăm să găsiți mai jos lista celor mai bune IP-uri și potriviri
nume de gazdă pentru fiecare protocol:
Meta Services 212.102.37.176 - zurich402
WireGuard 212.102.37.187 - zurich402
OpenVPN TCP 212.102.37.187 - zurich402
OpenVPN UDP 212.102.37.187 - zurich402

Folosind indicativul existent EXTERGAT.

VPN_PROTOCOL=wireguard

PIA_DNS=adevărat

Se obține lista de servere... OK!

Folosind indicativul existent EXTERGAT.

Scriptul ./get_region.sh a început cu
VPN_PROTOCOL=wireguard, deci ne vom conecta automat la WireGuard,
rulând această comandă:
$ PIA_TOKEN=EXPURAT\
WG_SERVER_IP=212.102.37.205 WG_HOSTNAME=zurich402 \
PIA_PF=true ./connect_to_wireguard_with_token.sh

Se încearcă să se conecteze la API-ul PIA WireGuard pe 212.102.37.205...

Încerc să dezactivez o conexiune PIA WG în cazul în care aceasta există...
wg-quick: `pia' nu este o interfață WireGuard

Încercarea de a configura DNS la 10.0.0.243. În cazul în care nu aveți rezolvconf,
această operațiune va eșua și nu veți obține un VPN. Dacă aveți probleme,
porniți acest script fără PIA_DNS.

Încerc să scriu /etc/wireguard/pia.conf...OK!

Încerc să creez interfața wireguard...
[#] ip link adăugați pia tip wireguard
[#] wg setconf pia /dev/fd/63
[#] adresa ip -4 adăugați 10.28.251.36 dev pia
[#] ip link set mtu 1420 up dev pia
[#] resolvconf -a tun.pia -m 0 -x
[#] wg set pia fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev pia table 51820
[#] ip -4 rule add not fwmark 51820 tabelul 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] iptables-restore -n

S-a creat interfața WireGuard.

În acest moment, internetul ar trebui să funcționeze prin VPN.

Pentru a deconecta VPN-ul, rulați:

--> wg-quick down pia <--

Acest script a început cu PIA_PF=true.

Se începe redirecționarea portului în 5...4...3...2...1...

Procedura de pornire pentru a activa redirecționarea portului rulând următoarea comandă:
$ PIA_TOKEN=EXPURAT\
  PF_GATEWAY=212.102.37.205 \
  PF_HOSTNAME=zurich402 \
  ./port_forwarding.sh

Se obține o nouă semnătură... OK!

Semnătura EXPANDAT
Sarcina utilă EXPURATĂ

--> Portul este 22419 și va expira pe 2022-01-25T00:25:25.06880542Z. <--

Încerc să legă portul... OK!
Port redirecționat 22419
Actualizat marți, 23 noiembrie, 12:23:43 UTC 2021
Expiră marți, 25 ianuarie, 00:25:25 UTC 2022

Acest script va trebui să rămână activ pentru a utiliza redirecționarea portului și se va reîmprospăta la fiecare 15 minute.

Aș dori să am un set de reguli UFW pentru gateway-ul descris în jurnale (în timp ce pot accesa oricare dintre celelalte mașini ale mele din rețeaua locală). Nu pot să-mi dau seama cum. Am găsit câteva ghiduri care se aplică doar pentru OpenVPN, nu și pentru Wireguard mai nou.

Hardware: Raspberry Pi 3 Model B Plus Rev 1.3
OS: Ubuntu 21.10 (GNU/Linux 5.13.0-1010-raspi aarch64)

afișează linkul ip

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state modul NECUNOSCUT DEFAULT grup implicit qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT grup implicit qlen 1000
    link/ether EXPANDAT brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc stare noop mod DOWN DEFAULT grup implicit qlen 1000
    link/ether EXPANDAT brd ff:ff:ff:ff:ff:ff
4: pia: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state modul NECUNOSCUT DEFAULT grup implicit qlen 1000
    link/niciuna

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.