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


1

У меня есть Интернет-сервер Linux, и мой клиентский компьютер (под управлением Windows) получает доступ в Интернет через SSH-туннель к серверу.

Теперь по какой-то причине этот сервер может получить доступ к Интернету только через http-прокси с портом 8118 (работает на другом сервере). В результате мой клиентский компьютер потерял подключение к Интернету.

Я попытался перенаправить порт 80 на 8118, добавив правило OUTPUT в таблицу nat (iptables), но оно не работает.

Как сделать мой клиентский компьютер онлайн?

Ответы:


2

Вы должны быть в состоянии использовать iptables для этого, но вы, вероятно, просто хотите перенаправить весь трафик 80 на прокси с правилом пересылки. Попробуй это:

Сначала убедитесь, что пересылка разрешена:

cat /proc/sys/net/ipv4/ip_forward

Должен вернуться 1, если нет, в качестве запуска root:

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.