インターネット接続のあるローカルネットワーク上の機器にアクセスする必要があるが、外部IPアドレスがない場合のタスクがあります。この場合、複数のローカルネットワークやデバイスが存在することがあります。このため、さまざまなサービスがありますが、この例では、Debian 12 を実行している VDS サーバーに PPTP サービスをインストールする手順を説明します。
私たちの目的は、サービスのサーバー部分を設定し、ローカルネットワークからデバイスを接続し、リモートアクセスを取得することです。これは、VDS サーバーが専用のIPアドレスを持っているため可能です。
例: あなたはオフィスや別荘にサーバーを設置し、モバイルインターネットで接続しているとします。モバイル通信事業者は、個人に対して固定された専用IPアドレスを提供しないことがよくあります。インターネット経由で接続するために、VDS Debian 12 で PPTP サービスのサーバー部分を設定し、自宅のサーバーをクライアント部分としてサーバーに接続するようにします。
1. サービスのインストール
apt install ppp pptpd
1.1 PPTP サービスの設定 /etc/pptpd.conf
ローカルネットワークを決定し、設定を以下のように変更します。
localip 10.10.10.1
remoteip 10.10.10.2-254
サーバーに複数の外部IPアドレスを注文した場合、サービスが動作するIPを指定する行を追加できます。
listen external_internet_ip
1.2 /etc/ppp/pptpd-options ファイルの末尾にオプションを追加します。
mtu 1400
mru 1400
auth
require-mppe
必要に応じて設定を編集します。
ms-dns 8.8.8.8
ms-dns 8.8.4.4
1.3 /etc/sysctl.conf のオプションをコメント解除
net.ipv4.ip_forward=1
設定を適用します。
sysctl -p
1.4 ファイアウォールの設定、ここでは iptables を使用します。
apt install iptables
1.4.1 ルールを追加、eth0 は外部インターフェース名です。
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
1.4.2 接続されたクライアント間でローカルネットワークを有効にする、eth0 は外部インターフェース名です。
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.10.10.0/24 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface eth0 -j ACCEPT
1.4.3 VDS サーバー経由のインターネットアクセスを無効化
必要に応じて、ローカルネットワークを統合し、デバイスが引き続き自分のインターネットを使用するようにする場合、eth0 が外部IPを持つインターフェースであるルールを追加します。
iptables -I FORWARD -s 10.10.10.0/24 -o eth0 -j DROP
クライアント側で「リモートネットワークのデフォルトゲートウェイを使用する」オプションを無効にする必要があることに注意してください。ローカルネットワークを統合しますが、インターネットアクセスはVDSサーバー経由ではなく、ローカルプロバイダー経由となります。
1.4.4 ルールの保存
iptables-save > /etc/iptables.conf
1.4.5 起動時にルールを適用、/etc/network/interfaces ファイルの末尾に行を追加します。
pre-up /sbin/iptables-restore < /etc/iptables.conf
1.5 /etc/ppp/chap-secrets ファイルにユーザーを追加
この例では、user1 には空いている任意のIPアドレスが割り当てられ、user2 は常に静的IPを取得します。
user1 pptpd password1 "*"
user2 pptpd password2 "10.10.10.10"
1.6 起動時にサービスを有効化し、設定を適用
systemctl enable pptpd
service pptpd restart
2. アクティブな接続を確認
すべてのアクティブな接続とそのIPアドレスを次のコマンドで確認できます。
2.1 ifconfig を使用
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1396
inet 10.10.10.1 netmask 255.255.255.255 destination 10.10.10.2
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 323 bytes 49503 (48.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22 bytes 626 (626.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ppp1: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1396
inet 10.10.10.1 netmask 255.255.255.255 destination 10.10.10.10
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 24 bytes 896 (896.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24 bytes 890 (890.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2.2 route を使用
10.10.10.2 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
10.10.10.10 0.0.0.0 255.255.255.255 UH 0 0 0 ppp1
2.3 service pptpd status を使用
pptpd.service - PoPToP Point to Point Tunneling Server
Loaded: loaded (/lib/systemd/system/pptpd.service; enabled; preset: enabled)
Active: active (running) since Thu 2024-03-07 13:42:51 MSK; 4h 5min ago
Docs: man:pptpd(8)
man:pptpctrl(8)
man:pptpd.conf(5)
Main PID: 480 (pptpd)
Tasks: 5 (limit: 1099)
Memory: 4.3M
CPU: 9.462s
CGroup: /system.slice/pptpd.service
├─480 /usr/sbin/pptpd --fg
├─605 "pptpd [123.123.123.123:97EE - 0400]"
├─606 /usr/sbin/pppd local file /etc/ppp/pptpd-options 115200 10.10.10.1:10.10.10.3 ipparam 123.123.123.123 plugin /usr/lib/pptpd/pptpd-logwtmp.so pptpd-original-ip 123. 123 .123.123>
├─986 "pptpd [123.123.123.123:D114 - 0580]"
└─987 /usr/sbin/pppd local file /etc/ppp/pptpd-options 115200 10.10.10.1:10.10.10.2 ipparam 123.123.123.123 plugin /usr/lib/pptpd/pptpd-logwtmp.so pptpd-original-ip 123. 123 .123.123>
サーバーの設定が完了し、接続の準備が整いました。
参照:
- Debian 12 ワークステーションへのリモートアクセスを取得するための PPTP クライアントの設定
- Windows 10 ワークステーションへのリモートアクセスを取得するための PPTP クライアントの設定