web-dev-qa-db-ja.com

UbuntuをVPNサーバーとして設定する最も簡単な方法

私は、VPNクライアントとサーバーをセットアップするための多くのチュートリアルがネット上にあることを知っています。

simple/shortであるものを見つけました。サーバー部分にのみ興味があります。

クライアントでは、OS Xを使用します。そのため、Cisco IPsecにはコストがかかると思われるため、L2TP over IPsecまたはPPTPを使用するソリューションを好みます。

設定に多くの時間を費やしたくありません。誰かが既にセットアップスクリプトを作成しているかもしれません:)

注:Ubuntu 12.04を実行しているEC2マイクロインスタンスを使用しています。

68
sorin

UPDATE:Sierra現在、macOSはPPTP vpnをサポートしていません。この回答は、macOSクライアントSierra以降では無効です。

PoPToP経由のPPTPは簡単です

  1. apt-get install pptpd
  2. /etc/pptpd.confを編集し、remoteipオプションを、DHCPサーバーによって処理されないネットワーク上の範囲に設定します。
  3. /etc/ppp/chap-secretsを編集し、ユーザー名とパスワードを追加します

例えば.

vpnuser pptpd vpnpassword *

これが、pptpのセットアップに必要なすべてです。次に、OS Xクライアントでテストします。

警告:PPTP ISは安全でないプロトコルです!暗号化が破られただけでなく、クリアテキストで認証を送信し、簡単に傍受されます。パスワードをブルートフォースするのに必要な時間は、単一のDESキーをブルートフォースするのに必要な時間とほぼ等しいと推定されています。 PPTPの代わりにOpenVPNまたは別のVPNアーキテクチャの使用を検討してください!

このガイド を使用して、Ubuntu 12.04サーバーでPPTP VPNサーバーをセットアップしました。


ただし、リンクの主なポイントを要約するには:

1:pptpdおよびufwをインストールします。 iptablesはufwの代わりに使用できますが、簡単にするために、ufwがわからない場合はiptablesの方が適しています。

Sudo apt-get install pptpd ufw

2:必要なポートを開きます。このガイドでは、pptp vpnの22(SSH)および1723を提案しています。

Sudo ufw allow 22 
 Sudo ufw allow 1723 
 Sudo ufw enable

3:/etc/ppp/pptpd-optionsを編集します。任意のエディター(私のnanoなので、コマンドはSudo nano /etc/ppp/pptpd-optionsです)でファイルを開き、すべてのOSでこれを汎用的に使用する場合は、#を前に付けてこれらの行をコメント化します。

refuse-pap 
 refuse-chap 
 refuse-mschap

暗号化を無効にする場合は、この行をコメントできます:require-mppe-128

4:_/etc/ppp/pptpd-optionsの編集中に、VPN用のDNSサーバーを追加します。この例では、OpenDNSサーバーを使用しています。

ms-dns 208.67.222.222 
 ms-dns 208.67.220.220

5:/etc/pptpd.confを編集します。お気に入りのエディターでファイルを開きます(私のnanoなので、コマンドはSudo nano /etc/pptpd.confです)。システムのローカルVPN IPを追加する必要があるため、次を追加します。

localip 10.99.99.99 
 remoteip 10.99.99.100-199

システムがVPSの場合、「localip」にパブリックIPを使用します。ローカルネットワーク上にない場合は、コンピューターのネットワークIPを使用します。これらのIPがサブネットに存在する場合は、異なるIPと範囲を使用してください! VPSのパブリックIPがわからない場合は、Dig +short myip.opendns.com @resolver1.opendns.comを実行して見つけてください。

6:/etc/ppp/chap-secretsを編集します。お好みのエディター(私のnanoなので、コマンドはSudo nano /etc/ppp/chap-secrets)でファイルを開き、認証データを追加します。
/etc/ppp/chap-secretsの形式は次のとおりです。

[ユーザー名] [サービス] [パスワード] [許可されたIPアドレス]

例は次のとおりです:sampleuser pptpd samplepassword *

7:pptpdを再起動します。ターミナルで次のコマンドを実行します:Sudo /etc/init.d/pptpd restart

8:/etc/sysctl.confを編集します。お気に入りのエディターでファイルを開きます(私のnanoなので、コマンドはSudo nano /etc/sysctl.confです)。 #の次の行のコメントを外します(先頭の/etc/sysctl.confを削除します):net.ipv4.ip_forward=1
設定を再読み込みします:Sudo sysctl -p

9:この手順では、ufwがあることを前提としています
/etc/default/ufwを編集し、オプションDEFAULT_FORWARD_POLICYDROPからACCEPTに変更します

10:この手順では、ufwがあることを前提としています
/etc/ufw/before.rulesを編集し、/etc/ufw/before.rulesの先頭または*filterルールの直前に以下を追加します(推奨)。

#NAT table rules 
 * nat 
 
:POSTROUTING ACCEPT [0:0] 
#eth0 [.____。への転送トラフィックを許可します。 ] -Aポストルーティング-s 10.99.99.0/24 -o eth0 -j MASQUERADE 
 
#NATテーブルルールの処理
 COMMIT

