すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:CentOS 7インスタンスでPPTP VPNサーバーとPPTP VPNクライアント間の接続を設定するにはどうすればよいですか。

最終更新日:Jan 06, 2025

このトピックでは、CentOS 7オペレーティングシステムを実行するElastic Compute Service (ECS) インスタンス上のPPTP VPNサーバーとPPTP VPNクライアント間の接続を設定する方法について説明します。

背景情報

ポイント・ツー・ポイント・トンネリング・プロトコル (PPTP) は、VPNで使用するためにポイント・ツー・ポイント・プロトコル (PPP) に基づいて開発されたネットワーク・トンネリング技術である。 PPTPサーバーにダイヤルアップしてPPP接続を確立し、PPTPネゴシエーションを実行してクライアントとサーバー間にトンネルを作成し、PPPネットワーク制御プロトコル (NCP) ネゴシエーションを実行してVPNのIPアドレス範囲からクライアントにIPアドレスを割り当てます。 割り当てられたIPアドレスを使用して、VPN内で通信できます。 このようにして、インターネット経由でVPNへの安全なトンネルまたは接続を確立できます。

警告

このトピックでは、前述の手順の例とガイドラインを示します。 動作は、実際の条件に基づいて変化し得る。 PPTPにはセキュリティ上の問題がある。 PPTPを使用する前に、ビジネスに対する問題の影響を評価することをお勧めします。 詳細については、「PPTPクライアント」をご参照ください。

PPTP VPNサーバーの設定

PPTP VPNサーバーとして使用するCentOS ECSインスタンスに接続し、次の手順を実行してPPTP VPNサーバーを設定します。 ECSインスタンスへの接続方法については、「インスタンスへの接続」をご参照ください。

前提条件

  • ECS インスタンスを作成済み。 ECSインスタンスの作成方法については、「カスタム起動タブでインスタンスを作成する」をご参照ください。

    PPTP VPNサーバーを設定する方法を説明する以下のセクションでは、以下の設定を持つECSインスタンスが使用されています。 オペレーティングシステムのバージョンの違いによるコマンドエラーを防ぐため、前提条件でオペレーティングシステムのバージョンを使用することを推奨します。

    • インスタンスタイプ: ecs.c6.large

    • オペレーティングシステム: CentOS 7.2パブリックイメージ

    • ネットワークタイプ:Virtual Private Cloud (VPC)

    • IPアドレス: パブリックIPアドレス

  • PPTP VPNはTCPポート1723を使用します。 インバウンドルールがECSインスタンスのセキュリティグループに追加され、ポート1723でのトラフィックが許可されます。 詳細については、「ECSインスタンスにVPN gatewayをインストールした後にセキュリティグループを設定する方法」をご参照ください。

