私のシステム:
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インターフェイスの設定を変更しました。
今私の設定は次のとおりです。
ローカル:
[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
今起こっていることは、ローカルコンピュータのローカルポートが23288
VPN接続なしで開いているように見えており、ポートチェッカーで確認した後も同様です。他の3つのポートはまだ閉じていますが、使用されているデフォルトのポートが開いているため、大きな問題ではなく、これは私の目的には十分です。 VPNがなくても、他のポートは閉じたように見えます。
まだ使用しているファイアウォールはありません。作業に着手すると、関連するすべてのポートを許可します。
発生する問題は、パッケージがVPNを介して送信された後に発生し、ローカルに戻っていないようです。ご覧のとおり、私はこの3つのポートのすべてのパケットをローカルシステムに送り返す規則を設定しました。ただし、何らかの理由でアプリがairdc
表示する必要があるものは表示されないため、その項目は取得されません。
このポートのトラフィックを私のローカルコンピュータに再び「転送」しようとすると、私が何か間違っているのでしょうか?これは私のローカルアプリケーションがパッケージを受け取る正しい方法ですか?そうでない場合、これら3つのポートに渡されたすべてのエントリが正しく返されるようにVPSラインバッカー設定を設定する正しい方法は何ですか?
注目してくれてありがとう!
編集:サービスへのアクセスに使用するローカルポートはhttp://localhost:5960で、次のようにWebからもアクセスできるようにVPNで使用したいと思います。https://vps.ip. 住所:5960しかし、上記と同じ構文を使用してローカルポート5960をサーバーに渡す行を追加しても、まだ機能しません。たぶんこれがすべてを操作するための鍵です。
答え1
代わりに、VPS側のポートをローカルコンピュータの内部IPに転送する必要があります。ホームルータからPCのローカルアドレスに接続するのと同じです。ローカルコンピュータをVPSに接続しないでください。