J'ai un serveur avec 2 vrais NIC et 1 NIC virtuel (tun0) créé par OpenVPN.
eth0 is LAN - IP 192.168.2.1
eth1 is Internet - IP is public internet IP
tun0 is created by openvpn
Ce dont j'ai besoin, c'est que les clients qui se connectent au serveur VPN via eth1 auront également accès au réseau eth0, par exemple. sera en mesure de se connecter à 192.168.2.21
Cela fonctionnait auparavant jusqu'à ce que je redémarre le serveur et que les informations de routage soient réinitialisées: / J'ai configuré cela il y a quelques années et j'ai oublié comment je l'avais fait.
La table de routage ressemble maintenant à ceci:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default public gw 0.0.0.0 UG 0 0 0 eth1
public ip * 255.255.255.0 U 0 0 0 eth1
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
192.168.8.0 192.168.8.2 255.255.255.0 UG 0 0 0 tun0
192.168.8.2 * 255.255.255.255 UH 0 0 0 tun0
Quand je lance OpenVPN, il essaie d’ajouter route
Tue Oct 11 19:29:58 2016 /sbin/ip route add 192.168.2.0/24 via 192.168.8.2
RTNETLINK answers: File exists
Tue Oct 11 19:29:58 2016 ERROR: Linux route add command failed: external program exited with error status: 2
Cela ne semble toutefois pas possible, car cela existe déjà. Lorsque je supprime cette route, openVPN réussit à l'ajouter, mais il n'est plus possible pour le serveur d'atteindre le réseau 192.168.2.0/24.
Comment puis-je le faire fonctionner?
EDIT: oui, le transfert IPv4 et IPv6 est activé
la source
192.168.2.0/24
réseau doivent savoir que192.168.8.0/24
(le sous-réseau VPN, je suppose) est accessible via192.168.2.1
. Si ce192.168.2.1
n'est pas la passerelle par défaut, vous devez configurer une route sur la passerelle par défaut.Réponses:
vous aurez besoin d'ip_forward défini dans le sysctl et d'une ligne d'acceptation dans la table FORWARD dans iptables (qui utilise souvent ACCEPT par défaut)
http://www.ducea.com/2006/08/01/how-to-enable-ip-forwarding-in-linux/
la source
MASQUERADE
n'est nécessaire que lorsqu'une configuration entièrement routée n'est pas possible. C'est possible, il ne faut donc pas l'utiliser.Tout d'abord, les itinéraires nécessaires:
192.168.2.0/24
, via votre passerelle VPN (probablement à l'192.168.8.1
intérieur du réseau virtuel)192.168.2.0/24
nécessaire d’acheminer une route192.168.8.0/24
- car il apparaît que votre serveur VPN réside sur la passerelle par défaut, aucune configuration supplémentaire n’est requise.Ensuite, la configuration. Les spécificités dépendent de la topologie (net30 / p2p ou sous-réseau), mais c'est comme ça en général:
J'ai omis ici toutes les options non pertinentes (mais néanmoins obligatoires). Notez cependant que le
route
n'est poussé que vers les clients. Il ne doit pas être défini sur le serveur .Étant donné que le client reçoit tous les paramètres nécessaires via Push, aucune configuration spéciale n'est nécessaire.
la source