Aide avec iptables au travers d'un VPN

Forum d'assistance et d'échange sur l'installation, la configuration, et l'utilisation des système Linux et BSD. Vous pouvez y poster vos questions concernant ces systèmes d'exploitation en faisant l'effort préalable de rechercher dans le forum, dans les manuels et les documentations que la réponse n'y figure pas.

Modérateur: modos Ixus

Aide avec iptables au travers d'un VPN

Messagepar nitro666 » 22 Juil 2008 00:01

Allo,

J'ai grandement besoin t'aide svp ...

J'ai créer un VPN entre deux site avec des routeurs utilisant DD-WRT. Avec le même subnet, meme plage d'adresse IP.

J'ai configuré le VPN avec OPENVPN mais maintenant j'auria sbesoin d'ouvrir deux port de chaque coté pointant chaqu'un sur une IP respectif. J'aurais besoin d'avoir les configs IPTABLES pour l'ouverture des ports pour que ca fonctionne bien autant en entrée que en sortie ...

Aussi je dois mettre les configurations IPTABLES dans quelle routeurs les deux ou juste celui qui fournie le DHCP ????

Pour le site A le port 2111 et 9871 sur l'adresse IP 192.168.0.21
Pour le Site B le port 2111 et 9871 sur l'adresse IP 192.168.0.31


Exemple :

Site A
Fournisseur Internet ABC
Routeur DD-WRT
Adresse IP 192.168.0.1
DHCP Activé

Site B
Fournisseur Internet XYZ
Routeur DD-WRT
Adresse IP 192.168.0.254
DHCP fournis par le routeur du site A (192.168.0.1)


Voici les configs du serveur sur le DD-WRT
---------------------------------------------------


cd /tmp
openvpn --mktun --dev tap0
brctl addif br0 tap0
ifconfig tap0 0.0.0.0 promisc up

echo "
# Tunnel options
mode server # Set OpenVPN major mode
proto udp # Setup the protocol (server)
port 1194 # TCP/UDP port number
dev tap0 # TUN/TAP virtual network device
keepalive 15 60 # Simplify the expression of --ping
daemon # Become a daemon after all initialization
verb 3 # Set output verbosity to n
comp-lzo # Use fast LZO compression

# OpenVPN server mode options
client-to-client # tells OpenVPN to internally route client-to-client traffic
duplicate-cn # Allow multiple clients with the same common name

# TLS Mode Options
tls-server # Enable TLS and assume server role during TLS handshake
ca ca.crt # Certificate authority (CA) file
dh dh1024.pem # File containing Diffie Hellman parameters
cert server.crt # Local peer's signed certificate
key server.key # Local peer's private key
" > openvpn.conf

echo "
-----BEGIN CERTIFICATE-----
zqr8U7O1QmnRHhZtInf+8MV5SJit01AH0uFXXQ==
-----END CERTIFICATE-----
" > ca.crt
echo "
-----BEGIN RSA PRIVATE KEY-----
zqr8U7O1QmnRHhZtInf+8MV5SJit01AH0uFXXQ==
-----END RSA PRIVATE KEY-----
" > server.key
chmod 600 server.key
echo "
-----BEGIN CERTIFICATE-----
zqr8U7O1QmnRHhZtInf+8MV5SJit01AH0uFXXQ==
-----END CERTIFICATE-----
" > server.crt
echo "
-----BEGIN DH PARAMETERS-----
zqr8U7O1QmnRHhZtInf+8MV5SJit01AH0uFXXQ==
-----END DH PARAMETERS-----
" > dh1024.pem

sleep 5
ln -s /usr/sbin/openvpn /tmp/myvpn
/tmp/myvpn --config openvpn.conf


Voici les configs du client sur le DD-WRT
---------------------------------------------------


cd /tmp
ln -s /usr/sbin/openvpn /tmp/myvpn
./myvpn --mktun --dev tap0
brctl addif br0 tap0
ifconfig tap0 0.0.0.0 promisc up
sleep 5

