VPN Iptable (impossible d'afficher la page)

Bonjour,

Je me suis monté un VPN ppptp, j’arrive à me connecter, mais internet ne fonctionne pas “impossible d’afficher la page”

Je dois rajouter une règle iptable, je, mais je ne trouve pas.
Je me permets de revenir vers vous pour avoir votre aide.

En fait j’ai fait un scripte qui bloque tout, et qui autoriser le port http,https,dns,ftp,ssh et quelque port joignable uniquement sur l’ip de mon téléphone et de la maison.

Quelle règle je dois rajouter pour autoriser mon VPN à afficher les pages ?

J’ai trouver ceci sur internet iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to IP.locale.DE.VOTRE.SERVEUR, mais sa ne marche pas.

le VPN fournis une @IP en 192.168.100.1 à 192.168.100.3

Avez-vous une idée ?


Root@KIMSUFI-SRV:~/Script_IPTABLE# iptables-save

# Generated by iptables-save v1.4.12 on Sat Oct 15 08:16:15 2016
*raw
:PREROUTING ACCEPT [22553178:8820318906]
:OUTPUT ACCEPT [18041754:30883621126]
COMMIT
# Completed on Sat Oct 15 08:16:15 2016
# Generated by iptables-save v1.4.12 on Sat Oct 15 08:16:15 2016
*nat
:PREROUTING ACCEPT [347:31846]
:INPUT ACCEPT [37:1184]
:OUTPUT ACCEPT [30:5486]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source 37.xxx.xxx.xx3
-A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source 37.xxx.xxx.xx3
-A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT --to-source 37.xxx.xxx.xx3
-A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT --to-source 37.xxx.xxx.xx3
-A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT --to-source 37.xxx.xxx.xx3
-A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT --to-source 37.xxx.xxx.xx3
-A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT --to-source 37.xxx.xxx.xx3
-A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT --to-source 37.xxx.xxx.xx3
-A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT --to-source 37.xxx.xxx.xx3
-A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT --to-source 37.xxx.xxx.xx3
-A POSTROUTING -s 37.187.113.0/24 -o eth0 -j SNAT --to-source 37.xxx.xxx.xx3
-A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Sat Oct 15 08:16:15 2016
# Generated by iptables-save v1.4.12 on Sat Oct 15 08:16:15 2016
*mangle
:PREROUTING ACCEPT [22553178:8820318906]
:INPUT ACCEPT [22393625:8793039214]
:FORWARD ACCEPT [22496:9603349]
:OUTPUT ACCEPT [18041763:30883622974]
:POSTROUTING ACCEPT [17798552:30864151058]
COMMIT
# Completed on Sat Oct 15 08:16:15 2016
# Generated by iptables-save v1.4.12 on Sat Oct 15 08:16:15 2016
*filter
:INPUT DROP [5:827]
:FORWARD DROP [54:2710]
:OUTPUT DROP [5:318]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3546 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -s 17x.xxx.xx7.xx9/32 -p tcp -m tcp --dport 32400 -j ACCEPT
-A INPUT -s 17x.xxx.xx7.xx9/32 -p tcp -m tcp --dport 9091 -j ACCEPT
-A INPUT -s 17x.xxx.xx7.xx9/32 -p tcp -m tcp --dport 3000 -j ACCEPT
-A INPUT -s 80.xxx.1x0.xxx/32 -p tcp -m tcp --dport 9091 -j ACCEPT
-A INPUT -s 17x.xxx.xx7.xx9/32 -p tcp -m tcp --dport 1723 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 3546 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A OUTPUT -s 17x.xxx.xx7.xx9/32 -p tcp -m tcp --dport 32400 -j ACCEPT
-A OUTPUT -s 17x.xxx.xx7.xx9/32 -p tcp -m tcp --dport 9091 -j ACCEPT
-A OUTPUT -s 17x.xxx.xx7.xx9/32 -p tcp -m tcp --dport 3000 -j ACCEPT
-A OUTPUT -s 80.xxx.1x0.xxx/32 -p tcp -m tcp --dport 9091 -j ACCEPT
-A OUTPUT -s 17x.xxx.xx7.xx9/32 -p tcp -m tcp --dport 1723 -j ACCEPT
COMMIT
# Completed on Sat Oct 15 08:16:15 2016

voici mon script

#!/bin/sh 

### BEGIN INIT INFO 
# Provides: iptables 
# Required-Start: 
# Should-Start: 
# Required-Stop: 
# Should-Stop: 
# Default-Start: 2 3 4 5 
# Default-Stop: 0 1 6 
# Short-description: iptables 
# Description: Firewall 
### END INIT INFO 


### RAZ 
iptables -t filter -F 
iptables -t filter -X 

### FERMETURE TOTALE PAR DEFAUT 
iptables -t filter -P INPUT DROP 
iptables -t filter -P FORWARD DROP 
iptables -t filter -P OUTPUT DROP 

### MAINTIEN DES CONNEXIONS EXISTANTES 
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 

### AUTORISATION DU LOOPBACK 
iptables -t filter -A INPUT -i lo -j ACCEPT 
iptables -t filter -A OUTPUT -o lo -j ACCEPT 

### AUTORISATION DU PING 
iptables -t filter -A INPUT -p icmp -j ACCEPT 
iptables -t filter -A OUTPUT -p icmp -j ACCEPT 

### AUTORISATIONS LIEES AUX SERVICES 

# SSH port 22 
iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT 
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT 

# SSH port 3546 
iptables -t filter -A OUTPUT -p tcp --dport 3546 -j ACCEPT 
iptables -t filter -A INPUT -p tcp --dport 3546 -j ACCEPT 

# DNS 
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT 
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT 
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT 
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT 

# HTTP 
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT 
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT 

# HTTPS 
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT 
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT 

# FTP 
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT 
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT



# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 



# SSH port WEBTCV sur l'adresse ip de la maison 
iptables -t filter -A OUTPUT -s 17x.xxx.xx7.xx9 -p tcp --dport 32400 -j ACCEPT
iptables -t filter -A INPUT -s 17x.xxx.xx7.xx9 -p tcp --dport 32400 -j ACCEPT

# SSH port Torrent sur l'adresse ip de la maison
iptables -t filter -A OUTPUT -s 17x.xxx.xx7.xx9 -p tcp --dport 9091 -j ACCEPT
iptables -t filter -A INPUT -s 17x.xxx.xx7.xx9 -p tcp --dport 9091 -j ACCEPT

iptables -t filter -A OUTPUT -s 17x.xxx.xx7.xx9 -p tcp --dport 3000 -j ACCEPT
iptables -t filter -A INPUT -s 17x.xxx.xx7.xx9 -p tcp --dport 3000 -j ACCEPT

# SSH port Torrent sur l'adresse ip du téléphone
iptables -t filter -A OUTPUT -s 80.xxx.1x0.xxx -p tcp --dport 9091 -j ACCEPT
iptables -t filter -A INPUT -s 80.xxx.1x0.xxx -p tcp --dport 9091 -j ACCEPT

iptables -t filter -A OUTPUT -s 17x.xxx.xx7.xx9 -p tcp --dport 1723 -j ACCEPT
iptables -t filter -A INPUT -s 17x.xxx.xx7.xx9 -p tcp --dport 1723 -j ACCEPT

si j’ouvre tout sa fonctionn, mais c’est pas le but

#!/bin/sh

### BEGIN INIT INFO
# Provides: iptables
# Required-Start:
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-description: iptables
# Description: Firewall
### END INIT INFO


### RAZ
iptables -t filter -F
iptables -t filter -X

### FERMETURE TOTALE PAR DEFAUT
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT

### MAINTIEN DES CONNEXIONS EXISTANTES
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

### AUTORISATION DU LOOPBACK
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

### AUTORISATION DU PING
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT

### AUTORISATIONS LIEES AUX SERVICES

Un VPN entre quoi et quoi ? Pour quoi faire ?
Internet depuis quelle machine ?
Note : un navigateur web n’est pas un bon outil pour tester un réseau.

Ces règles iptables sont sur quelle machine ?

Sans informations précises ma boule de cristal me souffle qu’il manque peut-être des règles dans FORWARD.

PS : il y a des règles incohérentes qui ont la même adresse source en INPUT et OUTPUT.

entre un serveur dédié et mon PC windows 10

Pour quoi faire ?
mon objectif est de me monter un serveur VPN depuis mon serveur dédié OVH, pour avoir une adresse IP différente de mon FAI depuis la maison ou ma tablette.

Internet depuis quelle machine ?
Depuis la maison, impossible d'afficher la page

Essaie de baliser correctement le citations, le blocs de code et tes propres réponses.

Le dédié doit fonctionner comme un routeur NAT, donc il faut

  • activer le forwarding IP (net.ipv4.ip_forward=1)
  • autoriser les paquets entre l’interface LAN et l’interface PPP
  • modifier l’adresse source des paquets en provenance du VPN sortant par l’interface LAN avec une règle MASQUERADE ou SNAT

je sais pas faire :pensive:, j’ai besoins d’aide (mais je vais regarder sur internet)
activer le forwarding IP (net.ipv4.ip_forward=1) ==> OK

autoriser les paquets entre l’interface LAN et l’interface PPP ==> En cours…

modifier l’adresse source des paquets en provenance du VPN sortant par l’interface LAN avec une règle MASQUERADE ou SNAT ==> J’ai trouver ça iptables -A INPUT -p gre -j ACCEPT

Bonjour fabdunet1313

Juste pour t’informer que je me suis permis d’apporter quelques modifications concernant la mise en forme de ton deuxième message de ce sujet.

J’ai donc ajouté avant et après chaque bloc de lignes de "codes"
une ligne comme ci-dessous, contenant trois ‘backtics’ AltGr+7 :



----------
Pour les citations, tu sélectionne l'extrait du message à citer, 
et tu clique sur le texte qui apparait alors :  **Citer**
L'extrait sélectionné sera automatiquement inséré dans ton message,


Je n'ai modifié que la première citation pour que tu puisse voir ce que ça donne : 
Clique sur la citation, tu comprendra…


----------
Pour éditer tes messages, clique sur le crayon situé en bas à droite du message à modifier.



----------
Bonne journée.

iptables -A FORWARD -i ppp+ -o eth+ -j ACCEPT
Les règles de suivi de connexion déjà en place s’occupent du trafic retour.

Où vois-tu MASQUERADE ou SNAT dans cette règle ? Elle n’a rien à voir, et n’est utile que dans certains cas pour que le VPN PPTP monte. Apparemment tu n’en as pas besoin puisque le VPN monte sans elle.

Tu avais déjà mis des exemples de règle SNAT ou MASQUERADE dans ton premie message. Vérifie que le préfixe source correspond à la plage d’adresses IP interne utilisée par le VPN.

iptables -A FORWARD -i ppp+ -o eth+ -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to xx3.1xx.xxx.1x3 (@ip eth0)

ca ne marche toujours pas

La plage 192.168.0.0/24 est bien celle du VPN (voir config de pptpd) et non du LAN de ton PC ? Pour commencer tu peux tester en supprimant la condition -s sur l’adresse source.

Utilise plutôt MASQUERADE, tu n’auras pas à spécifier la nouvelle adresse source.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Vérifie quand même que l’interface LAN est bien nommée eth0.

J’ai suivit ce tutoriel : http://pazpop.fr/installer-un-serveur-vpn-pptp-sous-gnulinux-debian/
j’ai que l’interface eth0 et ppp0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEça ne marche pas.

si je repart de zero, qu’elle règle je dois entré :

RAZ

iptables -t filter -F
iptables -t filter -X

FERMETURE TOTALE PAR DEFAUT

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

MAINTIEN DES CONNEXIONS EXISTANTES

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

AUTORISATION DU LOOPBACK

iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

AUTORISATION DU PING

iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT

AUTORISATIONS LIEES AUX SERVICES

SSH port 22

iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

DNS

iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT

HTTP

iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT

HTTPS

iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT

FTP

iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT

VPN PPTP

iptables -t filter -A OUTPUT -p tcp --dport 1723 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 1723 -j ACCEPT
ptables -A FORWARD -i ppp+ -o eth+ -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to xx.1xx.1x.xxx(IP ETH0)
iptables -A INPUT -p gre -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Au lieu d’écrire que ça ne marche pas, ce qui n’apporte aucune information utile, décris plutôt comment tu testes (je répète : pas avec un navigateur qui est le pire moyen de test) et ce qui se passe.

iptables -t filter -A OUTPUT -p tcp --dport 1723 -j ACCEPT

Inutile, le dédié est un serveur PPTP, pas un client.
Comprends-tu ce que font ces règles ?

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to xx.1xx.1x.xxx(IP ETH0)

Inutile car redondant avec la règle MASQUERADE.

Tu as écris dans un des premiers messages que ça marchait sans règles iptables. Confirmes-tu ? Je doute que ça puisse marcher sans règles MASQUERADE ou SNAT.

si je tape ça,

RAZ

iptables -t filter -F
iptables -t filter -X

FERMETURE TOTALE PAR DEFAUT

iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT

MAINTIEN DES CONNEXIONS EXISTANTES

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

AUTORISATION DU LOOPBACK

iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

AUTORISATION DU PING

iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT

ça marche, mais j’ai aucune protection.

avec la première règle quand je fait un tracert, le tracert va pas plus loin que le serveur dédié
quand j’ouvre tout, le tracert va au site de destination.

J’ais aucune notion sur IPTABLE je tape tout sans savoir ce que sa fait

Quand tu tapes ça tu n’effaces pas toutes les règles mais seulement celles de la table “filter”, pas celles de la table “nat” qui contient les règles MASQUERADE et SNAT. Tu peux vérifier les règles en place avec iptables-save.

Pour effacer aussi les règles de la table “nat”, il faut cette commande :

iptables -t nat -F

En as-tu vraiment besoin ?

C’est très gênant. Comment sais-tu que tu es bien protégé alors ?

Quel idiot je suis, les règles de suivi de connexion en place ne concernent que les chaînes INPUT et OUTPUT, mais pas la chaîne FORWARD. A ajouter :
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Oui j’ai besoins de cette protection, j’ai deux port qui sont ouvert uniquement sur l’ip de la maison.
la sa marche plus :frowning:
iptables -t nat -F

J’ai taper tout ça sa fonctionne :

iptables -A FORWARD -i ppp+ -o eth+ -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to x.x.x.x
iptables -A INPUT -p gre -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

il y à sans doute des règle inutile, pouvez vous me confirmer que la 3eme et à supprimer ?

Merci de votre aide, vous m’avez trés bien aider

(réponse à l’avant-dernier message)

Sans les sauts de ligne, c’est illisible.

Comme je disais, la règle SNAT/MASQUERADE est indispensable.

iptables - t nat -F
iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

(réponse au dernier message posté entretemps)
Pour voir si une règle est inutile, il suffit de la supprimer et de tester si tout marche encore.
Si la règle SNAT est correcte, la règle MASQUERADE devrait aussi être inutile.

MERCI ça fonctionne

Y a encore du boulot sur d’autres règles qui ne servent à rien.