PPTPの設定

  1. PPTP VPNサーバーをインストールします。

    前提条件で準備したECSインスタンスで次のコマンドを実行して、PPTP VPNサーバーをインストールします。

    yum install -y ppp pptpd
  2. PPTPデーモン (pptpd) の設定ファイルを変更します。

    IPアドレスをPPTP VPNサーバーのクライアントに割り当てることができるCIDRブロックを指定します。 これにより、サーバーに接続された各デバイスが一意のIPアドレスを取得できるようになります。

    1. vim /etc/pptpd.confコマンドを実行して設定ファイルを開き、次の設定をファイルに追加します。

      localip 192.168.0.1
      remoteip 192.168.0.230-238
      説明
      • localipパラメーターには、PPTP VPNサーバーのアドレスを指定します。 ほとんどの場合、サーバーのプライベートIPアドレスを指定することをお勧めします。 実際のビジネスシナリオに基づいてlocalipパラメーターを設定します。

      • remoteipパラメーターには、PPTP VPNサーバーのクライアントにIPアドレスを割り当てるCIDRブロックを指定します。 IP競合を防ぐには、CIDRブロックのIPアドレスが他のデバイスで使用されていないことを確認します。 実際のビジネスシナリオに基づいてremoteipパラメーターを設定します。

    2. 設定ファイルの内容を確認してください。 次の図は、上記の設定を追加した後の設定ファイルの内容を示しています。

      image

  3. ドメインネームシステム (DNS) 設定を構成します。

    PPTP VPNサーバーに接続されているクライアントがドメイン名を解決できるようにするには、DNSサーバーを追加します。

    1. vim /etc/ppp/options.ppt pdコマンドを実行して /etc/ppp/options.ppt pdファイルを開き、次の設定をファイルに追加します。

      ms-dns 223.5.5.5
      ms-dns 223.6.6.6
      説明

      223.5.5.5および223.6.6.6は、Alibaba CloudパブリックDNSサーバーのIPアドレスです。 ビジネス要件に基づいて、ms-dnsを他のDNSサーバーのIPアドレスに設定できます。

    2. ファイルの内容を確認してください。 次の図は、上記の設定を追加した後のファイルの内容を示しています。

      image

  4. ユーザーを作成します。

    クライアントID認証用のユーザーを作成します。 クライアントがPPTP VPNサーバーに接続されると、サーバーはクライアントのID認証を実行して、許可されたユーザーのみがダイヤルアップまたはネットワーク接続を介してシステムにアクセスできるようにします。

    1. vim /etc/ppp/chap-secretsコマンドを実行して、pptpdプロセスのユーザー名とパスワードを設定します。 ビジネス要件に基づいて、<Username> pptpd <Password> <IP address> 形式のアカウントを /etc/ppp/chap-secretsファイルに追加します。 項目をスペースで区切り、各行にアカウントを1つだけ追加します。

      説明

      例: テストpptpd 123456 * 。 アスタリスクのワイルドカード文字 (*) は、すべてのIPアドレスを示します。

      test pptpd 123456 *
    2. ファイルの内容を確認してください。 次の図は、上記の設定を追加した後のファイルの内容を示しています。image

  5. 最大伝送ユニット (MTU) を変更します。

    MTUは、ネットワークパフォーマンスの最適化、セグメントの削減、データ伝送効率の向上に使用されます。

    1. vim /etc/ppp/ip-upコマンドを実行して /etc/ppp/ip-upファイルを開き、次の設定をファイルに追加してMTUを変更します。

      ifconfig ppp0 mtu 1472
    2. ファイルの内容を確認してください。 次の図は、上記の設定を追加した後のファイルの内容を示しています。image

  6. PPTPを開始します。

    次のコマンドを実行してPPTPを起動し、システム起動時にPPTPを起動するように設定します。

    systemctl start pptpd
    systemctl enable pptpd.service

IP転送の有効化

システムがIP転送を実行できるようにするには、次の手順を実行します。

  1. 次のコマンドを実行して、IP転送を有効にします。

    echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
  2. sysctl.conf設定ファイルの内容を確認してください。 次の図は、上記の設定を追加した後の設定ファイルの内容を示しています。image

  3. 設定を有効にするには、sysctl -pコマンドを実行します。

iptablesファイアウォールの設定

iptablesファイアウォールを使用して、受信および送信ネットワークトラフィックを制御するルールを構成できます。 たとえば、インターネットアクセス用に単一のIPアドレスを共有するように複数のコンピューターを構成できます。

  1. ファイアウォールを無効化します。

    systemctl stop firewalld
    systemctl mask firewalld
  2. iptablesサービスをインストールします。

    yum install -y iptables-services
    
  3. iptablesサービスを起動し、システム起動時に開始するようにサービスを設定します。

    systemctl start iptables
    systemctl enable iptables
  4. PPTP接続を許可するルールを追加します。

    # Accept new TCP connection requests on port 1723.
    iptables -I INPUT -p tcp --dport 1723 -m state --state NEW -j ACCEPT 
    
    # Allow the Generic Routing Encapsulation (GRE) protocol. The IP protocol number of GRE is 47.
    iptables -I INPUT -p gre -j ACCEPT
    
  5. iptables転送ルールを追加して、送信元アドレスのマスカレードを実装します。 192.168.0.0/24を、IPアドレスがPPTP VPNクライアントに割り当てられるCIDRブロックに置き換えます。

    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
  6. NAT転送ルールを追加して、クライアントCIDRブロックからのパケットの送信元IPアドレスを特定のパブリックIPアドレスに変換します。 192.168.0.0/24を、IPアドレスがPPTP VPNクライアントに割り当てられるCIDRブロックに置き換えます。 XXX.XXX.XXX.XXXを、PPTP VPNサーバーが存在するECSインスタンスのパブリックIPアドレスに置き換えます。

    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source XXX.XXX.XXX.XXX
  7. 設定を保存します。

    service iptables save
  8. iptablesサービスを再起動します。

    systemctl restart iptables

