コンピューター ウィンドウズ インターネット

LinuxでVPN接続を設定します。 LinuxチュートリアルでVPN接続を構成してubuntuでVPNサーバーを構成する

コンピュータを扱ったことがない人だけがいない限り、VPNという略語は聞こえなくなりました。 それは何ですか、なぜそれが必要なのですか、そしてそれを自分で設定する方法は?

VPNとは何ですか?なぜそれが必要なのですか?

VPN(仮想プライベートネットワーク)は、仮想プライベートネットワークであり、物理的に互いにある程度の距離にある複数のコンピューターを1つの論理ネットワークに結合する方法です。

VPNは、仕事やゲーム用のネットワークの編成からインターネットへのアクセスまで、さまざまな目的に使用できます。 そうすることで、あなたはあなたの行動に対して可能な法的責任を理解しなければなりません。

ロシアでは、意図的に違法な目的で使用する場合を除いて、VPNの使用は罰せられる行為ではありません。 つまり、隣国(ソマリアなど)の大統領のウェブサイトにアクセスして、彼の悪さを書き、IPアドレスを隠したい場合、これ自体は違反ではありません(ただし、声明は法律に違反していません)..。 しかし、ロシアで禁止されているリソースにアクセスするためにこのテクノロジーを使用することは違法です。

つまり、ネットワークを介して友人と遊んだり、VPNを使用して組織のネットワークでリモートで作業したりすることはできますが、あらゆる種類の不正なサイトを読み取ることはできません。 これで整理しました。 それでは、セットアップに直接進みましょう。

UbuntuLinuxでのサーバー側のセットアップ

サーバー側では、Linuxを使用することをお勧めします。この点で、Linuxを使用する方が簡単です。 最も簡単なオプションはPPTPです。 クライアントコンピューターに証明書をインストールする必要はありません、認証が実行されます ユーザー名とパスワードで..。 使用します。

まず、必要なパッケージをインストールします。

Sudo nano /etc/pptpd.conf

100を超える同時接続が必要な場合は、「connections」パラメーターを探し、コメントを外して、目的の値を指定します。次に例を示します。

接続200

仮想ネットワークを介してブロードキャストパケットを送信する必要がある場合は、bcrelayパラメータもコメント解除されていることを確認する必要があります。

Bcrelay eth1

その後、ファイルの最後に移動し、アドレス設定を追加します。

Localip 10.10.10.1 remoteip10.10.10.2-254リッスン11.22.33.44

最初のパラメーターはローカルネットワーク内のサーバーのIPアドレスを指定し、2番目のパラメーターはクライアントに発行されるIPアドレスの範囲を指定します(範囲は指定された数の接続の可能性を提供する必要があります。余裕を持ってアドレスを割り当てることをお勧めします) 、3番目は、着信接続を受信するためにインターフェイスをリッスンする外部アドレスを指定します。 つまり、外部アドレスが複数ある場合は、1つしか聞くことができません。 3番目のパラメーターが指定されていない場合、使用可能なすべての外部アドレスがリッスンされます。

ファイルを保存して閉じます。 / etc / ppp / pptpd-optionsファイルで追加の微調整設定を指定します。

Sudo nano / etc / ppp / pptpd-オプション

まず、古くて安全でない認証方法の使用を禁止するコメントのない行があることを確認します。

Refuse-pap refuse-chap refuse-mschap

また、proxyarpオプションが有効になっていること(対応する行のコメントが解除されていること)を確認し、さらに、1人のユーザーの複数の接続を許可または禁止するには、ロックオプションにコメント(有効)またはコメント解除(無効)します。

また、ファイルを保存して閉じます。 ユーザーを作成することは残っています:

Sudo nano / etc / ppp / chap-シークレット

VPNユーザーごとに1行が割り当てられ、名前、リモートアドレス、パスワード、ローカルアドレスが順番に示されます(区切り文字-スペース)。

ユーザーが外部静的IPを持っていて、それだけが使用される場合はリモートアドレスを指定できます。それ以外の場合は、接続を正確に受け入れることができるようにアスタリスクを指定することをお勧めします。 ユーザーに仮想ネットワークで同じIPアドレスを割り当てる場合は、ローカルを指定する必要があります。 例えば:

User1 * password1 * user2 11.22.33.44 password2 * user3 * password3 10.10.10.10

