Ubuntuを実行しているLinodeなどの誰かからVirtual Private Serverがあると仮定すると、Ubuntuクライアントが接続できるようにPPTP VPNを簡単に設定するにはどうすればよいですか?
デフォルトでは、UbuntuはこれらのPPTPネットワークへの接続を提供しています。接続しやすいように設定します(つまり、クライアントにパッケージをインストールしません)。
Ubuntuを実行しているLinodeなどの誰かからVirtual Private Serverがあると仮定すると、Ubuntuクライアントが接続できるようにPPTP VPNを簡単に設定するにはどうすればよいですか?
デフォルトでは、UbuntuはこれらのPPTPネットワークへの接続を提供しています。接続しやすいように設定します(つまり、クライアントにパッケージをインストールしません)。
回答:
絶対最小サーバー設定
以下は、Ubuntuで実行されている基本的なPPTP VPNサーバーを取得するために必要な絶対的な最小手順です。その後、クライアントはサーバーにVPN接続し、インターネットトラフィックをルーティングして、サーバーを経由してインターネットに到達できるようになります。いつものように、完全なドキュメントを参照して、すべてが何をしているかを理解してください。
まず、必要なソフトウェアをインストールします。
sudo apt-get install pptpd
第二には、有効ip_forward
に関連する行をコメントアウトすることで、IPv4用のカーネルには/etc/sysctl.conf:
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番目に、プライベートVPNネットワーク上のユーザーがインターネットにパケットをルーティングできるように、NATを有効にします(まだ有効になっていない場合)。
OUTIF=`/sbin/ip route show to exact 0/0 | sed -r 's/.*dev\s+(\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$CMD\n" /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
最後に、準備ができています...
クライアントを構成する
では、ネットワークマネージャアプレット、選択VPN接続 → 設定VPNを、クリックします。次の画面で、VPNタイプにPPTPを選択し、[ 作成 ]をクリックします。
このウィンドウで、サーバーのホスト名またはIPと、サーバー上の/ etc / ppp / chap-secretsファイルに追加したユーザー名とキーを入力します。
[ 詳細 ]をクリックします。
このウィンドウで、「ポイントツーポイント暗号化(MPPE)を使用する」を有効にし、128ビットセキュリティを選択します。MSCHAP認証の使用を無効にします(MSCHAPv2を有効のままにします)。
最後に、クリックし、[OK]をして、保存前のウィンドウを閉じます。
これで、Network Managerアプレット→ VPN接続に移動し、作成した接続を選択して、VPN接続をテストできます。VPN接続が成功したことを示すメッセージが表示されることを確認し、IPチェックWebサイトを参照して、IPがサーバーのIPとして表示されることを確認します。
サーバーへのVPN接続が失敗したというメッセージが表示された場合:最初に、クライアント設定を正しく入力したことを確認してください。次に、クライアントがサーバーのTCPポート1723にネットワーク接続されていることを確認します。最後に、サーバー上のログファイル/ var / log / messagesを調べて、さらに手がかりを探します。VPN接続は成功したが、その後クライアントからWebサイトを閲覧できない場合は、pptpd Webサイトでこの非常に役立つ診断ガイドを参照してください。
ノート
接続しているローカルネットワークが192.168.0.0/24および192.168.1.0/24サブネットを使用している場合、PPTPサーバーがデフォルトで使用するものであるため、問題が発生します。pptpd.confで異なるサブネットを使用するようにPPTPを構成する必要があります。
他にも多くの構成変更が必要になる場合があります。たとえば、ドメイン名のルックアップはすべて、PPTPサーバーを経由する代わりに、ローカルDNSサーバーを使用して照会されます。この設定や他の多くの設定を変更する方法については、ドキュメント全体を読んでください。
私が書いたこのチュートリアルはあなたをガイドします。VPSを使用している人々が犯すよくある間違いを避けるのに役立ちます。
最初にVPSパネルにログインし、TUN / TAPおよびPPPを有効にします。そのようなオプションがない場合は、ISPに連絡してこれを有効にしてください。
最初にこのパッケージをインストールします。
sudo apt-get install pptpd
VPNを公開したくないので、ユーザーを作成します。
私はあなたがNANOまたはあなたが好きなテキストエディタを使用できるVIを使用しています
vi /etc/ppp/chap-secrets
形式は
[username] [service] [password] [ip]
例
john pptpd johnspassword *
*
すべてのIPアドレスからのアクセスが許可されることを意味します。静的IPアドレスがある場合にのみIPを指定してください。
vi /etc/pptpd.conf
localipおよびremoteip設定を探します。#
これらの設定が実際に認識されるように、両方の(コメント文字)を削除します。localipをサーバーIPに変更します。サーバーIPがわからない場合は、VPSコントロールパネルで確認できます。
remoteipは基本的に、クライアント(VPNに接続されているコンピューター)が割り当てられるIP範囲です。たとえば、192.168.120.231-235というIP範囲が必要な場合、VPNサーバーは192.168.120.232、192.168.120.233、192.168.120.234、および192.168.120.235をクライアントに割り当てることができます。このフィールドに使用するものはユーザー次第です。
個人的に私はこの設定を選択します:
localip 10.0.0.1
remoteip 10.0.0.100-200
したがって、約200のクライアントを接続できます。
/etc/ppp/pptpd-options
ms-dns 8.8.8.8
ms-dns 8.8.4.4
これをファイルの最後に追加するか、それらの行を見つけてコメント解除し、IPを目的のパブリックDNSに変更するかを選択できます。
PPTPサーバーでIP転送を有効にすることが重要です。これにより、PPTPでセットアップしたパブリックIPとプライベートIPの間でパケットを転送できます。/etc/sysctl.confを編集し、次の行がまだ存在しない場合は追加します。
net.ipv4.ip_forward = 1
変更をアクティブにするには、次を実行します sysctl -p
これは重要な部分です。VPSを使用している場合は、おそらくeth0を使用せず、代わりにvenet0を使用します。 ifconfig
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save
また、PPTPクライアントが互いに通信するようにしたい場合は、次のiptablesルールを追加します。
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 eth0 -j ACCEPT
繰り返しますが、VPSを使用している場合は、eth0をvenet0に置き換える必要があります。
実行することをお勧めします
sudo iptables-save
これで、PPTPサーバーはルーターとしても機能します。
このコマンドを実行して、VPNサービスが起動時に開始されるようにすることができます
systemctl enable pptpd
iptables-persistentをインストールして、再起動後もルールが維持されるようにすることをお勧めします
sudo apt-get install -y iptables-persistent
このチュートリアルに従ってください:PPTP VPN Server with Ubuntu
ソフトウェアの選択で、OpenSSHサーバー(マシンのリモート管理用)を選択し、実際のpptpdパッケージの手動パッケージ選択を選択します。より多くのサービスが必要な場合、たとえば、コンピューターをWebサーバーとしても使用する場合は、もちろん追加のソフトウェアを選択できます。セキュリティ上の理由から、一般的に、重要な環境でセットアップする場合は、マシンごとに外部からアクセス可能なサービスから1つだけを実行することをお勧めしますが、実際はあなた次第です。
手動選択で、インストールされていないパッケージ> netに移動し、pptpdを見つけます。それを選択し、パッケージをインストールするために「g」を2回押します。
インストールを終了して、システムを再起動します。
新しくセットアップしたマシンにSSHで接続し、
sudo aptitude update && sudo aptitude safe-upgrade
最初に実行してすべてのパッケージを更新します。必要に応じて再起動します。pptpd.confファイルを開き
sudo nano /etc/pptpd.conf
ます。必要に応じて下部のIP設定を調整します。ローカルIPの下で、VPNサーバーのローカルネットワークにIPを入力します(分からない場合は「sudo ifconfig」と入力すると、ネットワークインターフェイスと割り当てられたIPが表示されます)。その点については、/ etc / network / interfacesまたはルーター構成で静的IPをセットアップすることをお勧めします。必要に応じて、ホスト名を変更できます
/etc/ppp/pptpd-options
vpn:へのアクセスを許可するユーザー名とパスワードを指定します
sudo nano /etc/ppp/chap-secrets
。前の手順でホスト名を変更した場合は、同じホスト名を入力してくださいserver
例:
# client server secret IP addresses eubolist pptpd myübersecretpassword *
pptpのように、パスワードのみに依存するキーファイルセキュリティはありません。そのため、長い(たとえば32文字)ランダムなパスワードを選択する必要があります。ここでそのようなパスワードを生成できます。
ここで、IPマスカレードを設定する必要があります。
sudo nano /etc/rc.local
「exit 0」という行の上に次の行を追加します
# PPTP IP forwarding iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
オプションで、ブルートフォース攻撃からSSHサーバーを保護することをお勧めします。
#SSH Brute Force Protection iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j
落とす
(「exit 0」の上にも挿入される)
マシン上のインターネットに接続するように構成されているインターフェイスに応じて、「eth 0」を別のインターフェイスに変更する必要があります。
最後に、この行のコメントを外します
/etc/sysctl.conf
:net.ipv4.ip_forward=1
リブート
VPNサーバーがインターネットに直接接続しない場合、ポート1723 TCPおよびGREをVPNサーバーのLAN IPに転送する必要がある場合があります。ベンダー固有の手順については、ルーターのマニュアルまたはportforward.comを参照してください。繰り返しますが、静的IPを割り当てる必要がある場合があります
/etc/network/interfaces
。