私は、VPNクライアントとサーバーをセットアップするための多くのチュートリアルがネット上にあることを知っています。
simple/shortであるものを見つけました。サーバー部分にのみ興味があります。
クライアントでは、OS Xを使用します。そのため、Cisco IPsecにはコストがかかると思われるため、L2TP over IPsec
またはPPTP
を使用するソリューションを好みます。
設定に多くの時間を費やしたくありません。誰かが既にセットアップスクリプトを作成しているかもしれません:)
注:Ubuntu 12.04を実行しているEC2マイクロインスタンスを使用しています。
UPDATE:Sierra現在、macOSはPPTP vpnをサポートしていません。この回答は、macOSクライアントSierra以降では無効です。
PoPToP経由のPPTPは簡単です
apt-get install pptpd
/etc/pptpd.conf
を編集し、remoteipオプションを、DHCPサーバーによって処理されないネットワーク上の範囲に設定します。/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_POLICY
をDROP
から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>
を使用してそれらのポートを個別に許可リストに追加する必要があります
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クライアント接続をデバッグおよび修正する方法
Windowsの場合
私の場合、このスレッドに関する他の回答は部分的な回答にすぎませんでした。これが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
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)
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
次に、[認証設定]> [パスワード]を選択し、ここにパスワードを入力します
以下は、OpenVPNの痛みを取り除いた非常に甘いプロジェクトです。
https://github.com/Nyr/openvpn-install
実行するだけで、オープンVPNがインストールされ、構成されます。最後に、クライアントのセットアップに使用できるclient.ovpnファイルがポップアップ表示されます。かなりうまくいくようです。