Wireguardを介してローカルサービスポートを転送し、ローカルサービスを返します。

Wireguardを介してローカルサービスポートを転送し、ローカルサービスを返します。

私のシステム:

Local: Arch Linux
VPS: Linode uubuntu 20.04.1
Standard Wireguard Package on both ends

だから私は使用していますエアDCCPPD、私のローカルコンピュータにある3つのポートを使用して交通情報を転送するファイル共有プログラムです。

彼らは:

23288/tcp
21500/udp
13875/tcp

私が望むのは、このポートをVPS Wireguardに転送して、ポートがサーバー側で実行され、一般に公開されているように見えるようにすることです。

これを達成するために、次のガイドラインに従ってWireguardインターフェイスの設定を変更しました。

ガイド1

ガイド2

今私の設定は次のとおりです。

ローカル:

[Interface]
PrivateKey = <my key>
Address = 10.66.66.2/32,fd42:42:42::2/128
DNS = 1.1.1.1,94.140.15.15

# packet forwarding
PreUp = sysctl -w net.ipv4.ip_forward=1

# port forwarding
PreUp = iptables -t nat -A PREROUTING -d local.ip.address -p tcp --dport 23288 -j DNAT --to-destination 10.66.66.1
PreUp = iptables -t nat -A PREROUTING -d local.ip.address -p udp --dport 21500 -j DNAT --to-destination 10.66.66.1
PreUp = iptables -t nat -A PREROUTING -d local.ip.address -p tcp --dport 13875 -j DNAT --to-destination 10.66.66.1
PostDown = iptables -t nat -D PREROUTING -d local.ip.address -p tcp --dport 23288 -j DNAT --to-destination 10.66.66.1
PostDown = iptables -t nat -D PREROUTING -d local.ip.address -p udp --dport 21500 -j DNAT --to-destination 10.66.66.1
PostDown = iptables -t nat -D PREROUTING -d local.ip.address -p tcp --dport 13875 -j DNAT --to-destination 10.66.66.1

[Peer]
PublicKey = <my key>
PresharedKey = <my key>
Endpoint = vps.ip.address:49503
AllowedIPs = 0.0.0.0/0,::/0

仕える人:

[Interface]
Address = 10.66.66.1/24,fd42:42:42::1/64
ListenPort = 49503
PrivateKey = <my key>

PreUp = iptables -t nat -A PREROUTING -d vps.ip.address -p tcp --dport 23288 -j DNAT --to-destination 10.66.66.2
PreUp = iptables -t nat -A PREROUTING -d vps.ip.address -p udp --dport 21500 -j DNAT --to-destination 10.66.66.2
PreUp = iptables -t nat -A PREROUTING -d vps.ip.address -p tcp --dport 13875 -j DNAT --to-destination 10.66.66.2
PostDown = iptables -t nat -D PREROUTING -d vps.ip.address -p tcp --dport 23288 -j DNAT --to-destination 10.66.66.2
PostDown = iptables -t nat -D PREROUTING -d vps.ip.address -p udp --dport 21500 -j DNAT --to-destination 10.66.66.2
PostDown = iptables -t nat -D PREROUTING -d vps.ip.address -p tcp --dport 13875 -j DNAT --to-destination 10.66.66.2

### Client name
[Peer]
PublicKey = <my key>
PresharedKey = <my key>
AllowedIPs = 10.66.66.2/32,fd42:42:42::2/128

ご覧のとおり、私のローカルWireguardの内部アドレスは次のとおりです。10.66.66.2サーバーの内部アドレスは次のとおりです。10.66.66.1

今起こっていることは、ローカルコンピュータのローカルポートが23288VPN接続なしで開いているように見えており、ポートチェッカーで確認した後も同様です。他の3つのポートはまだ閉じていますが、使用されているデフォルトのポートが開いているため、大きな問題ではなく、これは私の目的には十分です。 VPNがなくても、他のポートは閉じたように見えます。

まだ使用しているファイアウォールはありません。作業に着手すると、関連するすべてのポートを許可します。

発生する問題は、パッケージがVPNを介して送信された後に発生し、ローカルに戻っていないようです。ご覧のとおり、私はこの3つのポートのすべてのパケットをローカルシステムに送り返す規則を設定しました。ただし、何らかの理由でアプリがairdc表示する必要があるものは表示されないため、その項目は取得されません。

このポートのトラフィックを私のローカルコンピュータに再び「転送」しようとすると、私が何か間違っているのでしょうか?これは私のローカルアプリケーションがパッケージを受け取る正しい方法ですか?そうでない場合、これら3つのポートに渡されたすべてのエントリが正しく返されるようにVPSラインバッカー設定を設定する正しい方法は何ですか?

注目してくれてありがとう!

編集:サービスへのアクセスに使用するローカルポートはhttp://localhost:5960で、次のようにWebからもアクセスできるようにVPNで使用したいと思います。https://vps.ip. 住所:5960しかし、上記と同じ構文を使用してローカルポート5960をサーバーに渡す行を追加しても、まだ機能しません。たぶんこれがすべてを操作するための鍵です。

ベストアンサー1

代わりに、VPS側のポートをローカルコンピュータの内部IPに転送する必要があります。ホームルータからPCのローカルアドレスに接続するのと同じです。ローカルコンピュータをVPSに接続しないでください。

おすすめ記事