user1の場合、接続は任意の外部アドレスから受け入れられ、ローカルアドレスには最初に使用可能なアドレスが割り当てられます。 user2の場合、最初に使用可能なローカルアドレスが割り当てられますが、接続は11.22.33.44からのみ受け入れられます。 user3の場合、接続はどこからでも受け入れられますが、ローカルアドレスには常に10.10.10.10が割り当てられ、これは彼のために予約されています。

これでVPNサーバーの構成が完了し、再起動します(Linuxではコンピューターを再起動する必要はありません)。

Sudoサービスpptpd再起動

VPNクライアントの構成

クライアント部分は任意のオペレーティングシステム用に構成できます。例として使用します Ubuntu Linux 16.04.

クライアントコンピューターでネットワーク接続を開きます(スクリーンショットはUbuntu + Cinnamonの場合、GNOMEの場合も同じように実行され、Kubuntuでは問題が発生しないように見えます)。 [追加]ボタンをクリックして、PPTP接続を選択します。

VPN接続の名前は標準のままにすることも、便利でわかりやすい名前を指定することもできます。これは好みの問題です。 「ゲートウェイ」フィールドに、接続先のサーバーの外部IPアドレス(「リッスン」オプションで設定するときに指定)を名前とパスワードの下に入力します。 右側の[パスワード]フィールドで、最初に[このユーザーのパスワードを保存する]オプションを選択する必要があります):

その後、ウィンドウを閉じてサーバーに接続します。 サーバーがローカルネットワークの外部にある場合は、インターネットアクセスが必要です。

これで仮想ネットワークの編成は完了ですが、コンピューターをローカルネットワークに接続するだけです。 ネットワークサーバーを介してインターネットにアクセスするには、もう1つ設定する必要があります。

VPN経由のインターネットアクセスの設定

VPNサーバーで、次のコマンドを入力します。

Iptables -t nat -A POSTROUTING -o eth0 -s 10.10.10.1/24 -j MASQUERADE iptables -A FORWARD -s 10.10.10.1/24 -j ACCEPT iptables -A FORWARD -d 10.10.10.1/24 -j ACCEPT

ここで、10.10.10.1 / 24は、ローカルサーバーのアドレスとネットマスクです。

その後、サーバーを再起動した後でも機能するように変更を保存します。

Iptables-保存

そして、すべての変更を適用します。

Iptables-適用

その後、インターネットにアクセスできるようになります。 IPアドレスが表示されているサイトにアクセスすると、外部サーバーのアドレスが表示されますが、自分のアドレスは表示されません(一致しない場合)。

私はあなただけがあなたの行動の結果に責任があることをあなたに思い出させます。

NetworkManagerを使用した設定 "a

それが何であれ、それでもnetwork-managerを使用してVPN設定を説明します "a。この設定は、ネットワークへの接続でDHCPを使用してIPアドレスの自動取得を使用する場合に非常に適しています。