echo "
client
dev tap0
proto udp
remote xxx.xxx.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo
verb 3
" > /tmp/client.conf

echo "
-----BEGIN CERTIFICATE-----
DEPRHcx7a4PWnaFlktb1qu8RLiV3gFFylXINFQvXPVtjdXFrm5Y=
-----END CERTIFICATE-----
" > /tmp/ca.crt

echo "
-----BEGIN RSA PRIVATE KEY-----
iuZiXIuo+H/s0fCnrt2tLcYOn3i9xYPL2O2Iy8vJxpk=
-----END RSA PRIVATE KEY-----
" > /tmp/client.key
chmod 600 /tmp/client.key

echo "
-----BEGIN CERTIFICATE-----
EwD+2Qp8TrMgzbsGaDm1IOogbSZUmqR0vevkVhR1VWOdyd6WE2xJE4+oDgd0e4Dv
HkY=
-----END CERTIFICATE-----
" > /tmp/client.crt

./myvpn --config client.conf
nitro666
Matelot
Matelot
 
Messages: 3
Inscrit le: 21 Juil 2008 23:34

Messagepar tomtom » 22 Juil 2008 08:23

Salut,


Quelques remarques en vrac :

- Pourquoi tu t'embetes avec du bridge et du DHCP ? Si tu n'as que 2 sites, tu économiserai beaucoup de temps à mettre deux ip fixes et pas besoin de bridge.

- Tu ne devrais pas mettre tes cles privées sur un forum public (c'ets pour ça le nom !!) car si tu as mis les vrais fichiers "server.key" et "client.key", en ce moment n'importe qui peut se connecter sur ton VPN. Dans ce cas, il t'es impératif de regénérer des clés pour ton serveur et ton client.


- Une fois ton VPN en marche, tu as un problème de routage avant d'avoir un problème d'IPTables.
Fais un schéma clair avec toutes les machines (y compris .21 et .31) pour que tu comprennes ce que tu dois positionner comme routes dans ton VPN. La configuration que tu utilises est adaptée pour des "road-warriors" mais pas pour du sit à site.

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar nitro666 » 22 Juil 2008 14:32

Allo,

Pour le cleés j'ai changer les clées avant de faire le post ceci est pas les miennes c'était pour un exemple clair.

Pour le VPN bien il va avoir dans quelques temps plus qu'un site sur le VPN et tous est déja installé alors je veux pas nécessairement recommencé, le VPN fonctionne maintenant.

Il me reste juste a trouvés la config iptables si une personne peut m'aider svp ... je me demande dans quel routeur je dois la mettre et aussi la syntax.

merci
nitro666
Matelot
Matelot
 
Messages: 3
Inscrit le: 21 Juil 2008 23:34

Messagepar HaM » 23 Juil 2008 10:52

Salut,
Comme cela t'a déjà été dit, iptables n'a rien à faire dans ton histoire, sauf si dd-wrt fait n'importe quoi d'office !.
As tu vérifié que le VPN fonctionne correctement ? Peux tu pinger une machine à travers ?
Avatar de l’utilisateur
HaM
Amiral
Amiral
 
Messages: 1045
Inscrit le: 31 Juil 2002 00:00
Localisation: Boulogne-Billancourt 92

Messagepar nitro666 » 23 Juil 2008 13:37

Oui le vpn fonctionne très bien et oui je suis en mesure de pinger des deux cotés du vpn. Ca fonctionne très bien.

Mais quand je place un serveur genre email en arrière du routeur/vpn du site A ca marche avec quelques tunning de iptables pour le forward avec l'adresse du site A, mais quand je place un autre serveur mail sur le site B et que je tune iptables pour ce serveur et que j'essaye d'y accéder avec le l'addresse du site B ca fonctionne pas ...
nitro666
Matelot
Matelot
 
Messages: 3
Inscrit le: 21 Juil 2008 23:34


Retour vers Linux et BSD (forum généraliste)

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité