OpenVPN & routeur: Configuration iptables/routing ?

OpenVPN & routeur: Configuration iptables/routing ? - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 02-08-2016 à 07:38:22    

Hello :hello:
 
J'ai une petite question pour les "pros" du routing et d'iptables.
 
Jusqu'à présent j'ai configuré soit un simple routeur avec eth0 sur LAN et eth1 en WAN:
 

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
 
# iptables-save  
# Generated by iptables-save v1.4.21 on Mon Aug  1 12:55:27 2016
*filter
:INPUT ACCEPT [303511:75211970]
:FORWARD ACCEPT [2:134]
:OUTPUT ACCEPT [373524:327804348]
-A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
COMMIT
# Completed on Mon Aug  1 12:55:27 2016
# Generated by iptables-save v1.4.21 on Mon Aug  1 12:55:27 2016
*nat
:PREROUTING ACCEPT [37782:14504635]
:INPUT ACCEPT [8794:1899648]
:OUTPUT ACCEPT [2357:235726]
:POSTROUTING ACCEPT [1885:200443]
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Mon Aug  1 12:55:27 2016


 
Ou bien un serveur OpenVPN avec une seule eth0 en LAN:
 

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
 
# iptables-save  
# Generated by iptables-save v1.4.21 on Mon Aug  1 12:58:36 2016
*nat
:PREROUTING ACCEPT [6695445:3069172710]
:INPUT ACCEPT [497299:46023345]
:OUTPUT ACCEPT [384188:31344443]
:POSTROUTING ACCEPT [384194:31345019]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 192.168.1.222
COMMIT
# Completed on Mon Aug  1 12:58:36 2016
# Generated by iptables-save v1.4.21 on Mon Aug  1 12:58:36 2016
*filter
:INPUT ACCEPT [2981202:1083735752]
:FORWARD ACCEPT [209717:181506074]
:OUTPUT ACCEPT [2625552:1114890956]
COMMIT
# Completed on Mon Aug  1 12:58:36 2016


 
Ces deux configurations fonctionnent parfaitement mais j'aimerai à présent avoir une instance OpenVPN sur le routeur ... Et là je sèche :'(
OpenVPN est installé et configuré, les clients peuvent se connecter, recoivent une IP en 10.8.0.x/32
Je peux faire un ssh depuis le client vers le serveur sur 192.168.8.100
 
La configuration du routeur:
 
C'est un raspberry PI2 équipé d'un dongle USB 3G reconnu en tant que eth1.
Quand j'ai des problèmes DSL (ça m'arrive hélas assez souvent car ligne pourrie) je switch le default gateway du serveur DHCP de l'IP de la box (192.168.1.1) à celle du RPI (192.168.1.202) ou bien manuellement dans les options réseaux des clients ...
 
- Debian Jessie
- eth0 - LAN - 192.168.1.202/24 GW 192.168.1.1
- eth1 - WAN - 192.168.8.100/24 GW 192.168.8.1
- OpenVPN configuré en TUN (TAP non supporté par les clients Android ...)
 

local 192.168.8.100
dev tun
proto tcp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/rpivpn.crt
key /etc/openvpn/easy-rsa/keys/rpivpn.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig 10.8.0.1 10.8.0.2
push "route 10.8.0.1 255.255.255.255"
push "route 10.8.0.0 255.255.255.0"
push "route 192.168.8.0 255.255.255.0"
push "route 192.168.1.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
client-to-client
duplicate-cn
keepalive 10 120
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0
cipher AES-128-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log 20
log /var/log/openvpn.log
verb 1


 
Table de routage du serveur:
 

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.8.1     0.0.0.0         UG    0      0        0 eth1
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
10.8.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.8.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1


 
La table de routage d'un client connecté au VPN (virtualbox en mode NAT):
 

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.8.0.5        128.0.0.0       UG    0      0        0 tun0
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.8.0.0        10.8.0.5        255.255.255.0   UG    0      0        0 tun0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.139.7.11     10.0.2.2        255.255.255.255 UGH   0      0        0 eth0
128.0.0.0       10.8.0.5        128.0.0.0       UG    0      0        0 tun0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.1.0     10.8.0.5        255.255.255.0   UG    0      0        0 tun0
192.168.8.0     10.8.0.5        255.255.255.0   UG    0      0        0 tun0


 
Ce que j'aimerai au final, c'est que les clients connectés au VPN puissent d'une part accéder aux devices présents sur le LAN (192.168.1.0) et utiliser 192.168.8.1 comme gateway pour le reste ...
 
Merci d'avance pour les recommandations/exemples/etc :jap:


Message édité par Deadlock le 03-08-2016 à 14:46:33

---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
Reply

Marsh Posté le 02-08-2016 à 07:38:22   

Reply

Marsh Posté le 03-08-2016 à 14:45:07    

Bon j'ai un peu avancé sur le sujet ...

 

En ajoutant 3 règles iptables, les client VPN peuvent à présents accéder au réseau 192.168.1.0/24 !

# iptables-save
# Generated by iptables-save v1.4.21 on Wed Aug  3 14:39:40 2016
*filter
:INPUT ACCEPT [35:2296]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [18:1584]
-A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -s 192.168.1.0/24 -i tun0 -o eth0 -p tcp -j ACCEPT
-A FORWARD -i tun0 -j ACCEPT
COMMIT
# Completed on Wed Aug  3 14:39:40 2016
# Generated by iptables-save v1.4.21 on Wed Aug  3 14:39:40 2016
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth1 -j MASQUERADE
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Aug  3 14:39:40 2016


Il ne me reste plus maintenant qu'à faire en sorte que les clients VPN utilisent 192.168.8.1 comme default gateway au lieu de 192.168.1.1 ...


Message édité par Deadlock le 03-08-2016 à 15:36:44

---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
Reply

Marsh Posté le 03-08-2016 à 16:03:20    

En fait ça fonctionne très bien comme ça avec les règles du post précédent :)


---------------
Institutions européennes: Ensemble d'outils dont le but est de transformer une grande quantité d'argent en merde. Cette merde est utilisée pour créer de nouveaux fonctionnaires. L'argent restant payant des externes pour faire leur travail.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed