1 votes

Comment transmettre une requête http à un serveur proxy ?

J'ai un serveur Internet Linux et mon ordinateur client (fonctionnant sous Windows) accède à Internet via un tunnel SSH vers le serveur.

Maintenant, pour une raison quelconque, ce serveur ne peut accéder à l'internet que par un proxy http avec le port 8118 (fonctionnant sur un autre serveur). En conséquence, mon ordinateur client a perdu sa connexion Internet.

J'ai essayé de rediriger le port 80 vers 8118 en ajoutant une règle OUTPUT dans la table nat (iptables), mais cela ne fonctionne pas.

Comment mettre mon ordinateur client en ligne ?

2voto

user1794469 Points 306

Vous devriez pouvoir utiliser iptables pour cela, mais vous voudrez probablement transférer tout le trafic 80 vers le proxy à l'aide d'une règle de transfert. Essayez ceci :

Assurez-vous d'abord que le transfert est autorisé :

cat /proc/sys/net/ipv4/ip_forward

Il doit renvoyer 1 Si ce n'est pas le cas, il s'agit d'une course à la racine :

echo 1 > /proc/sys/net/ipv4/ip_forward

Vous devez maintenant définir des règles pour la table NAT, vous devez transférer le bon port et la mascarade.

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination [server_ip]:8118
iptables -t nat -A POSTROUTING -p tcp -d [server_ip] --dport 8118 -j MASQUERADE

Vous devez également ajouter une règle pour le transfert :

 iptables -A FORWARD -p tcp -d [server_ip] --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

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