1.PPTPがサポートされているかどうかを確認します
1. インストール前にシステムが PPTP をサポートしているかどうかを確認してください
modprobe ppp-compress-18 && echo success #出力する必要があります: success
2. TUN/TAPを有効にするかどうか
cat /dev/net/tun #出力する必要があります: cat: /dev/net/tun: ファイル記述子が不正な状態です
3. pppを有効にするかどうか
cat /dev/ppp #出力する必要があります: cat: /dev/ppp: そのようなデバイスまたはアドレスはありません
上記3つの条件を満たさない環境の場合、pptpがサポートされていない可能性があります。
2. 関連するソフトウェアをインストールする
1. PPPをインストールする
yum install -y ppp
2.epelソースをインストールする
yum install -y epel-release
3. ソースリストに追加されているかどうかを確認します
おいしい再ポリリスト
4. そうでない場合は、ソースリストを更新します
yum -y アップデート
5.pptpをインストールする
yum install -y pptpd
注: 例外がある場合: 構成されたリポジトリの 1 つが失敗しました (不明)
解決策は、まず epel をアンインストールし、更新後にインストールします。
yum epel-release を削除します
yum -y アップデート
yum インストール epel-release
3. 構成を変更する
1.vi /etc/pptpd.conf で VPN イントラネット IP セグメントを設定します。
最後に、IP 設定は次のように変更されました。
ローカルリップ 192.168.100.1
リモートIP 192.168.100.234-238,192.168.100.245
2.vi /etc/ppp/options.pptpd
DNS エントリを変更します。
ms-dns 8.8.8.8
ms-dns 8.8.4.4
変更のログ:
nologfd
ログファイル /var/log/pptpd.log
3.vi /etc/ppp/chap-secrets
VPN アカウントのパスワードを設定します (形式: {アカウント} pptpd {パスワード} *)
例:pptptest pptpd 123456 *
pptp の開始:service pptpd start
pptp を閉じる: サービス pptpd 停止
pptp の再起動: サービス pptpd の再起動
ファイアウォールをオフにし、Windows で「VPN 接続の追加」を使用してサービス IP、ユーザー名、パスワードを入力すると接続できるようになります。この時点では、ローカル コンピューターは VPN サーバーにアクセスできますが、アクセスできません。外部ネットワークにアクセスします。
ファイアウォールを開始します:service firewalld start
ファイアウォールをオフにします:service firewalld stop
ファイアウォールを再起動します:service firewalld restart
4. サーバー システムのルーティング モードを開き、パケット転送をサポートします (VPN 経由で外部ネットワークにアクセスします)。
1.vi /etc/sysctl.conf カーネル転送をサポートするようにカーネル パラメータを変更し、次の行を追加します。
net.ipv4.ip_forward=1
sysctl -p #設定をすぐに有効にします
2. ルール ファイルを作成します: vi /usr/lib/firewalld/services/pptpd.xml。内容は次のとおりです。
<?xml バージョン="1.0" エンコーディング="utf-8"?>
<サービス>
<short>pptpd</short>
<description>PPTP</description>
<ポートプロトコル="tcp" ポート="1723"/>
</サービス>
3. ファイアウォールを開始します:service firewalld start
4. サービスを追加します。
firewall-cmd --permanent --zone=public --add-service=pptpd
ファイアウォールが IP をマスカレードできるようにします。
ファイアウォール-cmd --add-masquerade
5. ポート 47 と 1723 を開きます。
firewall-cmd --permanent --zone=public --add-port=47/tcp
firewall-cmd --permanent --zone=public --add-port=1723/tcp
6. gre プロトコルを許可します。
firewall-cmd --permanent --direct --add-rule ipv4 フィルター INPUT 0 -p gre -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 フィルター 出力 0 -p gre -j ACCEPT
7. データパケットが eth0 および ppp+ インターフェイスに出入りできるようにルールを設定します。
firewall-cmd --permanent --direct --add-rule ipv4 フィルター FORWARD 0 -i ppp+ -o eth0 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 フィルター FORWARD 0 -i eth0 -o ppp+ -j ACCEPT
8. 転送ルールを設定します。送信元アドレスから送信されるすべてのパケットは偽装され、アドレスが変更され、eth0 によって送信されます。
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o eth0 -j MASQUERADE -s 192.168.100.0/24
9. ファイアウォールを再起動します:service firewalld restart
不思議なことに、このステップに到達した後も、まだインターネットにアクセスできないことがわかりました。
外部ネットワークにアクセスするためのルールを追加するには iptables をインストールする必要があります。設定後に iptables をアンインストールしても問題ありません。代わりに firewall-cmd コマンドを使用してもよいでしょう。コマンドの置き換え方法は今のところわかりません。
yum install -y iptables-services
pptp ポート 1723 を開いて転送を許可します
iptables -I INPUT 7 -m state --state NEW -p tcp --dport 1723 -j ACCEPT
iptables -P 転送受け入れ
iptables 構成、仮想ネットワークセグメント NAT サポートを構成します。pptp クライアントをオンラインにする必要がない場合、この手順は無視できます。
iptables -t nat -A ポストルーティング -o eth0 -j マスカレード
iptables ルールを保存する
サービス iptables 保存
10. ファイアウォールを再起動します:service firewalld restart
ようやくインターネットをサーフィンできるようになり、ブラウザ Baidu に IP を入力すると、それがサーバーの IP アドレスであることがわかります。
サーバー ログ /var/log/pptpd.log を観察します。接続が切断されたときにログが出力されます。
プラグイン /usr/lib64/pptpd/pptpd-logwtmp.so がロードされました。
インターフェイス ppp0 を使用しています
接続: ppp0 <--> /dev/pts/1
発信者番号 116.22.2.240 からのピア 承認された
MPPE 128 ビット ステートレス圧縮が有効になっています
プロキシ ARP のイーサネット アドレスを決定できません
ローカル IP アドレス 192.168.0.1
リモート IP アドレス 192.168.1.1
LCP はピアによって終了されました (8Q^WM- ^@<M-Mt^@^@^@^@)
接続時間 0.1 分。
送信 2686 バイト、受信 7458 バイト。
モデムがハングアップし
ました。接続が終了しました。