web-dev-qa-db-ja.com

httpリクエストをプロキシサーバーに転送する方法は?

インターネットLinuxサーバーがあり、クライアントコンピューター(実行中のWindows)はサーバーへのSSHトンネルを介してインターネットにアクセスします。

現在、何らかの理由で、このサーバーはポート8118(別のサーバーで実行)のhttpプロキシによってのみインターネットにアクセスできます。その結果、クライアントコンピューターのインターネット接続が失われました。

OUTPUTルールをnatテーブル(iptables)に追加して、ポート80を8118にリダイレクトしようとしましたが、機能しません。

クライアントコンピュータをオンラインにする方法は?

1
Devymex

これには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
2
user1794469