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

Elastic Compute Service:Ubuntu ECS インスタンスでの PPTP VPN の設定

最終更新日:Jun 22, 2026

このトピックでは、Ubuntu オペレーティングシステムを実行している Elastic Compute Service (ECS) インスタンス上で Point-to-Point Tunneling Protocol (PPTP) VPN を設定する方法について説明します。

前提条件

  • このトピックは、Ubuntu 18.04、Ubuntu 20.04、および Ubuntu 22.04 に適用されます。

  • このトピックでは、Ubuntu 18.04 を実行する ECS インスタンスを例として使用します。ECS インスタンスの作成方法の詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。

  • インスタンスのセキュリティグループには、VPN クライアントのパブリック IP アドレスからのポート 1723 および GRE プロトコルのトラフィックを許可するインバウンドルールが必要です。詳細については、「セキュリティグループルールの管理」をご参照ください。

VPN サーバーの設定

PPTP サーバーとして使用する ECS インスタンスにログインし、以下の手順に従って PPTP サーバーを設定します。ECS インスタンスへのログイン方法の詳細については、「Linux インスタンスへの接続」をご参照ください。

PPTP サービスの設定

  1. 次のコマンドを実行して、pptpd をインストールします。

    sudo apt-get update
    sudo apt-get -y install pptpd
  2. pptpd ファイルを設定します。このファイルは、PPTP クライアントの IP アドレス範囲を指定し、各デバイスが一意の IP アドレスを受信できるようにします。

    1. sudo vim /etc/pptpd.conf コマンドを実行し、次の設定を追加します。

      localip 192.168.0.1
      remoteip 192.168.0.234-238
      説明
      • localip は、VPN サーバーのアドレスを指定します。サーバーのプライベート IP アドレスを使用することを推奨します。必要に応じて、この値を調整してください。

      • remoteip は、PPTP クライアントの IP アドレス範囲を指定します。競合を回避するために、他のデバイスがこの IP 範囲を使用していないことを確認してください。必要に応じて、この値を調整してください。

    2. 設定を追加すると、ファイルの内容は次のようになります。

      # (推奨)
      #localip 192.168.0.1
      #remoteip 192.168.0.234-238,192.168.0.245
      localip 192.168.0.1
      remoteip 192.168.0.234-238
  3. DNS を設定します。

    1. sudo vim /etc/ppp/pptpd-options コマンドを実行し、以下の設定を追加します:

      ms-dns 223.5.5.5
      ms-dns 223.6.6.6
      説明

      IP アドレス 223.5.5.5 および 223.6.6.6 は、Alibaba Cloud のパブリック DNS サーバーのアドレスです。必要に応じて、他のパブリック DNS サーバーアドレスに変更できます。

    2. 設定を追加すると、ファイルの内容は次のようになります。

      # セカンダリ DNS アドレスを指定します。
      #ms-dns 10.0.0.1
      #ms-dns 10.0.0.2
      ms-dns 223.5.5.5
      ms-dns 223.6.6.6
  4. ユーザーを作成します。このユーザーは PPTP 接続を認証し、許可されたクライアントのみが接続できるようにします。

    1. sudo vim /etc/ppp/chap-secrets コマンドを実行して、pptpd のユーザー名とパスワードを追加します。必要に応じて、ユーザー名 pptpd パスワード IP アドレス 形式でアカウントを追加します。各項目をスペースで区切り、1 行につき 1 つのユーザーアカウントのみを追加してください。

      説明

      例:test pptpd 123456 *。アスタリスク (*) は、すべての IP アドレスを示します。

      test pptpd 123456 *

IP フォワーディングの有効化

  1. 次のコマンドを実行して、IP フォワーディングを有効にします。

    sudo echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
  2. 次のコマンドを実行して、システムパラメーターをロードします。

    sudo sysctl -p "/etc/sysctl.conf"

    コマンドが正常に実行されると、出力の net.ipv4.ip_forward = 1 は IP フォワーディングが有効になっていることを示します。

    root@iZZ:~# sudo sysctl -p
    vm.swappiness = 0
    kernel.sysrq = 1
    net.ipv4.neigh.default.gc_stale_time = 120
    net.ipv4.conf.all.rp_filter = 0
    net.ipv4.conf.default.rp_filter = 0
    net.ipv4.conf.default.arp_announce = 2
    net.ipv4.conf.lo.arp_announce = 2
    net.ipv4.conf.all.arp_announce = 2
    net.ipv4.tcp_max_tw_buckets = 5000
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_max_syn_backlog = 1024
    net.ipv4.tcp_synack_retries = 2
    net.ipv4.tcp_slow_start_after_idle = 0
    net.ipv4.ip_forward = 1

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

Ubuntu では、iptables のルールはデフォルトで一時的であるため、ECS インスタンスが再起動されると失われます。iptables-persistent パッケージを使用して iptables のルールを保存し、システムの起動時に自動的に読み込みます。

  1. 次のコマンドを実行して iptables-persistent をインストールします。

    sudo apt-get install iptables-persistent -y

    インストール中に現在のルールを保存するように求められたら、yes を選択します。

  2. iptables ルールを追加します。

    sudo iptables -A INPUT -p gre -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
    sudo iptables -t nat -A POSTROUTING -s 192.168.0.232/29 -o eth0 -j SNAT --to-source XXX.XXX.XXX.XXX
    説明

    この例では、192.168.0.234/29 は VPN クライアントのプライベート IP アドレス範囲を指定します。実際の要件に基づいてこの値を変更する必要があります。XXX.XXX.XXX.XXX は、お使いの ECS インスタンスのパブリック IP アドレスです。

  3. iptables ルールを保存して、永続化します。

    sudo netfilter-persistent save
  4. (任意) iptables ルールを表示します。

    # 詳細なルールの表示
    sudo iptables -L -v
    # nat テーブルのルールの表示
    sudo iptables -t nat -L -v

PPTP サービスの再起動

sudo /etc/init.d/pptpd restart
sudo systemctl enable pptpd.service

VPN クライアントの設定

  1. 次のコマンドを実行して、PPTP クライアントソフトウェアをインストールします。

    sudo apt-get update
    sudo apt-get -y install pptp-linux
              
  2. 次のコマンドを実行して、test という名前の VPN 接続トンネルを初期化します。

    sudo pptpsetup --create test --server [$IP] --username [$User] --password [$Password] --encrypt --start
    説明
    • [$IP] は、PPTP サーバーをホストする ECS インスタンスのパブリック IP アドレスです。

    • [$User] は、PPTP サーバー上で作成したユーザー名です。ユーザー名の取得方法については、「ユーザーの作成」をご参照ください。

    • [$Password] は、PPTP サーバー上で作成したパスワードです。パスワードの取得方法については、「ユーザーの作成」をご参照ください。

    接続が成功すると、次の出力が表示されます。

    Using interface ppp0
    Connect: ppp0 <--> /dev/pts/1
    CHAP authentication succeeded
    MPPE 128-bit stateless compression enabled
    local  IP address 192.168.0.234
    remote IP address 192.168.0.1