PPTP VPNクライアントの設定

CentOS

前提条件

ECS インスタンスを作成済み。 ECSインスタンスの作成方法については、「カスタム起動タブでインスタンスを作成する」をご参照ください。 次のセクションでは、次の設定を持つECSインスタンスが使用されています。 オペレーティングシステムのバージョンの違いによるコマンドエラーを防ぐため、前提条件でオペレーティングシステムのバージョンを使用することを推奨します。

  • インスタンスタイプ: ecs.c6.large

  • オペレーティングシステム: CentOS 7.2パブリックイメージ

  • ネットワークタイプ:VPC

  • IPアドレス: パブリックIPアドレス

手順

  1. ECS インスタンスに接続します。 詳細については、「インスタンスへの接続」をご参照ください。

  2. ECSインスタンスで次のコマンドを実行し、PPTPパッケージをインストールします。

    yum install -y ppp pptp pptp-setup
  3. 次のコマンドを実行して、PPTP VPNサーバーに接続します。

    pptpsetup --create test --server [$IP] --username [$User] --password [$Password] --encrypt --start
    説明
    • [$IP] を、PPTP VPNサーバーが存在するECSインスタンスのパブリックIPアドレスに置き換えます。

    • [$User] を、PPTP VPNサーバーを構成したときに作成したユーザーのユーザー名に置き換えます。 ユーザー名を取得する方法については、このトピックの「PPTP VPNサーバーの構成」セクションのユーザーの作成手順を参照してください。

    • [$Password] を、PPTP VPNサーバーを構成したときに作成したユーザーのパスワードに置き換えます。 ユーザーのパスワードを取得する方法については、このトピックの「PPTP VPNサーバーの構成」のユーザーの作成手順を参照してください。

    次の図は、PPTP VPNクライアントがPPTP VPNサーバーに接続されていることを示しています。

  4. 192.168.0.234がクライアントに割り当てられていることを確認したら、次のコマンドを実行します。 コマンド出力にはppp0ネットワークインターフェイスコントローラー (NIC) があります。

    ifconfig | grep -A 10 ppp

    次の図は、コマンドが期待どおりに実行されることを示しています。

Windows

前提条件

ECS インスタンスを作成済み。 ECSインスタンスの作成方法については、「カスタム起動タブでインスタンスを作成する」をご参照ください。 次のセクションでは、次の設定を持つECSインスタンスが使用されています。 オペレーティングシステムのバージョンの違いによるコマンドエラーを防ぐため、前提条件でオペレーティングシステムのバージョンを使用することを推奨します。

  • インスタンスタイプ: ecs.c6.large

  • オペレーティングシステム: Windows Server 2022パブリックイメージ

  • ネットワークタイプ:VPC

  • IPアドレス: パブリックIPアドレス

