したがって、openVPNを使用して有料VPNサービスにWD MyCloud EX2を接続しましたが、まだポート転送を使用してローカルネットワークの外部ネットワークからssh、ftp、およびplexポート(22,20-21,32400)にアクセスしたいと思います。 。 VPNサーバーにポート転送を設定できることを認識しており、プロバイダはそれを許可しますが、IPは常に変更されるため、VPNプロバイダを経由したくありません。デフォルトでは、NASが存在するローカルネットワークにいる場合(そしてopenVPNを使用してローカルネットワークにルーティングするとき)、ポートにアクセスできますが、ポートフォワーディングを使用して接続できません(NAS VPNを有効にするとすぐに停止します)。 。たとえば、いくつかの基本的なIptablesルールを試しましたが、うまくiptables -A OUTPUT -p tcp -m tcp --dport 32400 -j AC
いかないようです。同様の試みに関するさまざまな投稿を見ましたが、どちらか一つのようです。 NASが特定のポートに対してopenVPNをバイパスできるようにする方法について考えている人はいますか?ありがとう
答え1
問題はルーティングによって発生する可能性があります。ほとんどの場合、VPN プロバイダーは、デバイスがデフォルトゲートウェイとして VPN サーバーを使用するように強制するパスをプッシュします。通常はプッシュされます0.0.0.0/1
。128.0.0.0/1
これらの2つのパスは、IPv4アドレス空間全体をカバーし、プレフィックスが大きいため(/ 24など)、直接アップストリームゲートウェイおよびローカルネットワークと通信し続けるためです。
たとえば、VPNクライアントがインターネット上のホスト(1.2.3.4など)からそのインターフェイスのパケットを受信すると、ルートと一致してeth0
VPN0.0.0.0/1
サーバーに送信されます。 1.2.3.4 VPN サーバのパケットが不要なため、接続を確立できません。あなたが望むのは、応答パケットがeth0
最初のパケットが入ってきたのと同じ方法で出ることです。
これは、ポート転送を介してアクセスする必要があるVPNクライアントコンピュータのルーティングポリシーを介して実行できます。この同様の質問と最初の答えを参照してください。受信と同じインターフェースで応答しますか?
引用するには:
echo 200 isp2 >> /etc/iproute2/rt_tables
ip rule add from <interface_IP> dev <interface> table isp2
ip route add default via <gateway_IP> dev <interface> table isp2
答え2
動的IPアドレスのドメイン名を持つことができるddns(動的DNS)を設定できます。私は個人的にno-ipを使います。無料で、30日ごとにボタンを押して引き続きこのドメイン名を希望することを確認してください。無料です。
Winコンピュータのクライアントまたはネットワーク上のLinuxサーバーを介してデフォルトのルーターとして設定できます。
openvpnを設定し(直接構築した場合)、トンネルを使用してVPNタイプ3に設定できます。これにより、接続するすべてのネットワークの同じサブネットにデバイスが配置されます。ホームネットワークアドレスに別のIPを使用することをお勧めします。 10.10.1.0/24として使用すると、IPアドレスの競合は発生しません。