Як переслати запит http на проксі-сервер?


1

У мене є сервер Linux Linux, і мій клієнтський комп'ютер (запуск вікон) здійснює доступ до Інтернету через SSH тунель до сервера.

Тепер з якихось причин цей сервер може отримати доступ до Інтернету через HTTP-проксі з портом 8118 (запущений на іншому сервері). Як результат, клієнтський комп'ютер втратив підключення до Інтернету.

Я намагався перенаправити порт 80 на 8118, додавши правило OUTPUT у таблицю nat (iptables), але це не працює.

Як зробити клієнтський комп'ютер в Інтернеті?

Відповіді:


1

Ви повинні бути в змозі використовувати iptables для цього, але ви, ймовірно, просто хочете переслати всі 80 трафік на проксі з пересилання правила. Спробуйте це:

Спочатку переконайтеся, що переадресація дозволена:

cat /proc/sys/net/ipv4/ip_forward

Вона повинна повернутися 1якщо ні, як кореневий запуск:

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

Тепер потрібно налаштувати правила для таблиці NAT, потрібно переслати правий порт і маскарад.

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

Також потрібно додати правило для пересилання:

 iptables -A FORWARD -p tcp -d [server_ip] --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.