PPTP の奇妙な使い方。あなたの ISP は Shanghai, China Telecom でなければなりません。
VPS1 のすべてのネットワーク トラフィックを VPS2 にルーティングする場合、ユーザーの IP アドレスを把握し、例外を設定する必要があります。または、ユーザーは応答パケットを受信しません。
iptables を使用して DNAT を有効にできます。VPS1 をルーターとして、VPS2 を内部pptp サーバーとして作成します。
まず、カーネルモジュールがロードされているかどうかを確認する必要がありip_nat_pptp
ますip_conntrack_pptp
。PPTP は TCP ポート 1723 を使用して制御コマンドを送信し、GRE を使用してデータを転送します。GRE にはポートがないため、サーバーは CallID を使用してエンドポイントを追跡し、NAT を実装する必要があります。これはPPTP パススルーと呼ばれます。
# lsmod | grep pptp
ロードされていない場合は、ロードします。
# modprobe ip_nat_pptp
# modprobe ip_conntrack_pptp
次に、IPv4 ネットワーク転送を有効にする必要があります。
# sysctl -w net.ipv4.ip_forward=1
これで、着信および転送要求を受け入れる iptables ルールを作成できます。
# iptables -A INPUT -d $VPS1_IP_ADDR -p tcp --dport 1723 -j ACCEPT
# iptables -A INPUT -d $VPS1_IP_ADDR -p gre -j ACCEPT
# iptables -A FORWARD -d $VPS2_IP_ADDR -p tcp --dport 1723 -j ACCEPT
# iptables -A FORWARD -d $VPS2_IP_ADDR -p gre -j ACCEPT
最後に DNAT ルールを設定します。
# iptables -A PREROUTING -d $VPS1_IP_ADDR -p tcp --dport 1723 -j DNAT --to-destination $VPS2_IP_ADDR
# iptables -A POSTROUTING -d $VPS2_IP_ADDR -p tcp --dport 1723 -j MASQUERADE
これで、VPS2 の pptpd のユーザー名/パスワードを使用して VPS1 を接続できます。