1.必要な2つのパッケージをインストールします。
#apt-get install pptp-linux network-manager-pptp
これらのパッケージはデフォルトではubuntuディスク上になく、vpnは別のインターネット接続がなくなったマシンで構成する必要があることが多いため、事前に公式リポジトリからこれらのパッケージを購入することをお勧めします。 これを行うには、packages.ubuntu.com /サイトにアクセスし、そこでこれら2つのパッケージを探してダウンロードし、必要なマシンにインストールします。
2. VPN接続アイテムがNetworkManagerアプレットに表示されないか、開かない場合は、再ログインするか、さらに良い方法で再起動する必要があります。
3.ネットワークマネージャアイコンでマウスの左ボタンを押し(右ボタンで別のメニューが表示されます)、ドロップダウンメニューで[VPN接続]-[VPNの構成]を選択します。新しい接続を追加し、必要なすべてのオプションを設定しますこの接続の場合..。
4.その後、接続が突然表示されない場合は、[VPN接続]メニューに表示されます。再ログインまたは再起動します(このネットワークマネージャーがまだ粗雑である限り、何ができますか)。
5.これで、作成したVPN接続に誰もが接続できるようになります(ネットワークマネージャー "eのメニュー項目を選択して切断することもできます)。

#apt-get install pptp-linux

network-manager "aを使用したインストールのセクションですでに説明したように、vpnは、別のインターネット接続がなくなったマシンで構成する必要があることが多いため、公式リポジトリパッケージからこのパッケージを事前に購入することをお勧めします。 .ubuntu.com /。

2.options.pptpファイルを編集します。
#nano /etc/ppp/options.pptp


ロックnoauthnobsdcomp nodeflatepersist

それぞれのパラメーターについては説明しません。いくつかだけ説明します。
永続化-このパラメーターは、接続が閉じられたときに接続を再開しようとします。
nodeflate-deflate圧縮を使用しないでください(より高速に動作すると言われていますが、わかりません-テストしていません)。
また、接続で暗号化を使用している場合は、暗号化のタイプに応じて、行の1つ(require-mschap-v​​2、require-mppe-40、require-mppe-128、require-mppe)を追加します。

3.接続ファイル/ etc / ppp / peers / vpnを作成します(vpn名は他の名前に置き換えることができますが、変更する場合は、この記事でさらに変更することを忘れないでください)

#nano / etc / ppp / peers / vpn

そこに次の行を挿入します。
maxfail 0 lcp-echo-interval 60 lcp-echo-failure 4 defaultroute pty "pptp vpn.ava.net.ua --nolaunchpppd" name sukochev remotename PPTP + chap file /etc/ppp/options.pptp ipparam vpn

注意!!!次のオプションを必ず自分のものに置き換えてください。
vpn.ava.net.uaの代わりに、vpnサーバーのアドレスを入力します(サーバーのIPを使用できます)。 sukochevの代わりに、ログインを挿入します。
いくつかのパラメータについて説明します。
maxfail0-接続がない場合は常に接続を試みます。
lcp-echo-interval-リモート側がポーリングされるまでの時間間隔。
lcp-echo-failure-リモート側からの未応答のリクエストの数。その後、システムは私たちが無効になっていると見なします。
defaultroute-デフォルトルートを設定します。
+ chap-認証タイプ。 +チャップの他に、+パップタイプも使用できます。
file-指定されたファイルから追加の設定を読み取ります。
必要に応じて、次のパラメータを追加することもできます。
deflate 15,15-deflate圧縮を使用します(options.pptpファイルにnodeflateパラメーターがあってはなりません)。
mtu-送信されたパケットの最大サイズ(このパラメーターは通常、接続が頻繁に切断されるか、一部のサイトが開かない場合に変更されます)。
mruは、受信したパケットの最大サイズです。

4.ファイル/ etc / ppp / chap-secretsを編集します(PAP認証タイプが使用されている場合は、それぞれ/ etc / ppp / pap-secrets)

#nano / etc / ppp / chap-secrets

そこに次のような行を挿入します。

SukochevPPTPパスワード*

注意!!! 接続するには、sukochevをユーザー名に、passwordをパスワードに置き換えます。
5.必要に応じて、必要なルートを/ etc / network / interfacesファイルに追加します。 たとえば、VPN接続がオンになっているときに、ローカルローカルネットワークを使用できるようにルートが登録されています。 これが私のルートの例です(アップルートで始まるルート)、それらはあなたにとって当然異なります:

Auto eth1 iface eth1 inet dhcp up route add -net 10.1.0.0 netmask 255.255.0.0 gw 1​​0.1.45.1 dev eth1 up route add -net 10.3.0.0 netmask 255.255.0.0 gw 1​​0.1.45.1 dev eth1

/ etc / network / interfacesファイルを変更した後、ネットワーク接続を再起動することを忘れないでください。

#/ etc / init.d /ネットワークの再起動

6.これで、次のコマンドを使用してVPN接続を有効または無効にできます。
電源を)いれる、(電気・テレビなどを)つける

シャットダウン

システム起動時の自動VPN接続

これを行うには、ファイル/ etc / network / interfacesを編集します
#nano / etc / network / interfaces

そして、ファイルの最後に次の行を挿入します。
auto ppp0 iface ppp0 inet ppp Provider vpn pre-up ip link set eth1 up up route del default up route add default dev ppp0

ここで、eth1は、vpn接続が接続されているネットワークデバイスのインターフェイスであり、vpnは、/ etc / ppp / peers /フォルダーに作成したvpn接続の名前です。

