web-dev-qa-db-ja.com

閲覧にopenvpnを使用する方法

VPNとOpenVPNを始めたばかりです。私が理解しているのは、VPN接続を使用しているときは、サーバーと同じネットワーク上にいるようなものだということです。次に、ローカルアドレス(10.8.x.x)を介してサーバーに接続できるはずです。その隣に、サーバー経由でインターネットを閲覧できるはずです。

私は個人的なもののためにクラウドに自分のサーバーを持っています。好きなように使えます。 Debian 7で動作します。openvpnをインストールし、ラップトップから接続できます。これによりIPアドレスがサーバーのIPアドレスに変更されると思いましたが、ブラウザーでwhatismyip.comを開くと、通常のIPが表示されます。

これはifconfigの出力です:

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    inet 127.0.0.1 netmask 0xff000000
    inet6 ::1 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=27<RXCSUM,TXCSUM,VLAN_MTU,TSO4>
    ether 00:23:df:89:81:82
    media: autoselect
    status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:23:6c:8f:4f:47
    inet6 fe80::223:6cff:fe8f:4f47%en1 prefixlen 64 scopeid 0x5
    inet 192.168.1.22 netmask 0xffffff00 broadcast 192.168.1.255
    media: autoselect
    status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether 02:23:6c:8f:4f:47
    media: autoselect
    status: inactive
tun0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 10.8.0.6 --> 10.8.0.5 netmask 0xffffffff
    open (pid 909)

だから私はここで少し迷っています。ブラウザでプロキシを設定する必要がありますか?もしそうなら、それはブラウザだけです。 VPN経由でのみ接続するようにスイッチを設定する方法はありますか?また、VPNの仕組みを誤解した場合は、説明してください。

3
SPRBRN

OpenVPNを使用する代わりに、SSHトンネリングを使用します。これはうまく機能し、セットアップがはるかに簡単で、暗号化されています。追加のボーナスの1つは、OpenVPNとは異なり、接続が閉じられると、インターネットを閲覧できなくなることです。 OpenVPNを使用すると、接続が閉じられると、自動的に自分のネットワークに戻され、警告なしにブラウジングを続行できます。サーバー上で何も変更する必要はありません。

コンピューターでWindowsを実行している場合:

  1. PuTTYをダウンロードします(まだお持ちでない場合)
  2. カテゴリサイドパネルで、[接続]> [SSH]に移動し、[圧縮を有効にする]をオンにします
  3. カテゴリサイドパネルで、[接続]> [SSH]> [トンネル]に移動し、送信元ポートフィールドに番号を入力します。私は通常3456を使用します。次に、[動的]を選択し、最後に[追加]をクリックします。
  4. カテゴリサイドパネルで、セッションに戻ります。ホスト名フィールドにusername @ hostname(your_usernameをシステム上のユーザー名に置き換え、hostnameをサーバーのドメインまたはIPアドレスに置き換えます)を入力して、セッションを保存します。
  5. [開く]をクリックして、パスワードを入力します。
  6. Firefoxをまだお持ちでない場合は、ダウンロードしてください。
  7. Firefoxで、[Firefox]> [オプション]、[詳細設定]> [ネットワーク]> [設定]の順に移動します。
  8. [手動プロキシ構成]を選択してから、編集可能なすべてのボックスのすべてを削除します。
  9. SOCKSホストとしてlocalhostを入力し、ポートとして3456(または手順3で使用したポート)を入力します。
  10. 開いている両方のFirefox構成ウィンドウでOk)をクリックします。
  11. Firefoxのロケーションバーにabout:configと入力し、Enterキーを押します。注意することをFirefoxに伝えます。
  12. Network.proxy.socks_remote_dnsを検索し、それをダブルクリックしてtrueに設定します。

自宅のコンピューターでLinuxまたはMacOSを実行している場合:

  1. ターミナルを開き、ssh -CD:3456 your_username @ hostnameと入力して(your_usernameをシステム上のユーザー名に、hostnameをサーバーのドメインまたはIPアドレスに置き換えます)、Enterキーを押します。
  2. Firefoxをまだお持ちでない場合は、ダウンロードしてください。
  3. Firefoxで、[編集]> [設定]、[詳細設定]> [ネットワーク]> [設定]の順に移動します。
  4. [手動プロキシ構成]を選択してから、編集可能なすべてのボックスのすべてを削除します。
  5. SOCKSホストとしてlocalhostを入力し、ポートとして3456(または手順3で使用したポート)を入力します。
  6. 開いている両方のFirefox構成ウィンドウでOk)をクリックします。
  7. Firefoxのロケーションバーにabout:configと入力し、Enterキーを押します。注意することをFirefoxに伝えます。
  8. Network.proxy.socks_remote_dnsを検索し、それをダブルクリックしてtrueに設定します。

完了したら、PuTTYまたは端末を閉じ、設定した手動プロキシの代わりにプロキシなしを使用するようにFirefoxを設定します。次回接続するときは、保存したPuTTYセッションを実行するか、コマンドラインコマンドを実行して、手動プロキシ構成オプションを使用するようにFirefoxを設定します。 Firefoxはプロキシ設定を記憶します。

4
Ian

(私が例を挙げた場合、それらは最小限であり、それらがどのように機能するかを理解し、それらを肉付けする必要があります。また、これらの手順は永続的ではないため、少なくとも再起動できます何か愚かなことをしたら問題を解決するためです。)複雑さ、速度の低下、カーブボールの問題があるため、この性質のプロキシが常時オンのソリューションとして適しているとは思いません。

プロキシを設定する必要はありません。確認する必要があるのは、OpenVPNサーバーがOpenVPNサーバーを介してデフォルトルートを提供することです(そして、より低いメトリックでそれが優先されます)。

「redirect-gatewayXXXXdef1」をプッシュします

10.xxxはグローバルにルーティングされないため、OpenVPNサーバーにNAT接続して、サーバーのIPアドレスを共有するように指示する必要があります。これを行うには、コマンド(サーバー上)

 iptables -t NAT -A POSTROUTING -o ethX -j MASQUERADE 

OpenVPN経由で確実に接続したい場合は、VPNクライアントにファイアウォールを設定して、通常のインターフェイス経由でトラフィックが送信されないようにします(OpenVPNサーバーへのトラフィックを除く)。

 iptables -I INPUT -j DROP 
 iptables -I INPUT -s SERVER.IP -j ACCEPT 
1
davidgo