Puncte:1

Împiedicați serviciul de sistem OpenVPN să înceapă acasă

drapel gd

Pe laptopul meu, am setat un serviciu systemd care face o conexiune OpenVPN la casa mea și îl las să pornească automat la pornire, astfel încât să pot accesa serverul meu de acasă oriunde.

Problema este că atunci când sunt deja acasă, se conectează în continuare la VPN și încurcă tabelul de rute al laptopului, prin urmare nu pot accesa serverul când sunt acasă.

Există vreo modalitate prin care pot lăsa un serviciu systemd să pornească condiționat?

Mulțumiri!

Ginnungagap avatar
drapel gu
Ați verificat paginile de manual systemd unit/service/exec? Nu sunt acasă, așa că nu o voi face pentru tine, dar știu că poți configura condițiile, pur și simplu nu am încercat niciodată ceva atât de complicat.
Puncte:0
drapel gd

Am postat soluția mea aici, poate poate ajuta pe cineva.

Codez un script, care ar încerca să interogheze adresa MAC a routerului meu de acasă, dacă reușește (adică sunt acasă), opriți-vă pentru a conecta VPN-ul. Și apoi modificați fișierul de serviciu systemd (vpn-to-home.service), adăugați o linie ExecStartPre=/usr/local/bin/stop-if-lan.sh.

Scriptul stop-if-lan.sh:

#!/bin/bash
/usr/bin/ping -4n -c 1 -q -W 1 IP_OF_ROUTER > /dev/null
MAC_ADDRESS=`arp -n | awk '/IP_OF_ROUTER/{print $3;exit}''

if [ "$MAC_ADDRESS" == "MAC_OF_ROUTER" ] ; atunci
# echo „Suntem deja acasă”.
   iesirea 1
fi
iesirea 0

Serviciul vpn-to-home.service al systemd:

[Unitate]
Requisite=network-online.target
După=syslog.target network-online.target 

[Serviciu]
Tip = inactiv
RuntimeDirectory=openvpn-client
WorkingDirectory=/run/openvpn-client
PrivateTmp=adevărat
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_OVERRIDE

ExecStartPre=/usr/local/bin/check-if-lan.sh

ExecStart=/usr/sbin/openvpn --config /etc/openvpn/client/client-to-home.ovpn
LimitNPROC=10
DeviceAllow=/dev/null rw
DeviceAllow=/dev/net/tun rw
ProtectSystem=true
ProtectHome=adevarat
KillMode=proces

[Instalare]
WantedBy=multi-user.target
Puncte:0
drapel cn

Nu sunt un expert în rețele, dar cred că s-ar putea face dacă utilizați Ethernet acasă și WiFi în altă parte. În acest caz, ar trebui să puteți ruta interfața WiFi prin conexiunea VPN.

Leon avatar
drapel gd
Mulțumiri! Dar folosesc mereu WiFi, chiar dacă acasă. În plus, laptopul meu nu are interfață lan.

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.