3 votes

Comment router somehost vers un autre hôte avec un certain port sur linux ?

Dire que je veux rediriger toutes les requêtes vers google.com vers localhost:333, comment faire?

3voto

RJFalconer Points 10099

Shorewall routes. (FAQ)

Vous voulez rediriger toutes les demandes de connexion locales à google.com vers un serveur tournant dans votre zone locale à l'adresse 127.0.0.1 et écoutant sur le port 333. Votre interface locale est eth1.

Avertissement ; Je n'ai pas fait exactement cela avec Shorewall, j'ai donc modifié un exemple de configuration de serveur Squid :

  1. Ajoutez cette entrée à votre fichier /etc/shorewall/providers.

    #NAME   NUMBER  MARK    DUPLICATE       INTERFACE       GATEWAY         OPTIONS
    foo     1       202     -               eth1            127.0.0.1     loose
  2. Dans /etc/shorewall/tcrules ajoutez :

    #MARK    SOURCE              DEST        PROTO    DEST
    #                                                 PORT(S)
    202:P    net:google.com   0.0.0.0/0   tcp      80
  3. Dans /etc/shorewall/interfaces :

    #ZONE   INTERFACE    BROADCAST    OPTIONS
    loc     eth1         detect       routeback          
  4. Sur l'ordinateur local, faites en sorte que la commande suivante soit exécutée après la mise en réseau

    iptables -t nat -A PREROUTING -i eth0 -d ! 127.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 333

1voto

RJFalconer Points 10099

Si vous souhaitez simplement faire cela sur une seule machine, vous pouvez modifier :

/etc/hosts

et ajouter

google.com 127.0.0.1

puis redémarrer les services réseau

/etc/rc.d/init.d/network restart

Cela redirigerait cependant le trafic web normal vers localhost:80.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X