J'ai un VPN et mon serveur envoie fréquemment des données à une adresse IP privée qui achemine via le VPN. Quand OpenVPN est établi ou meurt, il active / désactive les routes.
Je souhaite null-router cette plage d'adresses IP privée depuis l'interface Internet principale (eth0). Y a-t-il un moyen facile de le faire sans interférer avec les commandes de route provenant du logiciel VPN?
Iptables ne le fera pas. j'ai essayé
iptables -A OUTPUT -i eth0 -p tcp -d 192.168.0.0/16 -j REJECT
Mais iptables ne fonctionne pas lors de la spécification d’une interface dans la chaîne de sortie.
Quelqu'un sait s'il existe un moyen d'ajouter une route fictive à une interface spécifique (eth0) uniquement, sans interférer avec d'autres interfaces susceptibles d'utiliser cette route?
Ps- Je suis au courant que 192.168.0.0/16 n'est pas routable par INTERNET, mais pour des raisons de sécurité, veillez à ce qu'aucune donnée ne soit évacuée dans les rares cas où un autre serveur local ou un autre périphérique réseau commence à écouter sur le sous-réseau privé.
la source
-p tcp
afin qu'il bloque tout le trafic.En plus de la réponse de Michael, je pense qu’il faudrait bloquer le trafic dans la
FORWARD
chaîne, car laOUTPUT
chaîne ne s’applique qu’aux paquets générés localement et sortant du pare-feu. Autant que je sache, cela ne s'applique pas aux paquets routés.la source
Vous avez déjà la réponse dont vous aviez besoin pour le faire avec iptables.
Si vous voulez le faire avec des routes, un bon moyen est d’avoir une route pour 192.168.0.0/16 et que votre serveur vpn vous envoie deux routes un peu plus spécifiques. Dans votre cas, les deux routes seraient 192.168.0.0. / 17 et 192.168.128.0/17
La route / 16 serait fixée et routée à zéro:
Et votre serveur VPN (ou script vpn-up) vous fournirait les autres:
C’est en fait ce que
def1
propose OpenVPN pour remplacer la passerelle par défaut sans modifier les itinéraires existants.la source