手順

  1. ECS インスタンスに接続します。 詳細については、「インスタンスへの接続」をご参照ください。

  2. デスクトップの左下隅にある [スタート] アイコンをクリックし、[設定] を選択します。 [Windowsの設定] ウィンドウで、[ネットワークとインターネット] をクリックします。 表示されるウィンドウの左側のナビゲーションウィンドウで、[VPN] をクリックします。 VPNページで、[VPN接続の追加] をクリックします。

    image

  3. [VPN接続の追加] ダイアログボックスで、次のパラメーターを設定して保存します。

    VPNプロバイダー: [Windows (組み込み)] を選択します。

    接続名: VPN接続名を指定します。 例: pptp.

    サーバー名またはアドレス: PPTP VPNサーバーのパブリックIPアドレスまたはドメイン名を入力します。

    VPNタイプ: [ポイントツーポイントトンネリングプロトコル (PPTP)] を選択します。

    サインイン情報の種類: [ユーザー名とパスワード] を選択します。

    ユーザー名 (オプション): PPTP VPNサーバーで作成したユーザーのユーザー名を入力します。

    パスワード: PPTP VPNサーバーで作成したユーザーのパスワードを入力します。

    image

  4. コントロールパネルで、[ネットワークとインターネット] > [ネットワークと共有センター] > [アダプタ設定の変更] を選択します。 表示されるウィンドウで、作成したVPN接続を見つけます。

    image

  5. VPN接続を右クリックし、[プロパティ] を選択します。 表示されるダイアログボックスの [ネットワーク] タブで、[インターネットプロトコルバージョン4 (TCP/IPv4)] を選択し、[プロパティ] をクリックします。image

  6. 表示されるダイアログボックスで、[詳細設定] をクリックします。 [IP設定] タブで、[リモートネットワークでデフォルトゲートウェイを使用] をオフにし、[OK] をクリックして設定を保存します。

    重要

    [リモートネットワークでのデフォルトゲートウェイの使用] をオフにしない場合、ダイヤルアップ接続が確立された後にローカルのデフォルトゲートウェイ設定が変更されます。 その結果、接続を介してインターネットにアクセスすることはできません。

    image

  7. [開始] アイコンをクリックし、[設定] を選択します。 [Windowsの設定] ウィンドウで、[ネットワークとインターネット] をクリックします。 表示されるウィンドウの左側のナビゲーションウィンドウで、[VPN] をクリックします。 VPNページで、[接続] をクリックしてVPN接続を確立します。 VPN接続が確立されている場合、設定は正しいです。

    image

よくある質問

ブラウザでWebサイトを開くことができない場合はどうすればよいですか?

PPTP VPNを設定して接続を確立し、Webサイトのドメイン名を正常にpingした後にブラウザでWebサイトを開くことができない場合、MTUの設定が無効になる可能性があります。 以下のいずれかの方法を使用して問題を解決できます。

  • 方法 1

    1. VPNが設定されているCentOSサーバーに接続します。

    2. ifconfig ppp0 mtu 1472コマンドを実行します。

    3. Webサイトをブラウザで開くことができるかどうかを確認します。 Webサイトが開かれると、問題は解決されます。

      説明

      方法1は問題の一時的な解決策です。 問題を完全に解決するには、方法2を使用します。

  • 方法 2

    1. VPNが設定されているCentOSサーバーに接続します。

    2. vim /etc/ppp/ip-upコマンドを実行し、/etc/ppp/ip-upファイルを開きます。

    3. ifconfig ppp0 mtu 1472コマンドを /etc/ppp/ip-upファイルに追加します。

      次のコマンド出力は、コマンドが追加されたことを示します。 image

    4. Webサイトをブラウザで開くことができるかどうかを確認します。

      Webサイトが開かれると、問題は解決されます。

正しくないIPアドレスを取得した場合はどうすればよいですか?

クライアントからVPNに接続した後、VPNサーバーによって割り当てられたIPアドレスではなく、インスタンスの内部NIC IPアドレスを取得します。 たとえば、VPNクライアントの名前はtestvpnです。 問題を解決するには、次の操作を実行します。

手順

  1. VPNが設定されているCentOSサーバーに接続します。

  2. vim /etc/ppp/peers/testvpnコマンドを実行し、pppクライアントの /etc /PPP /peers/testvpn設定ファイルを開きます。 次の図に示すように、noipdefaultパラメーターを追加します。

  3. 次のコマンドを実行して、クライアントを再起動します。 VPNに再接続すると、正しいIPアドレスを取得できます。

    poff testvpn
    pon testvpn
    説明

    クライアントを再起動すると、noipdefaultパラメーターがサーバーから渡されたパラメーターによって上書きされることがあります。 noipdefaultパラメーターが上書きされた場合は、サーバーの設定を確認します。