#1 Le 16/08/2015, à 11:54
- Drdada
OpenVPN et Iptables - Redirect-gw et client-to-client
Bonjour,
j'essaye de faire fonctionner un serveur OpenVPN dans une VM (openvz).
J'aimerais qu'il fasse un réseau client-to-client (que les différents client puissent communiquer entre eux). Ca c'est ok les clients se pingent entre eux.
J'aimerais aussi mettre le paramètre redirect-gateway def1 sur certain clients pour que tout le traffic soit redirigé par le tunnel VPN.
C'est la que je bloque, lorsque le client est connecté et que je ping l'extérieur (8.8.8.8) je vois le paquet qui arrive bien jusqu'au serveur:
tcpdump -i tun0 icmp:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
11:46:43.807192 IP 10.8.0.6 > google-public-dns-a.google.com: ICMP echo request, id 1, seq 1954, length 40
11:46:48.806514 IP 10.8.0.6 > google-public-dns-a.google.com: ICMP echo request, id 1, seq 1955, length 40
Mais il n'arrive pas à faire le SNAT Il sort avec l'ip privée
tcpdump -i venet0 icmp:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on venet0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
11:48:13.805293 IP 10.8.0.6 > google-public-dns-a.google.com: ICMP echo request, id 1, seq 1972, length 40
11:48:18.807109 IP 10.8.0.6 > google-public-dns-a.google.com: ICMP echo request, id 1, seq 1973, length 40
iptables -t nat -L -v -n:
Chain PREROUTING (policy ACCEPT 61 packets, 3784 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 142 packets, 8720 bytes)
pkts bytes target prot opt in out source destination
0 0 SNAT all -- * venet0 10.8.0.0/24 0.0.0.0/0 to:1.2.3.4
Chain OUTPUT (policy ACCEPT 142 packets, 8720 bytes)
pkts bytes target prot opt in out source destination
Voici une partie de mes règles iptables:
#!/bin/sh
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
echo "FLUSH [OK]"
## Bloque tout le trafic sauf la sortie
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
## Autorise le routage
echo 1 > /proc/sys/net/ipv4/ip_forward
## Autorise les connexions déjà établies et localhost
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
echo "Régles par défaut [OK]"
#Autorise l'interface openvpn
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -o venet0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i venet0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to-source 1.2.3.4 #ip publique de la VM NB: Je ne mets pas masquerade car ce n'est pas compatible avec openVZ
# Openvpn Ouverture
iptables -A INPUT -p udp --dport 1191 -j ACCEPT
Vous avez une idée ?
Hors ligne
#2 Le 27/08/2015, à 20:42
- Drdada
Re : OpenVPN et Iptables - Redirect-gw et client-to-client
J'ai trouvé le problème. Une bêtise...
Voici les règles fonctionnelles:
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun+ -o venet0 -j ACCEPT
iptables -A FORWARD -i venet0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o venet0 -s 10.8.0.0/24 -j SNAT --to-source 1.2.3.4
Hors ligne