PPTP(Point-to-Point Tunneling Protocol)は、リモートユーザーがダイヤルアップしてローカルISPに接続し、インターネットを介してリモートで会社のリソースに安全にアクセスできるようにするために使用される新しいテクノロジーです。 PPP(Point-to-Point Protocol)フレームをIPデータパケットにカプセル化して、IPベースのインターネットで送信できるようにします。 PPTPは、TCP(Transmission Control Protocol)接続を使用してトンネルを作成、維持、および終了し、GRE(Generic Routing Encapsulation)を使用してPPPフレームをトンネルデータにカプセル化します。カプセル化されたPPPフレームのペイロードは、暗号化または圧縮、あるいは暗号化と圧縮の両方が可能です。共通のPPTPはルーター上で構成されますが、PPTPサーバーの機能はLinuxでも実現できます。言うまでもありませんが、以下は、CentosでPPTPを展開するV **環境プロセスを直接記録しています。
1 )PPPの確認catコマンドを使用して、pppがオンになっているかどうかを確認します。通常、特別なVPSホストを除いて、サーバーはオンになっています。 [root @ bastion-IDC〜] #cat / dev / ppp cat:/ dev / ppp:そのようなデバイスまたはアドレスcatはありません上記の結果が表示された場合は、pppがオンになっており、pptpを正常に構成できることを意味します。
2 )PPPをインストールします[root @ bastion-IDC〜] #yum -y install gcc gcc-c ++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers [root @ bastion-IDCy-〜]# install ppp iptables iptablesは通常、システムがデフォルトでインストールされた後に使用可能になります。iptablesのインストールはNAT用であるため、PPTPクライアントはPPTPサーバーを介してインターネットにアクセスできます。
3 )PPTPをインストールします(ここではrpmパッケージのインストールを選択します。ソースパッケージのインストールも選択できます)ダウンロードアドレス:[https://pan.baidu.com/s/1dFIGpyx](https://pan.baidu.com/s/1dFIGpyx)抽出パスワード:cefm [root @ bastion-IDC〜] #rpm -ivhpptpd-1.3.4-2。 el6.x86_64.rpm
4 )構成pptp / etc / pptpd.confはpptpdの基本構成ファイルです; [root @ bastion-IDC〜] #vim /etc/pptpd.conf ....... option /etc/ppp/options.pptpd // pptpd拡張属性構成ファイルオプションの場所を指定します。pptpdlogwtmpdebug//デバッグモードを有効にします。pptpdに関連する情報とエラーは/ var / logs / messageに記録されます。これは、stimeout30のトラブルシューティングとデバッグに便利です。//クライアント接続pptpdを設定します。サーバーの最長接続待機時間(接続タイムアウト)、30秒localip 192.168.1.5 // pptpサーバー側IPは、サーバーにバインドされた任意のIPアドレスに設定できます(たとえば、ここでイントラネットipを設定します)remoteip192.168。 100.101-150 // V **への接続に成功した後にクライアントが取得したIPアドレス範囲(pptpサーバーと同じ内部ネットワークセグメントに含めることができますが、PPTPサーバーの内部ネットワークと同じネットワークセグメントを設定しないことをお勧めします)
[ root @ bastion-IDC〜] #vim /etc/ppp/options.pptpd ...... name pptpd // pptpdサーバーの名前(これは非常に重要です。以下のV **アカウント構成の追加に使用されます)debug //デバッグモードをオンにすると、関連情報も/ var / logs / messageに記録されます。ms-dns8.8.8.8// V **ユーザーによって割り当てられたdnsアドレスに変更しますms-dns8.8.4.4
[ root@bastion-IDC ~]# vim /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
xqsj pptpd xqsj@123*
説明:アカウントを1行で追加します。アカウントごとに追加する必要がある4つのフィールドは、ユーザー名、サービス、パスワード、および割り当てられたIPアドレスです(IPが*の場合、ランダムな割り当てを意味し、割り当ての範囲はpptp.confにあります。設定)
6 )システムのIPルーティングおよび転送機能をオンにします[root @ bastion-IDC〜] #echo 1> / proc / sys / net / ipv4 / ip_forward //一時的にオンにします。サーバーを再起動すると無効になります[root @ bastion-IDC〜] #vim / etc / sysctl.conf //永続的に開く... net.ipv4.ip_forward = 1 [root @ bastion-IDC〜] #sysctl -p
7 )サービスを開始します[root @ bastion-IDC〜]#/ etc / init.d / pptpd start pptpdを開始します:[OK] [root @ bastion-IDC〜] #lsof -i:1723 // PPTPサービスのデフォルトポートは1723コマンドですPIDユーザーFDタイプデバイスサイズ/オフノード名pptpd19714ルート6uIPv4 33130051 0t0 TCP *:pptp(リッスン)
[root @ bastion-IDC〜] #chkconfig pptpdonの起動後に自動的に開始するようにサービスを構成します
8 )iptables転送を構成します[root @ bastion-IDC〜] #iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j SNAT --to-source 133.110.186.55//クライアントがV **に接続できることを確認します通常どおりオンラインにします[root @ bastion-IDC〜] #iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT [root @ bastion-IDC〜]#/ etc / init.d / iptables save [root @ bastion-IDC〜]#/ etc / init.d / iptables restart上記のコマンドの意味:192.168.100.0セグメントのIPアドレス(つまり、pptpd.confによって構成されたremoteipアドレスセグメント)を渡すパブリックIP133.110.186.55は外部ネットワークにアクセスします。その中で、133.110.186.55はpptpデプロイメントマシンのパブリックIPアドレスです。それ以外の場合、ダイヤルアップしたV **ユーザーはイントラネットにのみアクセスできます。 pptpサービスポート1723アクセスを開く
9 )次に、クライアントで新しいV **(暗号化方式がデフォルト)接続を作成してテストできます。 (以下はwin10での運用記録です)
接続に成功した後、クライアントのIP情報を確認し、インターネットを閲覧するのが正常かどうかなどを確認します。
「リモートネットワークでデフォルトのゲートウェイを使用する」オプションを必ずチェックして、V **に正常に接続した後、インターネットに正常にアクセスできることを確認してください。出口IPはPPTPサーバーの外部ネットワークIPです(クライアントのファイアウォールは閉じています)。
Recommended Posts