GNU/Linux >> Linux の 問題 >  >> Ubuntu

独自のUbuntuサーバーでPptpVPNを設定する方法は?

私がUbuntuを実行しているLinodeのような誰かからの仮想プライベートサーバーを持っていると仮定すると、Ubuntuクライアントがそれに接続できるようにPPTP VPNを簡単に設定するにはどうすればよいですか?

デフォルトでは、UbuntuはこれらのPPTPネットワークへの接続を提供します。接続が非常に簡単になるように(つまり、クライアントにパッケージをインストールせずに)設定したいと思います。

ベストアンサー

絶対最小サーバー設定

以下は、Ubuntuで基本的なPPTPVPNサーバーを実行するために必要な最小限の手順です。これにより、クライアントはサーバーにVPNで接続し、インターネットトラフィックをルーティングして、サーバーを経由してインターネットに到達できるようになります。いつものように、すべてが何をしているのかを理解するために完全なドキュメントを参照してください。

まず、必要なソフトウェアをインストールします:

sudo apt-get install pptpd

次に、ip_forwardを有効にします /etc/sysctl.conf の関連する行のコメントを解除することにより、IPv4のカーネルで :

sudo sed -i -r 's/^s*#(net.ipv4.ip_forward=1.*)/1/' /etc/sysctl.conf
# Reload the config file to have the change take effect immediately.
sudo -i sysctl -p

3番目に、NATを有効にして(まだ有効になっていない場合)、プライベートVPNネットワーク上のユーザーがパケットをインターネットにルーティングできるようにします。

OUTIF=`/sbin/ip route show to exact 0/0 | sed -r 's/.*devs+(S+).*/1/'`
sudo -i iptables --table nat --append POSTROUTING --out-interface $OUTIF --jump MASQUERADE
# Enable NAT on boot from the rc.local script.
CMD="iptables --table nat --append POSTROUTING --out-interface $OUTIF --jump MASQUERADE"
sudo sed -i "$i$CMDn" /etc/rc.local

注: このガイドは、サーバーにファイアウォールが構成されていないことを前提としています。サーバーにUFWなどのファイアウォールがある場合は、代わりに関連ドキュメントを参照してください。

第4に、VPNユーザーごとに、ファイル / etc / ppp / chap-secretsにアカウントを作成します。 。 $USERを置き換えます そのVPNユーザーに使用する実際のユーザー名を使用します。

KEY=`head -c 20 /dev/urandom | sha1sum | nawk '{print $1}'`
echo "$USER pptpd $KEY *" | sudo tee -a /etc/ppp/chap-secrets

最後に、準備が整いました…

クライアントを構成する

Network Managerアプレットで、VPN接続を選択します →VPNの構成 、[追加]をクリックします 。次の画面でPPTPを選択します VPNタイプの場合は、[作成]をクリックします 。

このウィンドウで、サーバーのホスト名またはIPを、 / etc / ppp / chap-secretsに追加したユーザー名とキーとともに入力します。 サーバー上のファイル。

次に、[詳細]をクリックします 。

このウィンドウで、「ポイントツーポイント暗号化(MPPE)を使用する」を有効にし、128ビットを選択します。 安全。 MSCHAPの使用を無効にする 認証( MSCHAPv2を残す 有効)。

最後に、[ OK]をクリックします 次に保存 前のウィンドウを閉じます。

関連:Apple Magic Mouseは頻繁に切断して再接続しますか?

これで、NetworkManagerアプレット→VPN接続に移動してVPN接続をテストできます。 作成した接続を選択します。 VPN接続が成功したことを示すメッセージが表示されたことを確認してから、IPチェックWebサイトにアクセスして、IPがサーバーのIPとして表示されることを確認します。

サーバーへのVPN接続が失敗したことを示すメッセージが表示された場合:最初に、クライアント設定を正しく入力したことを確認します。次に、クライアントがサーバーのTCPポート1723にネットワーク接続していることを確認します。最後に、ログファイルを確認します / var / log / messages さらなる手がかりのためにサーバー上で。 VPN接続は成功したが、その後クライアントからWebサイトを参照できなくなった場合は、pptpdWebサイトにあるこの非常に役立つ診断ガイドを参照してください。

メモ

接続しているローカルネットワークが192.168.0.0/24および192.168.1.0/24サブネットを使用している場合、PPTPサーバーがデフォルトで使用するものであるため、問題が発生します。 pptpd.confで異なるサブネットを使用するようにPPTPを構成する必要があります。

あなたがしたいと思うかもしれない他の多くの構成変更があります。たとえば、すべてのドメイン名ルックアップは、PPTPサーバーを経由する代わりに、ローカルDNSサーバーを使用してクエリされます。時間をかけて完全なドキュメントを読み、この設定や他の多くの設定を変更する方法を見つけてください。


Ubuntu
  1. Ubuntu20.04でWireGuardVPNを設定する方法

  2. Ubuntu20.04でリバースプロキシとしてNginxを設定する方法

  3. Ubuntu16.04でTeamSpeakサーバーをセットアップする方法

  1. Ubuntu /DebianLAMPサーバーをセットアップする方法

  2. UbuntuでWireGuardVPNを設定する方法(ステップバイステップガイド)

  3. Ubuntu22.04でWireGuardを設定する方法

  1. Ubuntu18.04にSquidプロキシサーバーをセットアップしてインストールする方法

  2. Ubuntu18.04でOpenVPNサーバーをセットアップする方法

  3. Ubuntu18.04でWireGuardVPNを設定する方法