udp2grpc
1.0.0
_______________
/ / / / __ / __ __ ____ / __ / __ / ____/
/ / / / / / / /_/ /_/ // __ / /_/ / /_/ / /
/ /_/ / /_/ / ____/ __// /_/ / _, _/ ____/ /___
____/_____/_/ /____/__、/_/ |_/_/ ____/
/___/
このプロジェクトは udp2raw から多大な影響を受けています
UDP トラフィックを暗号化された gRPC/TCP トラフィックに変えるトンネルは、UDP ファイアウォール (または不安定な UDP 環境) をバイパスするのに役立ちます。 UDP がブロックされているか、QOS が適用されているか、単にサポートが不十分であると仮定します。
dockerhub イメージをプルします
docker pull mrjoshlab/udp2grpc:最新
https://github.com/mrjosh/udp2grpc/releases からバイナリ リリースをダウンロードします。
サーバー IP が 127.0.0.1 で、サービス ドメインが example.com であると仮定します。
# 特定の IP アドレスに対して生成utg gen-certificates --dir ./cert --ip 127.0.0.1# 特定のドメイン名に対して生成utg gen-certificates --dir ./cert --domain example.com# ドメインと iputg gen の両方に対して生成-certificates --dir ./cert --domain example.com --ip 127.0.0.1
utg genkey# 出力# R1kvISImDxxRS1AnMDUrSy0xVg9XFzhDCyszGSdAX04=
utg ピア -n ジョシュア-MBP -r 127.0.0.1:51820
出力
server side config:
-------------------------------------------------------------
...
peers:
- name: Joshua-MBP
privatekey: LlRIVyEqVxtZORxdIgoiMTg6UxIsTCBYRC4/K0U4VjM=
remote: 127.0.0.1:51820
available_from:
- 0.0.0.0/0
...
client side config:
-------------------------------------------------------------
client:
privatekey: LlRIVyEqVxtZORxdIgoiMTg6UxIsTCBYRC4/K0U4VjM=
remote: '{{ server ip address }}'
...サーバー側の設定ファイル
サーバー: 秘密鍵: "{{ スーパーセキュアサーバー秘密鍵 }}"
聞く: 0.0.0.0:52935
tls:insecure: falsecert_file: ./cert/server.crtkey_file: ./cert/server.key
仲間:
- 名前: "PeerName"privatekey: "{{ super-secure-client-private-key }}"remote: "127.0.0.1:51820"available_from:
- 192.168.1.0/24クライアント側の設定ファイル
クライアント: 秘密鍵: "{{ スーパーセキュアクライアント秘密鍵 }}"
聞く: 0.0.0.0:51820
リモート: 127.0.0.1:52935
永続キープアライブ: 30
tls:insecure: falsecert_file: ./cert/server.crtサーバー ドメイン example.com で、udp ポート 51820 でサービスをリッスンしているとします。TLS なしでサーバーを実行したい場合は、クライアントとサーバーに--insecureフラグを使用します。
# サーバー側で実行:utg server --config-file server.yaml# クライアント側で実行:utg client --config-file client.yaml
バージョン: '3.7'サービス: # init-container
# サーバーとクライアントの証明書を生成する
gen-certificates:image:mrjoshlab/udp2grpc:latestコマンド:
- "gen-certificates" # サーバー IP アドレス - "--ip" - "127.0.0.1" # 証明書ディレクトリ - "--dir" - "/cert" ボリューム:
- "$PWD/証明書/:/証明書"
# udp2grpc サーバーコンテナ
udp2grpc-server:イメージ: mrjoshlab/udp2grpc:最新ポート:
- 「52935:52935/tcp」コマンド:
- 「server」 - 「--config-file」 - 「/config/server.yaml」ボリューム:
- "$PWD/cert/:/cert" - "$PWD/server.yaml:/config/server.yaml"再起動: until-stoppeddepends_on: gen-certificates:condition: service_completed_ successly
# udp2grpc クライアントコンテナ
udp2grpc-client:イメージ: mrjoshlab/udp2grpc:最新ポート:
- 「51820:51820/udp」コマンド:
- "client" - "--config-file" - "/config/client.yaml" ボリューム:
- "$PWD/cert/server.crt:/cert/server.crt" - "$PWD/client.yaml:/config/client.yaml"再起動: until-stoppeddepends_on: gen-certificates:condition: service_completed_ successlyUDP2gRPC プロジェクトへの貢献をご検討いただきありがとうございます。
UDP2gRPC は、MIT ライセンスに基づいてライセンス供与されたオープンソース ソフトウェアです。