Merrick Je ne sais pas si ça peu aider mais j'ai monté un PFSense sur une VM, tout mon lan passe par lui. Et c'est lui qui est configuré en client openvpn. Le VPS lui est le serveur.
J'ai 2 wan, ma connexion adsl et 4g en loadbalancing. Les modems adsl et 4g sont en dmz sur le pfsense.
Le pfsense permet enormement de chose comme choisir qui sort par le vpn, par la 4g ou l'adsl etc...
J'ai une autre VM avec pihole en complément du dns de pfsense.
ma conf serveur open vpn
local 10.18.xx.xx
port 8025
proto tcp
dev tun
mode server
tls-server
script-security 3
persist-key
persist-tun
sndbuf 0
rcvbuf 0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
auth SHA512
tls-auth /etc/openvpn/ta.key 0
client-config-dir /etc/openvpn/client
ccd-exclusive
server 16.8.0.0 255.255.255.0
route-nopull
route 192.168.1.0 255.255.255.0
route 192.168.8.0 255.255.255.0
route 192.168.10.0 255.255.255.0
route 192.168.100.0 255.255.255.0
route 192.168.201.0 255.255.255.0
topology subnet
client-to-client
push "dhcp-option DNS 16.8.0.1"
push "block-outside-dns"
push "redirect-gateway def1 bypass-dhcp"
push "route 192.168.1.0 255.255.255.0"
push "route 192.168.8.0 255.255.255.0"
push "route 192.168.10.0 255.255.255.0"
push "route 192.168.100.0 255.255.255.0"
push "route 192.168.201.0 255.255.255.0"
log /etc/openvpn/openvpn.log
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
status /etc/openvpn/openvpn-status.log
verb 3
crl-verify /etc/openvpn/crl.pem
duplicate-cn
key-direction 0
compress lzo
La config sur pfsense je pourrai ta faire des screens.
mon iptable
# Generated by webmin
*filter
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
# SSH
-A INPUT -p tcp -m state --dport ssh --state NEW,ESTABLISHED -j ACCEPT
# HTTP
-A INPUT -p tcp -m tcp --dport http -j ACCEPT
# HTTPS
-A INPUT -p tcp -m tcp --dport https -j ACCEPT
# OpenVPN
-A INPUT -p tcp -m tcp --dport 8025 -j ACCEPT
# OpenVPN
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
# Plex
-A INPUT -p tcp -m tcp --dport 10443 -j ACCEPT
# Plex
-A INPUT -p tcp -m tcp --dport 32400 -j ACCEPT
# Transmission
-A INPUT -p tcp -m tcp --dport 51413 -j ACCEPT
# Transmission
-A INPUT -p tcp -m tcp --dport 9091 -j ACCEPT
# Webmin
-A INPUT -p tcp -m tcp -i tun0 --dport webmin -j ACCEPT
# PiHole
-A INPUT -p tcp -m tcp -i tun0 --dport 1080 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 16.8.0.0/24 -j ACCEPT
-A FORWARD -p tcp -d 16.8.0.2 --dport https -j ACCEPT
-A FORWARD -i tun0 -o ens2 -j ACCEPT
-A FORWARD -o ens2 -j ACCEPT
-A INPUT -p tcp -m tcp -i tun0 --dport 443 -j REJECT --reject-with tcp-reset
-A INPUT -p udp -m udp -i tun0 --dport 80 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p udp -m udp -i tun0 --dport 443 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i tun0 -p tcp --destination-port 53 -j ACCEPT
-A INPUT -i tun0 -p udp --destination-port 53 -j ACCEPT
-I INPUT -i tun0 -j ACCEPT
-I INPUT -i lo -j ACCEPT
COMMIT
# Completed
# Generated by webmin
*mangle
:FORWARD ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:INPUT ACCEPT [0:0]
COMMIT
# Completed
# Generated by webmin
*nat
:POSTROUTING ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# OpenVPN 2
-A POSTROUTING -o ens2 -j MASQUERADE
# Plex
-A PREROUTING -p tcp -m tcp -i ens2 --dport 10443 -j DNAT --to-destination 16.8.0.2:10443
# Plex
-A PREROUTING -p tcp -m tcp -i ens2 --dport 32400 -j DNAT --to-destination 16.8.0.2:32400
# Transmission
-A PREROUTING -p tcp -m tcp -i ens2 --dport 51413 -j DNAT --to-destination 16.8.0.2:51413
# https
-A PREROUTING -p tcp -i ens2 --dport https -j DNAT --to 16.8.0.2:443
COMMIT
# Completed
Tous ça n'est certainement pas optimisé... d'ailleurs si certain on des améliorations je suis preneur !