インターネットLinuxサーバーがあり、クライアントコンピューター(実行中のWindows)はサーバーへのSSHトンネルを介してインターネットにアクセスします。
現在、何らかの理由で、このサーバーはポート8118(別のサーバーで実行)のhttpプロキシによってのみインターネットにアクセスできます。その結果、クライアントコンピューターのインターネット接続が失われました。
OUTPUTルールをnatテーブル(iptables)に追加して、ポート80を8118にリダイレクトしようとしましたが、機能しません。
クライアントコンピュータをオンラインにする方法は?
これには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