Pages : 1
#1 Le 19/09/2009, à 03:53
- elicoidal
Configuration iptables et vpn/ppp0 sur un réseau WIFI
Bonjour,
J'ai cherché beaucoup de scripts sur Internet pour configurer iptables selon mes besoins mais je suis maintenant bloqué sans issue.
Mon réseau est composé de 3 laptops, 2 sous linux (PC1 et PC2), le 3eme sous XP, tous en WIFI, sur le même réseau (192.168.1.101/102/103), le tout derrière un routeur WIFI.
J'ai acheté un service de vpn internet que je lance sur la machine 192.168.1.102. J'obtiens donc une interface ppp0 avec une adresse IP donné par le serveur VPN.
Je veux partager ma connection VPN de PC2 avec PC1 et PC3 au travers de iptables. C'est-à-dire pour la machine 2 principalement faire le forward de wlan0 vers ppp0.
Je configure l'adresse 192.168.1.102 sur Firefox comme proxy server.
Voilà le script que j'ai construit après mes recherches sur internet:
#!/bin/sh
# Where to find iptables binary
IPT="/sbin/iptables"
# The network interface you will use
WAN="ppp0"
LAN="wlan0"
# First we need to clear up any existing firewall rules
# and chain which might have been created
$IPT -F
$IPT -F INPUT
$IPT -F OUTPUT
$IPT -F FORWARD
$IPT -F -t mangle
$IPT -F -t nat
$IPT -X
# Default policies: Drop any incoming packets
# accept the rest.
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
# To be able to forward traffic from your LAN
# to the Internet, we need to tell the kernel
# to allow ip forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Allow Established Connections
#
$IPT -A FORWARD -i $WAN -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT
# Accept related and established connections
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Allow Outgoing to the Internet
$IPT -A FORWARD -i $LAN -o $WAN -j ACCEPT
# Accept any connections from the local machine
$IPT -A INPUT -i lo -j ACCEPT
# Always Accept LAN Traffic from our Network
# We might remove this later, so we can restrict outgoing traffic..
$IPT -A INPUT -i $LAN -j ACCEPT
# Masquerading will make machines from the LAN
# look like if they were the router
$IPT -t nat -A POSTROUTING -o $WAN -j MASQUERADE
Ca "devrait marcher" et ça ne marche pas... En fait les PC qui se connectent donnent l'impression de se connecter mais restent avec le message "connecting to...", comme s'il n'y avait pas de retour.
Quelqu'un a-t-il une idée?
Merci de votre aide.
Eric
Hors ligne
#2 Le 30/09/2009, à 10:13
- elicoidal
Re : Configuration iptables et vpn/ppp0 sur un réseau WIFI
up!
Hors ligne
#3 Le 30/09/2009, à 15:14
- _Raum_
Re : Configuration iptables et vpn/ppp0 sur un réseau WIFI
Bin ça me parait normal
Reprenons.... pour que ton PC1 puisse aller sur Internet, quelle devrait être sa passerelle ?
Dernière modification par _Raum_ (Le 30/09/2009, à 15:14)
Hors ligne
#4 Le 30/09/2009, à 16:03
- elicoidal
Re : Configuration iptables et vpn/ppp0 sur un réseau WIFI
Je suis persuadé en effet que cela doit être un cas d'école mais là j'ai calé justement ;-).
Pour moi la passerelle est le PC sur lequel est lancé le VPN puisque c'est lui qui doit gérer les paquets pour les autres et les orienter vers/depuis la connexion ppp0.
C'est pour cette raison que je configure 192.168.1.102 comme passerelle sur mes pc satellites.
Hors ligne
#5 Le 30/09/2009, à 16:37
- _Raum_
Re : Configuration iptables et vpn/ppp0 sur un réseau WIFI
Ehm... en fait plus en y réfléchissant, plus je me pose des questions...
Donc sur PC2, tu as une interface WLAN0 qui a pour adresse 192.168.1.101, une interface ppp0 qui a une adresse publique (probablement).
Ton PC1 a pour passerelle 192.168.1.101.
Donc pour commencer, est ce que ton PC1 arriver à se connecter sur ton PC2 ? (un ping ? un ssh ?) En effet, ils ont beau être dans le même domaine Wifi, ils sont associés à une borne qui leur sert de media.
$IPT -A INPUT -i $LAN -j ACCEPT
Normalement cette ligne doit autoriser PC1 à arriver via l'interface WLAN0 sur PC2. Si tu lances un "tcpdump -i wlan0", et que tu lances un ping ou autre chose.... tu devrais voir les paquets arriver, non ?
Ensuite qu'elle est la route par défaut de ton PC2 ? est-ce que c'est ppp0 ?
C'est parce que la route par défaut doit être ppp0 que la règle de SNAT (NAT Postrouting, source nat, on change l'adresse source de la trame IP) s'applique.
Que te donne un "tcpdump -i ppp0" ? vois tu les trames qui arrivent en wlan0 repartir par ppp0 ? (je pense que cela devrait fonctionner...)
Le ping à faire c'est un ping du genre "ping 74.125.39.99" qui est l'adresse d'un des serveurs de google.
Ensuite tu peux revérifier les confs DNS...
Hors ligne
#6 Le 30/09/2009, à 19:12
- elicoidal
Re : Configuration iptables et vpn/ppp0 sur un réseau WIFI
Salut,
Merci de ton aide sur ce sujet.
Je réponds à la suite: 192.168.1.102 est l'IP de mon PC2. Je ne les vois pas en ping ou SSH, quand le script IPtables est lancé.
Le PC1 a pour passerelle 192.168.1.102 (IP de PC2). J'ai fait un dump de wlan0 (en voilà une partie):
01:02:50.251807 IP (tos 0x0, ttl 64, id 36225, offset 0, flags [none], proto UDP (17), length 75) 192.168.1.102.31837 > d.iana-servers.org.domain: 9468% [1au] AAAA? a.iana-servers.net. (47)
01:02:50.251901 IP (tos 0x0, ttl 48, id 0, offset 0, flags [DF], proto UDP (17), length 224) a.gtld-servers.net.domain > 192.168.1.102.55253: 31393- 0/5/4 (196)
01:02:50.253420 IP (tos 0x0, ttl 64, id 36226, offset 0, flags [none], proto UDP (17), length 75) 192.168.1.102.2325 > d.iana-servers.org.domain: 6397% [1au] AAAA? d.iana-servers.net. (47)
01:02:50.339106 IP (tos 0x0, ttl 49, id 0, offset 0, flags [DF], proto UDP (17), length 345) b.iana-servers.net.domain > 192.168.1.102.51812: 56466*- 1/5/8 blackhole-1.iana.org. (317)
01:02:50.340806 IP (tos 0x0, ttl 64, id 19070, offset 0, flags [none], proto UDP (17), length 83) 192.168.1.102.7943 > blackhole-1.iana.org.domain: 42956 [1au] PTR? 102.1.168.192.in-addr.arpa. (55)
01:02:50.356568 IP (tos 0x0, ttl 49, id 0, offset 0, flags [DF], proto UDP (17), length 135) b.iana-servers.net.domain > 192.168.1.102.57912: 11582*- 0/1/1 (107)
01:02:50.359472 IP (tos 0x0, ttl 49, id 0, offset 0, flags [DF], proto UDP (17), length 345) b.iana-servers.net.domain > 192.168.1.102.51447: 12410*- 1/5/8 blackhole-2.iana.org. (317)
01:02:50.360429 IP (tos 0x0, ttl 49, id 0, offset 0, flags [DF], proto UDP (17), length 135) b.iana-servers.net.domain > 192.168.1.102.16962: 33463*- 0/1/1 (107)
01:02:50.396307 IP (tos 0x0, ttl 53, id 0, offset 0, flags [DF], proto UDP (17), length 312) d.iana-servers.org.domain > 192.168.1.102.50909: 28341*- 1/5/7 c.iana-servers.net. AAAA[|domain]
01:02:50.402389 IP (tos 0x0, ttl 53, id 0, offset 0, flags [DF], proto UDP (17), length 136) d.iana-servers.org.domain > 192.168.1.102.31837: 9468*- 0/1/1 (108)
01:02:50.405693 IP (tos 0x0, ttl 53, id 0, offset 0, flags [DF], proto UDP (17), length 312) d.iana-servers.org.domain > 192.168.1.102.2325: 6397*- 1/5/7 d.iana-servers.net. AAAA[|domain]
01:02:50.616144 IP (tos 0x0, ttl 46, id 0, offset 0, flags [DF], proto UDP (17), length 160) blackhole-1.iana.org.domain > 192.168.1.102.7943: 42956 NXDomain* 0/1/1 (132)
01:02:50.766981 IP (tos 0x0, ttl 255, id 0, offset 0, flags [DF], proto UDP (17), length 72) 192.168.1.102.mdns > 224.0.0.251.mdns: 0 PTR (QM)? 102.1.168.192.in-addr.arpa. (44)
01:02:51.218972 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84) eric-laptop > 192.168.1.102: ICMP echo request, id 55840, seq 722, length 64
01:02:51.769973 IP (tos 0x0, ttl 255, id 0, offset 0, flags [DF], proto UDP (17), length 72) 192.168.1.102.mdns > 224.0.0.251.mdns: 0 PTR (QM)? 102.1.168.192.in-addr.arpa. (44)
01:02:52.178055 00:1d:0f:4d:8b:90 (oui Unknown) Unknown SSAP 0x12 > 00:1d:e0:0b:38:29 (oui Unknown) Unknown DSAP 0x58 Information, send seq 44, rcv seq 0, Flags [Response], length 62
01:02:52.218694 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84) eric-laptop > 192.168.1.102: ICMP echo request, id 55840, seq 723, length 64
01:02:52.576398 00:1d:0f:4d:8b:90 (oui Unknown) Unknown SSAP 0x12 > 00:1d:e0:0b:38:29 (oui Unknown) Unknown DSAP 0x58 Information, send seq 44, rcv seq 0, Flags [Response], length 64
01:02:53.122513 arp who-has 192.168.1.1 tell 192.168.1.102
Je vois bien les paquet qui arrive de eric-laptop (PC1) et du routeurs 192.168.1.1. Par contre je ne sais pas bien analyser les paquets (test de connexion à www.google.com).
Concernant la route, je ne comprends pas très bien ta question. le PC2 n'a qu'une interface WIFI. J'ai cependant fait des tests avec un cable eth0 et j'ai eu le même résultat.
Dump from ppp0 est beaucoup moins touffu (test de connexion à www.google.com au travers de firefox), ce qui me fait penser que les paquets ne sont pas retransmis.
01:04:06.007909 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 76) 192.168.1.102.ntp > europium.canonical.com.ntp: NTPv4, length 48
Client, Leap indicator: clock unsynchronized (192), Stratum 0, poll 6s, precision -20
Root Delay: 0.000000, Root dispersion: 0.003067, Reference-ID: (unspec)
Reference Timestamp: 0.000000000
Originator Timestamp: 3463318980.278529555 (2009/10/01 01:03:00)
Receive Timestamp: 3463318980.581255798 (2009/10/01 01:03:00)
Transmit Timestamp: 3463319046.007778923 (2009/10/01 01:04:06)
Originator - Receive Timestamp: +0.302726243
Originator - Transmit Timestamp: +65.729249367
01:04:06.010808 IP (tos 0x0, ttl 64, id 36779, offset 0, flags [DF], proto UDP (17), length 70) vpn-cust-214-0-22.witopia.net.48129 > 10.118.0.1.domain: 29777+ PTR? 4.94.189.91.in-addr.arpa. (42)
Concernant les conf DNS, les 2 PCs pouvant se connecter à internet indépendamment sans problème sans iptables, je ne vois pas trop ou chercher.
Je serai absent quelques jours... mais merci de ta réponse : j'y répondrai à mon retour
Hors ligne
Pages : 1