je sais qu’il y a plein de sujet sur ce probleme mais butant dessus depuis 3 jours, malgré les heures passé sur les différentes discussions sur ce forum, je viens quémander de l’aide.
j’ai un serveur OPENVPN / WIREGUARD qui a deux pattes.
ce serveur est sur Internet.
Eth0 : autorise le ssh et l’openvpn
eth1 : est ma sortie internet de mon vpn. je voudrais que les clients VPN n’est pas de restriction sur internet.
la partie VPN monte parfaitement bien, c’est la partie routage proprement parler qui me pose problème. je suis sur que c’est juste un petit details, mais je ne vois pas où je me plante.
Peux-tu préciser ? A quoi chacune de ces interfaces est-elle reliée ?
Quelle est le contenu de la table de routage ?
ip rule
ip addr
Quel problème exactement ?
Cette règle est une faille de sécurité. Elle permet à n’importe qui de se connecter à n’importe quel port TCP du serveur du moment qu’on utilise le port source 22. Pour autoriser le trafic retour de connexions sortantes, il faut utiliser le suivi de connexion (conntrack), et pas (seulement) le port source.
Je ne vois aucune règle acceptant le trafic dans la chaîne FORWARD.
eth0 est une interface sur laquelle je fais pointer mon tunnel VPN et j’autorise aussi les accès SSH via cette interface uniquement. ( correspond à une interface LAN)
eth1 est l’interface qui me permettra de sortir du serveur vers le WEB. (correspond à une interface WAN)
pour le moment je bosse sur une VM pour maitriser ce sujet de routage qui me fait vraiment defaut ( en connaissance aussi)
IP route :
bzhandroid@SRV2021-DEB:~# ip route
default via 192.168.4.1 dev eth0 onlink
10.8.0.0/25 via 10.8.0.2 dev tun0
10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1
192.168.2.0/24 dev eth1 proto kernel scope link src 192.168.2.10 #RSO du WAN
192.168.4.0/24 dev eth0 proto kernel scope link src 192.168.4.10 # RSO du LAN
bzhandroid@SRV2021-DEB:~# ip rule
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
bzhandroid@SRV2021-DEB:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:fa:54:91 brd ff:ff:ff:ff:ff:ff
inet 192.168.4.10/24 brd 192.168.4.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fefa:5491/64 scope link
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:fa:54:9b brd ff:ff:ff:ff:ff:ff
inet 192.168.2.10/24 brd 192.168.2.255 scope global ens34
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fefa:549b/64 scope link
valid_lft forever preferred_lft forever
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::51ed:6e04:52dc:6661/64 scope link stable-privacy
valid_lft forever preferred_lft forever
je voudrais que mes paquets qui arrivent du TUN0 aille vers eth1.
merci pr l’info pour le port 22, je vais aussi me pencher sur cette faille ensuite .
RSO signifie réseau, j’ai mis le commentaire pr expliquer.
dans ip addr je n’ai pas remplacer ens33 par eth0 et ens34 par eth1 . pour la route par defaut, je n’ai rien rentré,
je devrai donc supprimer la route par defaut,
et mettre la route par defaut de mon interface.
si je me plante pas, je peux le faire dans mon fichier d’interface dans la partie de ma carte eth1
iface eth1 inet static
address 192.168.2.10/24
gateway 192.168.2.2
post-up ip route del default
post-up ip route add default via 192.168.2.2 dev eth1
pourquoi tu dis « Non, ce n’est pas ce que tu veux ,crois moi »?
j’aimerai utilisé le serveur comme point de sortie de mes clients VPN vers le WEB.
Je dois peut etre faire fausse route, , serait il possible davoir des conseils alors.
autant la partie systeme me pose pas de soucis, mais la partie reseau/ routage est pour moi assez neuf. quand je fais le tour des sites qui en parle, personne à la même méthode… et donc je pioche à droite et gauche pr faire avancer ma solution… ( ce qui n’est pas forcément la bonne méthode).
Pourquoi remplacer les noms des interfaces ? Cela ne fait qu’embrouiller les choses.
En tout cas elle n’est pas arrivé là toute seule, elle vient bien de quelque part. Comment l’interface eth0 est-elle configurée ?
Euh, non, tu devrais plutôt configurer la route par défaut uniquement là où elle doit être, sur eth0. D’après toi avec ta méthode bancale il se passera quoi si eth1 est configurée avant eth0 ?
Parce que c’est le cas. Par exemple tu ne voudrais pas que des paquets à destination du LAN ou du serveur soient envoyés par eth1, n’est-ce pas ?
desole pr l’embrouillage des nom d’interface. je travaille sur des VM pour m’entrainer et comprendre correctement la mise en place du pare feux et du routage.
l’interface eth0 est configurer dans le fichier /etc/network/interface
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.4.10/24
gateway 192.168.4.1
allow-hotplug eth1
iface eth1 inet static
address 192.168.2.10/24
gateway 192.168.2.2
post-up ip route del default
post-up ip route add default via 192.168.2.2 dev eth1
pre-up iptables-restore < /etc/iptables_backups.save
il faut voir mon schema comme une machine unique qui veut sortir sur le net par un vpn…;
J’aimerai comprendre comment gerer le routage comme pourrait le faire les serveurs vpn chez Northvpn par exemple. mais sur mes serveurs j’ai deux cartes réseaux une pour faire la connection avec le client vpn et l’autre carte pour aller sur le net.
tu as l’air d’avoir des connaissances, et la seule chose que j’ai le droit depuis le début de la discussion ce n’est pas de l’aide …
au lieu de dire " commence par configurer correctement tes interfaces, et ca ira mieux, tu aurais pu m’expliquer en quoi mes interfaces sont mal configurer…
Quand on me mène en bateau, ça a tendance à m’agacer. Sorties de commandes trafiquées, affirmations mensongères… ça commence à faire beaucoup.
Je t’ai montré la ligne qui ne va pas, ça ne te suffit pas pour comprendre ?
Tu as configuré des routes par défaut (option gateway) sur deux interfaces, alors que par définition, un truc « par défaut », il ne doit y en avoir qu’un. Arrive ce qui doit arriver (une chance sur deux) : la route par défaut effective n’est pas sur la bonne interface. Et toi, plutôt que de de retirer l’option gateway en trop, tu as préféré ajouter des commandes pour annuler l’effet de cette option et obtenir l’effet de l’autre option gateway qui n’a pas été prise en compte. Voilà ce qui ne va pas.
Je vous prie de m’excuser de mettre mon grain de sel mais sachez que l’image que vous donnez de la communauté linuxienne en générale et de Debian en particulier est déplorable
j’ai donc un PC qui se connecte sur une interface de mon serveur , qui se trouve sur le net avec un client VPN. le client sortira sur le net à partir d’une autre interface du serveur vers le net.
Habituellement c’est des clients sur le web qui utilise un VPN pour atteindre une/des ressource(s) dans une DMZ ou pour rejoindre un LAN.
Si tu souhaite filtrer qui a droit de sortir sur le net depuis ton réseau local, il y a clairement plus simple à faire.
EDIT - C’est déjà plus claire avec ton schéma modifié, mais je ne comprends pas pourquoi tu cherches à faire rentrer des postes via un VPN sur un serveur pour leur permettre par la suite de ressortir vers le net, tu cherche à appliquer du filtrage sur ces postes ?
quid lorsque le VPN ne sera pas monté … oO
Une chose n’est pas claire pour moi : en regardant ton schéma, j’ai l’impression que le client, le tunnel et l’interface eth0 du serveur ne sont pas sur internet mais sur un réseau distinct. Qui a raison : le schéma ou le texte en dessous ?
2 petites questions :
Les clients et le serveur OpenVPN sont sur le même réseau ? Si oui, pourquoi tu mets en place un vpn sur un réseau privé ?
Ton but, si je comprends bien, c’est que le serveur assure le rôle de proxy ?
je n’ai pas d’utilité immédiate, mais je voulais juste maitriser le montage de ce systeme. Dans mon idée, je veux que mes clients sortent de chez eux ou puissent se connecter sur un wifi public (par exemple) avec leur client vpn qui viendrait se connecter sur ce serveur. et aller tranquillement sur le net.
je n’ai rien de bien compliqué dans mon montage. juste il faut que j’arrive a router le flux de mes clients vpn vers l’interface eth1 et avoir internet.
mes clients peuvent etre sur des réseaux privés ou publiques. et le serveur sur internet.
mon client VPN a l’adresse IP du serveur VPN dans son fichier de conf.