1

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

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

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

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

1 ответ1

1

Вы должны быть в состоянии использовать 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .