maintenant je veux que tout le réseau local passe par mon serveur pour se connecter à internet
après une petite recherche sur internet je trouve que c'est impossible de faire un proxy transparent au cas où le proxy gère l'authentification c'est qui est mon cas
bon je n'ai pas une grande connaissance en réseau,je veux vous montrer ce que j'ai fait pour mettre en place le routage
j'ai un fichier /etc/iptables.up.rules par défaut qui correspont à ça
- Code: Tout sélectionner
# Generated by iptables-save v1.4.2 on Wed Mar 17 15:16:13 2010
*nat
:PREROUTING ACCEPT [1:78]
:POSTROUTING ACCEPT [4:980]
:OUTPUT ACCEPT [4:980]
COMMIT
# Completed on Wed Mar 17 15:16:13 2010
# Generated by iptables-save v1.4.2 on Wed Mar 17 15:16:13 2010
*mangle
:PREROUTING ACCEPT [100:16748]
:INPUT ACCEPT [100:16748]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [98:16592]
:POSTROUTING ACCEPT [98:16592]
COMMIT
# Completed on Wed Mar 17 15:16:13 2010
# Generated by iptables-save v1.4.2 on Wed Mar 17 15:16:13 2010
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Wed Mar 17 15:16:13 2010
'ai deux interfaces réseau
wlan0 connecté à internet et eth0 connecté au réseau local je veux que eth0 partage la connexion de eth0
je veux rédiriger toutes le réquetes sortant du local vers le serveur squid qui les redirigera vers internet je veux pas d'accés direct des utilisateurs au local.
C'est pour cela jai remplacé le contenue de /etc/iptables.up.rules par ceci:
- Code: Tout sélectionner
# Generated by iptables-save v1.4.2 on Wed Mar 17 15:16:13 2010
*nat
# set this system as a router for Rest of LAN
--append POSTROUTING --out-interface wlan0 -j MASQUERADE
--append FORWARD --in-interface eth0 -j ACCEPT
# unlimited access to LAN
-A INPUT -i eth0 -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
# DNAT port 80 request comming from LAN systems to squid 8080 ($SQUID_PORT) aka transparent proxy
-A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT --to 127.0.0.1:8080
# if it is same system
-A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 8080
# DROP everything and Log it
-A INPUT -j LOG
-A INPUT -j DROP
COMMIT
# Completed on Wed Mar 17 15:16:13 2010
# Generated by iptables-save v1.4.2 on Wed Mar 17 15:16:13 2010
*mangle
:PREROUTING ACCEPT [100:16748]
:INPUT ACCEPT [100:16748]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [98:16592]
:POSTROUTING ACCEPT [98:16592]
COMMIT
# Completed on Wed Mar 17 15:16:13 2010
# Generated by iptables-save v1.4.2 on Wed Mar 17 15:16:13 2010
*filter
#13 Politiques par défaut #
#Les politiques par défaut déterminent le devenir d'un paquet auquel
# aucune règle spécifique ne s'applique.
# Les connexions entrantes sont bloquées par défaut
-P INPUT DROP
#Les connexions destinées à être routées sont acceptées par défaut
-P FORWARD ACCEPT
#Les connexions sortantes sont acceptées par défaut
-P OUTPUT ACCEPT
# Règles de filtrage #
# Nous précisons ici des règles spécifiques pour les paquets vérifiant
#certaines conditions.
# Pas de filtrage sur l'interface de "loopback"
-A INPUT -i lo -j ACCEPT
#Accepter le protocole ICMP (notamment le ping)
-A INPUT -p icmp -j ACCEPT
#Accepter le protocole IGMP (pour le multicast)
-A INPUT -p igmp -j ACCEPT
# Allow UDP, DNS and Passive FTP
-A INPUT -i wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
COMMIT
# Completed on Wed Mar 17 15:16:13 2010
Puis j'ai activé la fonction de transfert IP du noyau, en modifiant ainsi le fichier /etc/sysctl.conf :
- Code: Tout sélectionner
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.conf.default.forwarding=1
# Uncomment the next line to enable packet forwarding for IPv6
net.ipv6.conf.default.forwarding=1
jai tapé
- Code: Tout sélectionner
# sysctl -p
pour appliquer ces parametres
en tapant
- Code: Tout sélectionner
# iptables-restore < /etc/iptables.up.rules
il me gènère une erreur dans chaque ligne ayant comme input eth0 comme
"--append FORWARD --in-interface eth0 -j ACCEPT"
je sais que ça peut etre bete mais...
quelqu'un pour m'aider svp