カーネルバージョン3.18以降を使用している場合(uname -rを実行して確認できます)、# drop INVALID packets ...行の前に次の行も追加します。

-A ufw-before-input -p 47 -j ACCEPT

11:ファイアウォールを再起動して、ルールセットを更新し、/etc/ufw/*.rulesファイルに追加したルールを適用します:Sudo ufw disable && Sudo ufw enable

警告:サーバーがウェブサイトをホストしている場合のHTTPSなど、他のポートを開く必要がある場合は、Sudo ufw allow <PORT>を使用してそれらのポートを個別に許可リストに追加する必要があります

86
Thomas Ward

Ubuntu 12.04でのPPTP VPNの例

Ubuntu 12.04で基本的なPPTP VPNサーバーをセットアップするための簡単なチュートリアルを次に示します。

必要なパッケージをインストールする

                          Sudo apt-get install ppp pptpd

サーバーでPPTP IP範囲を構成する

                          Sudo nano /etc/pptpd.conf

最後に次の行を追加します

                          localip 10.89.64.1
                          remoteip 10.89.64.100-150

これにより、PPTPサーバーがIP 10.89.64.1を使用するようにセットアップされ、IP範囲10.89.64.100〜10.89.64.150がPPTPクライアントに配布されます。プライベートIPアドレスであり、サーバーで既に使用されているIPアドレスと競合しない限り、これらを必要に応じて変更します。

クライアントがこのPPTPサーバーに接続するときに使用するDNSサーバーを構成する

                          Sudo nano /etc/ppp/pptpd-options

変更または最後に次の行を追加します

                          ms-dns 8.8.8.8
                          ms-dns 8.8.4.4

PPTPユーザーを作成します

                          Sudo nano /etc/ppp/chap-secrets

ファイルが次のようになるように、一番下に行を追加します。

                          # client    server  secret          IP addresses
                          test        pptpd   abcd1234        *

NAT接続のPPTPを構成します

この手順を実行しないと接続できますが、このサーバーからWeb接続を読み込むことはできません。

                          Sudo nano /etc/rc.local

「exit 0」行の直前の右下に次を追加します。

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

Eth0と仮定すると、ifconfigを使用してネットワーク名を確認できます。

IPv4 forwadingを有効にします。

                          Sudo nano /etc/sysctl.conf

次の行のコメントを解除します。

                          net.ipv4.ip_forward=1

次に、構成を再読み込みします。

                          Sudo sysctl -p

VPSを再起動すると、すべてのPPTPクライアントからスムーズに動作するはずです。


クライアント側の構成

Macの場合、PPTP VPN接続を追加したことを確認してください。それに加えて、認証設定でサーバーアドレス、アカウント名、およびパスワードを設定するだけです。ここに痛みはありません。

Linuxの場合、NetworkManagerがVPN接続を追加します。 PPTP VPN接続を追加したことを確認してください。そして、私が使用する構成は次のとおりです。

PPTP/VPNクライアント接続をデバッグおよび修正する方法

enter image description here

Windowsの場合

enter image description here

19
Qasim

私の場合、このスレッドに関する他の回答は部分的な回答にすぎませんでした。これがUbuntu 12.04.3で私のために働いたものです

Sudo apt-get install pptpd

以下を/etc/pptpd.confに追加します(IPアドレスは関係ありません。これは、ppp0インターフェイスのIPアドレスのみです)。

localip 10.0.0.1
remoteip 10.0.0.100-200

DNSサーバーを/ etc/ppp/pptpd-optionsに追加します

ms-dns 8.8.8.8
ms-dns 8.8.4.4

IP転送を有効にする

Sudo vim /etc/sysctl.conf

この行のコメントを解除します

net.ipv4.ip_forward=1

変更内容を保存

Sudo sysctl -p /etc/sysctl.conf

/ etc/ppp/chap-secretsを編集し、VPNユーザーを次の形式で追加します。

# Secrets for authentication using CHAP
# client    server  secret          IP addresses
username pptpd supersecretpassword *

PPTPを再起動します

service pptpd restart

ifconfigを実行し、デフォルトのインターフェイスを見つけます。私の場合はbr(物理マシン上の仮想マシンがインターフェイスを共有できるように変更しました。おそらくen

enter image description here

Iptablesをバックアップする

iptables-save > ~/iptables.save

ここで、ifconfigによって明らかにされたデフォルトのインターフェースを使用して、iptablesの変更を行います。

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface br0 -j ACCEPT

システムの再起動時に永続的に保つため。

Sudo apt-get install iptables-persistent

クライアントコンピューターにVPNを追加する(Mac)

システム環境設定>ネットワーク> [+]> VPN

enter image description here

enter image description here

次に、[認証設定]> [パスワード]を選択し、ここにパスワードを入力します

enter image description here

9
Nick Woodhams

以下は、OpenVPNの痛みを取り除いた非常に甘いプロジェクトです。

https://github.com/Nyr/openvpn-install

実行するだけで、オープンVPNがインストールされ、構成されます。最後に、クライアントのセットアップに使用できるclient.ovpnファイルがポップアップ表示されます。かなりうまくいくようです。

7
HappyCoder86