Image

ナレッジベース → ローカルネットワークの統合(VDSサーバー経由でローカルデバイスにアクセス)

[仮想サーバー]
公開日: 07.03.2024

インターネット接続のあるローカルネットワーク上の機器にアクセスする必要があるが、外部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>

サーバーの設定が完了し、接続の準備が整いました。

参照:





No Comments Yet