ホテルやカフェのWiFi経由でセキュリティで保護されていないネットワークに接続しながら、スマートフォンやラップトップから安全で安全なインターネットアクセスを利用したいですか? 仮想プライベートネットワーク(VPN)を使用すると、セキュリティで保護されていないネットワークを、プライベートネットワーク上にいるかのように使用できます。 この場合のすべてのトラフィックはVPNサーバーを通過します。

HTTPS接続を使用することと組み合わせて、以下に説明する設定により、ログインやパスワードなどの個人情報、および購入を保護することができます。 さらに、地域の制限や検閲を回避できるだけでなく、セキュリティで保護されていないネットワークから現在地と暗号化されていないHTTPトラフィックを隠すことができます。

AndroidデバイスをUSB経由でコンピューターに接続し、ファイルをコピーすることで、コンピューターから電話にプロファイルを転送できます。 プロファイルをカードにコピーしてAndroidデバイスに挿入することにより、SDカードを使用してプロファイルファイルを移動することもできます。

OpenVPNアプリケーションを起動し、メニューをクリックしてプロファイルをインポートします。

化合物

ボタンを押して接続を確立します。 接続..。 OpenVPNアプリケーションを信頼するかどうかを尋ねられます。 答え わかった接続を確立します。 接続を停止するには、OpenVPNアプリに移動して[ 切断する.

ステップ13.VPN接続のテスト

すべてをインストールして構成したら、すべてが正しく機能することを確認しましょう。 VPN接続を確立せずに、ブラウザを開いてDNSLeakTestに移動します。

このサイトは、ISPによって割り当てられたIPアドレスを返します。 使用中のDNSサーバーを確認するには、をクリックします 拡張テスト.

次に、VPNクライアントを使用して接続を確立し、ブラウザでページを更新します。 あなたに与えられたIPアドレスは完全に異なっていなければなりません。 現在、インターネット上のすべての人にこの新しいIPアドレスを使用しています。 クリック 拡張テストもう一度DNS設定を確認し、VPNのDNSサーバーを使用していることを確認します。

ステップ14.クライアント証明書を取り消す

VPNサーバーへのアクセスを防ぐために、クライアント証明書を取り消す必要がある場合があります。

これを行うには、証明機関ディレクトリに移動して、次のコマンドを入力します。

  • cd〜 / openvpn-ca
  • ソース変数
  • ./revoke-full client3

このコマンドの出力はエラー23で終了します。これは正常です。 その結果、ファイルcrl.pemが、証明書を取り消すために必要な情報とともにkeysディレクトリに作成されます。

このファイルを/ etc / openvpnディレクトリに移動します。

  • sudo cp〜 / openvpn-ca / keys / crl.pem / etc / openvpn
  • sudo nano /etc/openvpn/server.conf

ファイルの最後にcrl-verifyを追加します。 OpenVPNサーバーは、誰かがサーバーに接続するたびにCRLをチェックします。

/etc/openvpn/server.conf

Crl-crl.pemを確認します

ファイルを保存して閉じます。

OpenVPNを再起動して、証明書失効プロセスを完了します。

これで、クライアントは古い証明書を使用してOpenVPNサーバーとの接続を確立できなくなります。

追加の証明書を取り消すには、次の手順に従います。

    〜/ openvpn-caディレクトリのsourcevarsコマンドを使用し、クライアントの名前でrevoke-fullコマンドを実行して、新しい失効リストを生成します。

    新しいCRLを/ etc / openvpnにコピーし、古いCRLを上書きします。

    OpenVPNサービスを再起動します。

この手順を使用して、以前に作成した証明書を取り消すことができます。

結論

おめでとう! これで、インターネットに安全にアクセスできるようになり、すべてのトラフィックが検閲者や侵入者による盗聴から保護されます。

手順を繰り返して、追加のクライアントを構成します 6 11-13 すべての新しいデバイスに対して。 特定のクライアントのアクセスを取り消すには、次の手順を使用します 14 .

場合によっては、エンタープライズネットワークへのリモートアクセスを取得したり、サーバー間にトンネルを作成したり、債務のためにネットワークから切断された良き隣人にインターネットへのアクセスを提供したりする必要があります。インターネットがある世界。

これらの目的のために、仮想プライベートネットワーク(仮想プライベートネットワーク-VPN)を使用できます。 私たちの場合、これはCIS諸国で最も一般的なプロトコル、つまりPPTP(Point-to-Point Tunneling Protocol)になります。 多くのケーブルインターネットプロバイダーは、インターネットアクセスサービスを提供するためにそれを使用しています。

Linux Ubuntu ServerLTSでサーバーを起動して実行することはそれほど難しくありません。 これを行うには、インターネットと実際のIPにアクセスする必要があります(インターネットから接続する必要がある場合)。

ルートアカウントを使用してサーバーにアクセスし、コマンドapt-get install pptpdを使用して必要なパッケージをインストールします。bcrelayパッケージのインストールも提供されます。これにより、着信インターフェイスで受信したブロードキャストパケットを仮想(PPPクライアント)に複製できます。トンネル)。

