OpenVPNサーバー(Ubuntu 20.04 x64)を介してローカルサーバーにポートを転送する

OpenVPNサーバー(Ubuntu 20.04 x64)を介してローカルサーバーにポートを転送する

ターゲット

こんにちは、リモートVPSを介してローカルホームサーバーにポート転送の問題を解決するのに大きな困難を抱えています。私がしたいことは私と私の友人のためにCounter Strike GOサーバーをホストすることです。しかし、私自身を含むすべての人がテキサス州ダラスのVPSを介して接続するようにすることです。これにより、理論的にはOpenVPNを介して自分のホームサーバーに要求が転送されます。私は東海岸にいる友人よりもどのようなpingの利点を持っていますか?

ポートとIP

27005 UDPアウトバウンド

27015 TCPおよびUDPインバウンドおよびアウトバウンド主要港

27020 UDPインバウンドとアウトバウンド

51840 UDPアウトバウンド

WAN VPS 45.58.xx.xx

VPNゲートウェイ10.8.0.1

VPN クライアント 10.8.0.2

質問

今、これは私が最初に念頭に置いた単純なプロジェクトでなければならないようです。しかし、オンラインで他のフォーラムの投稿を検索し、多くのことを試した後、手ぶらで出てきました。私の目標は、iptables目標の達成に成功せずに実行したさまざまなコマンドの組み合わせを使用することです。

sysctl -w net.ipv4.ip_forward=1

iptables -I FORWARD 1 -d 10.8.0.2 -p tcp --dport 27015 -j ACCEPT
iptables -I FORWARD 1 -d 10.8.0.2 -p udp --dport 27015 -j ACCEPT
iptables -I FORWARD 1 -d 10.8.0.2 -p udp --dport 27020 -j ACCEPT

iptables -t nat -A POSTROUTING -m conntrack --ctstate DNAT -d 10.8.0.2 -p tcp --dport 27015 -j SNAT --to-source 10.8.0.1
iptables -t nat -A POSTROUTING -m conntrack --ctstate DNAT -d 10.8.0.2 -p udp --dport 27015 -j SNAT --to-source 10.8.0.1
iptables -t nat -A POSTROUTING -m conntrack --ctstate DNAT -d 10.8.0.2 -p udp --dport 27020 -j SNAT --to-source 10.8.0.1
iptables -t nat -A POSTROUTING -m conntrack --ctstate DNAT -d 10.8.0.2 -p udp --dport 27005 -j SNAT --to-source 10.8.0.1
iptables -t nat -A POSTROUTING -m conntrack --ctstate DNAT -d 10.8.0.2 -p udp --dport 51840 -j SNAT --to-source 10.8.0.1
iptables -t nat -A PREROUTING -d 45.58.xx.xx -p udp --dport 27005 -j DNAT --to-dest 10.8.0.2:27005
iptables -t nat -A PREROUTING -d 45.58.xx.xx -p tcp --dport 27015 -j DNAT --to-dest 10.8.0.2:27015
iptables -t nat -A PREROUTING -d 45.58.xx.xx -p udp --dport 27015 -j DNAT --to-dest 10.8.0.2:27015
iptables -t nat -A PREROUTING -d 45.58.xx.xx -p udp --dport 27020 -j DNAT --to-dest 10.8.0.2:27020

iptables -t nat -A POSTROUTING -d 10.8.0.2 -p tcp --dport 27015 -j SNAT --to-source 10.8.0.1
iptables -t nat -A POSTROUTING -d 10.8.0.2 -p udp --dport 27015 -j SNAT --to-source 10.8.0.1
iptables -t nat -A POSTROUTING -d 10.8.0.2 -p udp --dport 27020 -j SNAT --to-source 10.8.0.1
iptables -t nat -A POSTROUTING -d 10.8.0.2 -p udp --dport 27005 -j SNAT --to-source 10.8.0.1
iptables -t nat -A POSTROUTING -d 10.8.0.2 -p udp --dport 51840 -j SNAT --to-source 10.8.0.1

これで、これらのiptableエントリの組み合わせは機能しません。これは、サーバーをローカルで実行すると、これらのポートで実行されているサービスが表示されないか、CSGOクライアントを介してサーバーに接続できないためです。また、コマンドセット間でiptablesを消去し、これらすべてのコマンドはsudoとして実行され、iptables-saveafterwordが実行されました。

追加情報

これはコマンドを実行したときにip aコンソールから受け取ったダンプです。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/void
    inet 127.0.0.1/32 scope host venet0
       valid_lft forever preferred_lft forever
    inet 45.58.xx.xx/32 brd 45.58.xx.xx scope global venet0:0
       valid_lft forever preferred_lft forever
    inet6 2602:ffc5:1f::xx:xxxx/128 scope global
       valid_lft forever preferred_lft forever
    inet6 ::2/128 scope global
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 500
    link/none
    inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fddd:1194:1194:1194::1/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::2105:549d:51f6:9a16/64 scope link stable-privacy
       valid_lft forever preferred_lft forever

上記のダンプについて私が気づいたことの1つはそうではないということです。eth0しかし、私のWANは通過しているので、venet0これが違いをもたらすかどうかはわかりません。

これは不可能なポート転送に加えてVPNに接続でき、接続するとローカルサーバーにインターネットが接続されます。

ありがとうございます!

ベストアンサー1

解決策

多くの場合、簡単な解決策が必要です。最後の質問は、Windowsファイアウォールについてです。何らかの理由で、私のCSGOサーバーはファイアウォールを介して通信することを許可しません。

私がしたことは、私のサーバーexeのファイアウォールを開くだけでした。iptables私が使用したコマンドは次のようになりました。Linuxの問題:

iptables -t nat -A POSTROUTING --out-interface tun0 -j MASQUERADE
iptables -A FORWARD --in-interface venet0 -j ACCEPT

iptables -t nat -A PREROUTING -p tcp -i venet0 -m tcp --dport 27015 -j DNAT --to-destination 10.8.0.2:27015

文字通りそういう意味です。私の記事を読んでくれてありがとう。これから他の人にも役立つことを願っています。

おすすめ記事