Aide Routage Iptables

Salut à tous,

Je suis en train de créer un point d’accès wifi qui redirige mes connexions wifi (donc wlan0) vers un tunnel ssh opérationnel, ce tunnel qui écoute sur le port 1080 me permet de passer au travers d’un proxy HTTP, le tunnel ressort sur un serveur debian qui se charge d’aller sur internet.

La partie point accès wifi fonctionne aussi, j’ai installé un dhcp.
Actuellement tout le trafic est redirigé vers l’interface Ethernet du pc (sans passer par le tunnel SSH, je passe par une autre passerelle pour mes tests) et internet fonctionne.

Le tunnel est opérationnel, quand je teste avec Iceweasel en indiquant un proxy socks sur 127.0.0.1:1080, j’ai accès à internet.

Il me reste une étape, c’est celle de rediriger le trafic venant de l’interface wifi dans le tunnel SSH.
J’ai essayé de configurer iptables pour cela, mais cela ne fonctionne pas.

Avez vous des idées.

Merci

Comment établis-tu ce “tunnel SSH” ? J’ai l’impression que c’est plutôt une émulation de proxy SOCKS (option -D de ssh).

Oui effectivement c’est avec l’option D de ssh

Ce n’est pas un tunnel ethernet ou IP, cela ne crée pas d’interface tun/tap et tu ne peux pas faire de routage avec ça. Pour l’utiliser, les postes connectés au point d’accès wifi devraient faire ce que tu as fait en local : modifier les réglages de proxy du navigateur.

Si tu veux pouvoir faire du vrai routage, il faut mettre en place un vrai tunnel IP ou un VPN IP (“routé”) ou ethernet (“ponté”) entre le point d’accès wifi et le serveur. Tu peux utiliser l’option -w de ssh, openvpn… du moment que ça passe à travers le proxy HTTP mentionné dans ton message initial. Sache néanmoins que toute solution basée sur un transport TCP risque d’avoir de piètres performances à cause des contraintes inhérentes à TCP (retransmission, réordonnement…) qui n’ont pas vocation à s’appliquer à un lien réseau ethernet ou IP.

D’accord, en fait, si j’ai bien compris, il n’est pas possible de router le trafic venant de mon interface sans fil vers un port local de la machine qui me sert de point d’accès?

Tu peux rediriger les connexions TCP vers un port local avec la cible REDIRECT d’iptables, mais cela ne rime à rien. Le processus ssh attaché au port local attend qu’on lui cause SOCKS alors que la source de la connexion cause HTTP (si c’est un navigateur) ou autre. Et je ne parle pas du trafic non TCP comme les requêtes DNS.

OK, merci pour les infos, j’y vois plus clair.
C’est vrai qu’après j’y ai pensé.
Du coup pour essayer d’obtenir quelque chose qui fonctionne, il faut que je modifies les réglages sur le navigateur des clients comme tu l’a cité plus haut.