Enterキーを押すと、サーバーがインストールされます。 構成を始めましょう。 nano /etс/ pptpd.confファイルを開いてみましょう。一番下に次の行が表示されます。

#localip 192.168.0.1
#remoteip 192.168.0.234-238,192.168.0.245
# また
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245

これらはクライアントのIPアドレス設定です。 最初の2行のコメントを外して(#記号を削除)、少し修正してみましょう。

行localip192.168.0.1は、VPNサーバーにIP 192.168.0.1があることを意味します。直接接続されたネットワークのいずれかで、IPを指定できます。 たとえば、私のホームネットワークでは、サーバーのIPアドレスは172.30.2.1です。サーバーを不必要にロードしないようにするために、これを使用しました。

2行目--remoteip192.168.0.234-238,192.168.0.245は、クライアントに割り当てられるIPアドレスの範囲を指定します。 これらの行からわかるように、ネットワークアドレスは(2番目の行グループの)任意のものにすることができます。 便宜上、サーバーのIPと同じ範囲から選択します。

私は自宅で次のIP発行ロジックを使用しています:1番目-ルーター、2-19-コンピューター、20-49-静的VPN(接続時に同じアドレスが発行されます)、50-100-VPNクライアント、101-199-Wi- Fiクライアント、200〜254-さまざまなデバイス(IPルーター、TVなど)用。 remoteip範囲172.30.2.50-100を指定して、構成を保存しましょう。

すべてのpptpd(サーバー)およびpppd(クライアント)構成ファイルが保存されているcd /etс/ ppp /ディレクトリに移動しましょう。

コマンドmvpptpd-options pptpd-options.bakを使用してpptpd-optionsファイルの名前を変更し、新しいnano pptpd-optionsを使用して作成します。これは、オプションを検索するよりも、新しいファイルに複数の行を挿入しやすくするためです。コメント付きの数十行。 次のコンテンツをこの新しいファイルに貼り付けましょう。

名前pptpd
refuse-pap
拒否チャップ
refuse-mschap
require-mschap-v​​2
#require-mppe-128
ms-dns 172.30.2.1
nodefaultroute
ロック
nobsdcomp
auth
ログファイル/var/log/pptpd.log

これはどういう意味ですか? 順番に行きましょう:

  • pptpd名を使用してchap-secretsログインを検索します
  • このオプションを使用すると、pptpdはrefuse-pap、refuse-chap、refuse-mschapプロトコルを使用した認証に同意しません。
  • MS-CHAPv2を使用して認証するようにピアに要求する
  • 128ビット暗号化でMPPEの使用を要求するrequire-mppe-128すなわち すべてのトラフィックを暗号化します。 これによりサーバーの負荷が増加し、すべての「弱い」デバイス(Wi-Fiルーターなど)がサーバーをサポートするわけではありません。
  • IP172.30.2.1でDNSサーバーを使用することをお勧めします
  • nodefaultroute-サーバーからクライアントへのデフォルトゲートウェイを設定しないでください。設定しないと、インターネットへのすべてのトラフィックが接続されたクライアントを介して送信され、プロバイダーへのルートが失われるためにインターネットも切断されます。
  • ロック-セッションをブロックします。 1回のログインから接続できるのは1つだけです
  • nobsdcomp-トラフィックを圧縮しません。 有効にすると、サーバーの負荷が増加します
  • auth-認証が必要(ログインとパスワード)
  • logfile / var / log / pptpd.log-このファイルに操作ログを書き込みます。

この構成ファイルを保存して閉じます。

次に、サーバーに接続するユーザーを追加する必要があります。 nano chap-secretsファイルを開きましょう(PPPアカウントを保存するために使用されます)。

正しく操作するには、次の形式を順守する必要があります。列は少なくとも1つのスペースまたはタブ(Tab)で区切る必要があり、名前にスペースを含めることはできません(そうでない場合、スペースは次の列と見なされます)。ログインは文字で開始する必要があります。 例えば:

最初の列はユーザ​​ー名、2番目の列はサービスの名前です。 私たちの場合、これはpptpdです。 次はユーザーのパスワード、最後は発行されるIPアドレスです。 さらに、*がある場合、IPアドレスは以前に指定された範囲から自動的に発行されます。 範囲外のIPアドレスを指定することもできます。

サーバーを使用する前に、サーバーを再起動する必要があります。 これを行うには、構成にエラーがない場合に/etс/init.d/pptpdrestartを実行します。サーバーが起動します。

ro [メール保護]:/ etc / ppp#/ etc / init.d / pptpd restart
PPTPの再起動:
PPTPの停止:pptpd。
PPTPデーモンの開始:pptpd。

を使用している場合は、次の行を追加する必要があります。

#VPN-PPTPD
iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p gre -m state --state RELATED、ESTABLISHED -j ACCEPT

サーバーを介してVPNクライアントにインターネットへのアクセスを提供するには、IPTablesに次のルールを追加する必要があります。

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

ここで、eth1はインターネットへのインターフェースです。

テストするには、暗号化を無効にしてテストVPN接続を作成し(オプション)、指定したログインを使用してサーバーに接続します。

頻繁な接続エラー

Windows XPからPPTPクライアント接続を作成するには、次の手順を実行します。[スタート]-[コントロールパネル]-[ネットワークとインターネット接続]-[ネットワーク接続]をクリックします。


[新しい接続の作成]をクリックします。これにより、[新しい接続ウィザード]が起動します。







次に、接続の名前を入力します。 ここには何でも書くことができます。これは単に接続の名前になります。たとえば、「PPTP」(接続の種類別)と書きます。



次の質問は、「構成済みのインターネット接続を使用しますか?」と表示される場合があります。 (すでにPPPoE接続を設定している場合)、その中で[ダイヤルしない]をクリックします。



そのようなメッセージが表示されない場合は、読み進めてください。

ここで、サーバーアドレスを入力し、サーバーのIPまたはその名前を指定するように求められます。




上の写真のウィンドウで、「プロパティ」を選択します。 「セキュリティ」タブを選択したウィンドウが表示されます。 その中に「データ暗号化が必要です」という項目があり、チェックボックスをオフにします。 そうしないと、接続できなくなり、エラー741または742が表示されます-「必要なタイプの暗号化はサーバーでサポートされていません」。


その後、[OK]ボタンをクリックし、前のウィンドウに戻り、ユーザー名とパスワードを入力して、安全なVPNチャネルを介してリモートサーバーに接続します。

前の部分で理論的な問題を検討したので、実際の実装に移りましょう。 今日は、UbuntuServerプラットフォームでPPTPVPNサーバーを作成する方法について説明します。 この資料はLinuxのスキルを持つ読者を対象としているため、ネットワーク構成など、他の記事で説明したことに気を取られることはありません。 あなたが困難を経験しているならば-最初に私たちの他の資料を研究してください。

実装が最も簡単なPPTPを使用したVPNの実践的な知識から始めます。 ただし、これは安全性の低いプロトコルであり、重要なデータへのアクセスには使用しないでください。

このテクノロジーの実際的な知識のために、テストラボで作成した回路について考えてみます。

VPNサーバーとして機能するターミナルサーバー10.0.0.2および10.0.0.1を備えたローカルネットワーク10.0.0.0/24があります。VPN用に10.0.1.0/24ネットワークを予約しました。 外部サーバーインターフェイスには、条件付きの専用IPアドレスX.X.X.Xがあります。 私たちの目標は、リモートクライアントにターミナルサーバーとその上の共有リソースへのアクセスを提供することです。

PPTPサーバーのセットアップ

PPTPVPN機能を実装するpptpdパッケージをインストールします。

Sudo apt-get install pptpd

それでは、ファイルを開きましょう /etc/pptpd.conf VPNサーバーの基本設定を行います。 ファイルの最後に移動して、VPNネットワークのサーバーアドレスを示します。

Localip 10.0.1.1

そして、クライアントに発行するアドレスの範囲:

Remoteip 10.0.1.200-250

アドレスは、pptpdを再起動せずにアドレスを増やすことは不可能であるため、少なくともできるだけ多くの同時接続を、できればわずかなマージンで割り当てる必要があります。 また、次の行を見つけてコメントを外します。

Bcrelay eth1

これにより、VPNクライアントは内部ネットワークパケットをブロードキャストできるようになります。

オプションを使用することもできます 聞く速度、1つ目は、着信PPTP接続をリッスンするローカルインターフェイスのIPアドレスを指定でき、2つ目は、VPN接続の速度をbpsで指定できます。 たとえば、サーバーが外部インターフェイスからのみPPTP接続を受け入れるようにしましょう。

X.X.X.Xを聞く

より微妙な設定がファイルにあります / etc / ppp / pptpd-オプション..。 デフォルト設定は私たちの要件と完全に一致していますが、それらの目的を理解できるように、それらのいくつかを簡単に確認します。

セクション #暗号化データの暗号化と認証を担当します。 これらのオプションは、レガシーで安全でないPAP、CHAP、およびMS-CHAPプロトコルの使用を禁止します。

ゴミパップ
拒否チャップ
refuse-mschap

Require-mschap-v​​2
require-mppe-128

次のセクション #ネットワークとルーティング、ここではオプションに注意を払う必要があります ms-dnsこれにより、内部ネットワークでDNSサーバーを使用できるようになります。 これは、ネットワークのドメイン構造、またはネットワーク内のすべてのPCの名前を含むDNSサーバーがネットワーク内に存在する場合に役立ちます。これにより、IPだけでなく名前でコンピューターを参照できます。 私たちの場合、このオプションは役に立たず、コメントアウトされています。 同様に、オプションを使用してWINSサーバーのアドレスを設定できます ms-wins.

ここにオプションがあります proxyarp、名前から推測できるように、サーバーサポートを含む プロキシARP。

セクションで #その他オプションが含まれています ロックこれにより、クライアントは1つの接続に制限されます。

イワノフ* 123 *
ペトロフ* 456 10.0.1.201

最初のエントリにより、ユーザーivanovはパスワード123を使用してサーバーに接続し、任意のIPアドレスを割り当てることができます。2番目のエントリは、パスワード456を使用してユーザーpetrovを作成し、接続時に永続アドレス10.0.1.201が割り当てられます。

再起動 pptpd:

Sudo /etc/init.d/pptpd restart

重要な注意点! もしも pptpd再起動したくない、最初はフリーズしますが、 / var / log / syslog行を追加する 長い設定ファイルの行は無視されます必ずファイルの最後に追加してください /etc/pptpd.conf改行。

サーバーの準備が整いました。

クライアントPCの構成

一般に、VPN接続はデフォルトのオプションで構成するだけで十分です。 ただし、接続の種類を明示的に指定し、不要な暗号化プロトコルを無効にすることをお勧めします。

さらに、ネットワークの構造に応じて、静的ルートとデフォルトゲートウェイを指定する必要があります。 これらの質問については、前のパートで詳しく説明しました。

VPN接続を確立し、ローカルネットワーク内の任意のPCにpingを実行しようとすると、ターミナルサーバーに問題なくアクセスできました。

ここでもう1つ重要な追加があります。 ほとんどの場合、ローカルネットワーク上のコンピュータへのアクセスは、IPアドレスによってのみ可能になります。 パス\\ 10.0.0.2は機能しますが、\\ SERVERは機能しません。 これは、ユーザーにとって不便で珍しい場合があります。 この問題を解決する方法はいくつかあります。

ローカルネットワークにドメイン構造がある場合は、ドメインコントローラーのDNSサーバーへのVPN接続用のDNSサーバーを指定するだけで十分です。 オプションを使用する ms-dns v / etc / ppp / pptpd-オプションサーバーと設定データはクライアントによって自動的に受信されます。

ローカルネットワークにDNSサーバーがない場合は、WINSサーバーを作成して使用できます。また、オプションを使用して、サーバーに関する情報をクライアントに自動的に転送することもできます。 ms-wins..。 最後に、リモートクライアントが少ない場合は、クライアントPCのファイルを使用します ホスト(C:\ Windows \ System32 \ drivers \ etc \ hosts)、のような行を追加する必要があります。