現在、すべてのインターネットユーザーはVPSを購入し、リモートサーバーを使用して、たとえば、独自のWebサイトをホストしたり、DNSサーバーを整理したりできます。 この投稿では、VPSの非標準的な使用方法について説明します。個人の匿名プロキシサーバーを作成し、既存のサービスへのバックアップアクセスを提供する方法です。
ソースデータ:
- ヨーロッパのVPS(OS FreeBSD8.3)と白いIP(yyy.yyy.yyy.yyy)
- 白いip(xxx.xxx.xxx.xxx)を使用したロシアのインターネットゲートウェイ(OS FreeBSD8.1)
- サーバー(HTTP-SERVER、HTTPS-SERVER、PROXY-SERVER)を備えたゲートウェイの背後のLAN
匿名プロキシサーバーを介したインターネットリソースへのアクセス
クライアント--->インターネットゲートウェイ(PF)--rdr->ローカルプロキシサーバー(SQUID)--vpn-> VPSプロキシサーバー(SQUID)--->インターネット
インターネットゲートウェイ上のPFファイアウォール
特定のリソースへの匿名アクセスのために、PF IPアドレスの特別なテーブルを作成します。
table <anonymous> persist file "/etc/pf/iplists/anonymsites.txt"
このスキームでは、クライアントは透過プロキシを使用するため、PFではリダイレクトを作成する必要があります。
$ext_ip="xxx.xxx.xxx.xxx" $int_if=" " rdr on $int_if proto tcp from $clients to <anonymous> port 80 -> $ext_ip port 3129 rdr on $int_if proto tcp from $clients to <anonymous> port 443 -> $ext_ip port 3129
ポート80、443上のクライアントからのトラフィックを、ローカルプロキシサーバー(ポート3129)を介して特定のリソースにリダイレクトします。
ローカルプロキシサーバーSQUID
ローカルネットワークのプロキシとして、次のディレクティブを標準のSQUID2.7構成に導入する必要があります。
http_port 3129
OpenVPNトンネル
openvpnサーバー(10.10.10.1)をゲートウェイにインストールし、クライアントをVPS(10.10.10.250)にインストールすることにより、インターネットゲートウェイとVPSの間にvpnトンネルを作成します。
VPSプロキシサーバーSQUID
匿名アクセスを使用したSQUID2.7標準構成。
http_port 3128
外部からサーバー(HTTP、HTTP)へのバックアップアクセス
インターネット---> VPS(PF)--vpn + stunnel->インターネットゲートウェイ(PF)--->ローカルサーバー(HTTP、HTTPs)
VPS上のPFファイアウォール
VPSのPFファイアウォールにリダイレクトを追加します。
$ext_if=" " rdr on $ext_if proto tcp from any to $ext_if port 80 -> 127.0.0.1 port 8180 rdr on $ext_if proto tcp from any to $ext_if port 443 -> 127.0.0.1 port 4443
インターネットゲートウェイの背後のWebサーバー宛てのトラフィックを、Stunnelが実行されているポート8180および4443のローカルループアドレスにリダイレクトします。
トンネルトンネル
もちろん、Stunnelを使用せずに、単純に静的ルートとPFのポート転送をローカルサーバーに追加することもできましたが、実験することにしました。 この場合、Stunnelは外部トラフィックをローカルWebサーバー(192.168.XXX.YYY)にプロキシするために必要です。 VPSおよびインターネットゲートウェイのトンネル構成:
そのため、追加のホワイトIPを介してサービスへのバックアップアクセスを提供できます。 たとえば、DNSのドメイン
example.com
はメインの外部IPにマッピングでき、サブドメインは
www.example.com
www.example.com
(多くの場合、メインのエイリアス)-リモートVPSのIP。