Rediriger port 80 sur une deuxième interface

Bonjour à tous,
je dispose d’un pc avec deux carte réseau. Une est branchée sur le réseau de la maison, aucun problème.
Je voudrais relier la deuxième à un routeur 4g et faire passer tout le traffic web du pc (ports 80 et 443) sur cette interface.

Niveau ip j’ai ça
eth0 ( routeur 4g) : 192.168.1.127, passerelle :192.168.1.1
eth1 (reseau de la maison) : 192.168.1.12 , passerelle : 192.168.1.1

Si je partais sur des ip en 192.168.0.x sur linterface eth0 ça simplifierais peut être les choses… à vous de me dire

MErci d’avance au personnes qui pourront me donner un coup de main

Ce serait surtout plus propre et plus logique puisque ce sont deux réseaux distincts, mais ça ne simplifierait pas forcément les choses.

De toute façon pour router différemment des flux en fonction du protocole et du port, il va falloir faire du routage avancé basé sur le marquage des paquets par iptables.

Principe de base :

  • marquage des paquets :
    iptables -t mangle -A OUTPUT -p tcp -m multiport --dports 80,443 -j MARK --set-mark 1

  • routage des paquets marqués par une table de routage spécifique :
    ip rule add fwmark 1 table 100

  • peuplement de la table de routage spécifique :
    ip route add default via 192.168.1.1 dev eth0 table 100

ça a l’air de fonctionner.
Merci beaucoup, je peux enfin regarder youtube en HD :smiley:

Quelques remarques.

  • Si la route par défaut est sur eth1 (réseau maison), ça ne marche tel quel que parce que les deux réseaux utilisent la même plage d’adresses (ce qui est normalement une erreur de configuration et ne fonctionnerait pas sans routage avancé). En effet les paquets HTTP sont d’abord routés vers le réseau maison, avec l’adresse IP source d’eth1, puis reroutés vers le routeur 4G suite au marquage par iptables, mais cela ne modifie pas l’adresse IP source des paquets qui reste celle d’eth1 et non celle de l’interface de sortie eth0. Comme l’adresse IP d’eth1 est néanmoins dans le même sous-réseau IP que celui configuré sur le routeur 4G, la communication avec ce dernier fonctionne. Avec des sous-réseaux IP différents il aurait fallu en plus modifier l’adresse source des paquets émis sortant par eth0 avec une règle iptables SNAT ou MASQUERADE.
  • A cause de l’utilisation des mêmes adresses IP sur les deux réseaux, il y a une chance sur deux que les autres machines du réseau maison ne soient pas accessible parce que le PC n’a aucun moyen de savoir quelle interface est la bonne.
  • L’établissement des connexions HTTP nécessite des résolutions DNS qui ne passent pas par le routeur 4G mais par la connexion internet du réseau maison. Si cette connexion est HS, la navigation par la liaison 4G ne pourra avoir lieu. L’utilisation de la 4G est donc dépendante de l’état de l’autre connexion internet.
  • N’est-il pas possible de router tout le trafic internet de ce PC par la connexion 4G ? C’est beaucoup plus simple à mettre en place puisqu’il suffit de modifier la route par défaut, sans nécessiter de routage avancé.
  • Alors aucun problème pour acceder aux autres pc de la maison, mon nas sous openindiana est joignable sans problème.

  • Pour le dns, il y a deux connections adsl sur le reseaux de la maison, donc pas de probleme (je suis en pleine campagne et les débits sont déplorables, 3 méga avec adsl free, avec la 4g et une antenne directrice je suis à plus de 20mega).

  • Je ne veux pas que tout le traffic internet passe par la 4g car il y a quelques restrictions d’utilisations en 4g, notamment la limite du nomnre de connections tcp