En essayant de configurer gufw pour que, si ma connexion VPN tombe, mon ordinateur ne puisse plus accéder à Internet.
Mon plan était de bloquer toutes les communications sortantes, mais d'autoriser uniquement une connexion à l'adresse IP de mon serveur VPN, mais je constate que lorsque le pare-feu est mis en œuvre, je ne peux pas charger de sites, même si le VPN est connecté.
Ci-dessus, les paramètres que je suis en train d’essayer (une adresse IP partiellement cachée est mon serveur VPN), que fais-je de travers?
Essayez quelque chose comme ça
Vous souhaitez modifier les règles ufw
en fonction du statut de interface
.
Un bon endroit pour ce genre d’action est dans /etc/network/if-down.d/
et /etc/network/if-up.d/
Vous pouvez dans ce dossier mettre un script et effectuer une action. Par exemple, placez ce script dans /etc/network/if-down.d/
pour modifier les règles ufw
à chaque fois que tun0
disparaît.
Créez un script appelé script
avec des autorisations d'exécution 755
Sudo nano /etc/network/if-down.d/script
Le script est
# Check interface
[ "$IFACE" != "tun0" ] || exit 0
# Do something
Sudo ufw default deny outgoing
Sudo ufw allow out to xxx.xxx.xxx.xxx
Changer la permision du script
chmod 755 /etc/network/if-down.d/script
Dans script
xxx.xxx.xxx.xxx
représente l'adresse IP de votre serveur vpn
Lorsque vpn
vous reconnectez, vous devez à nouveau modifier les règles ufw
. Faire un autre script aka script2
Sudo nano /etc/network/if-up.d/script2
Le script est quelque chose comme ça
# Check interface
[ "$IFACE" != "tun0" ] || exit 0
# Do something
Sudo ufw default allow outgoing
#also you can add more ufw rules ...
Sudo ufw ....
Changer la permision du script
chmod 755 /etc/network/if-up.d/script2
Le premier script permettra, si tun0
_ descendre, de refuser la police sortante par défaut, mais autorisera l'accès au serveur vpn
. Le second script changera la police sortante par défaut en allow
Vous pouvez le faire simplement en utilisant l'interface graphique d'ufw:
eth0
est votre interface publique, tun0
est l'interface créée par le VPN et xxx.xxx.68.138
est votre IP VPN: Policy=Allow
, Direction=Out
, Interface=eth0
et To=xxx.xxx.68.138
Policy=Allow
, Direction=Out
, Interface=tun0
et To=0.0.0.0/0
C'est tout!
Vous l'avez presque fait, vous avez simplement oublié d'autoriser le trafic sortant via le VPN, car un refus global du trafic sortant s'applique à toutes les interfaces, y compris celle créée par le VPN.
À propos, je vous suggère de refuser globalement le trafic entrant, ceci empêchera une personne diabolique ou un bot fonctionnant sur votre réseau de pirater votre ordinateur en exploitant un bogue ou une mauvaise configuration d'un service réseau en cours d'exécution (par défaut, Ubuntu exécute des modifications services de réseau en écoute sur toutes les interfaces, pas seulement locale).