frp
は高性能なリバースプロキシアプリケーションであり、内部ネットワークトラバーサルに特化しています。TCP、UDP、HTTP、HTTPS など、さまざまなプロトコルをサポートし、P2P 通信機能も備えています。frp
を使用すると、内部ネットワークサービスを安全かつ簡単にパブリックネットワークに公開し、パブリック IP を持つノードを介して中継することができます。
frps
内部ネットワークトラバーサルサービスを自己構築するための、ubuntu22.04
に基づくデプロイプロセスの記録。
ダウンロード#
Frp の GitHub でのプリコンパイルリリースアドレス:Releases
サーバーのシステムと CPU アーキテクチャに応じて適切なバージョンをダウンロードしてください。
wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz
オプション、果冻代理ダウンロードを使用
wget https://get.66a.vip/https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz
インストール#
1. 解凍#
tar -zvxf frp_0.54.0_linux_amd64.tar.gz
2. 実行可能ファイルを /usr/bin/
にコピー#
sudo cp frp_0.54.0_linux_amd64/frps /usr/bin/
3. frps
の設定#
sudo mkdir -p /etc/frp
/etc/frp/frps.toml
ファイルを作成
sudo vim /etc/frp/frps.toml
必要に応じて以下の内容を入力してください
bindAddr = "0.0.0.0"
bindPort = 7000 # バインドポート
kcpBindPort = 7001 # kcpバインドポート、使用に応じて設定
quicBindPort = 7002 # quicバインドポート、使用に応じて設定
vhostHTTPPort = 8080 # 仮想HTTPポート、使用に応じて設定
vhostHTTPSPort = 8443 # 仮想HTTPSポート、使用に応じて設定
# トラバーサルサービスマッピングのリモートサーバーポート範囲を許可
allowPorts = [ { start = 50000, end = 60000 } ]
auth.method = "token"
auth.token = "xxx" # カスタム認証トークン、クライアントが正しいトークンを提供するとトラバースできます
webServer.addr = "0.0.0.0"
webServer.port = 7500
# ダッシュボードのユーザー名とパスワード、オプションでデフォルトは空です
webServer.user = "xxx" # この項目を変更
webServer.password = "xxx" # この項目を変更
4. systemd
サービスに追加#
frps.service
ファイルを作成
sudo vim /lib/systemd/system/frps.service
実際の状況に応じて以下の参考内容を入力してください
[Unit]
# サービス名、カスタマイズ可能
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
Restart=on-failure
RestartSec=5s
# frpsを起動するコマンド、frpsのインストールパスに変更してください
ExecStart = /usr/bin/frps -c /etc/frp/frps.toml
[Install]
WantedBy = multi-user.target
systemd
サービスリストを更新
sudo systemctl daemon-reload
frps
サービスを起動
sudo systemctl start frps
起動時に自動起動するように設定
sudo systemctl enable frps
frps
の実行状態を確認
sudo systemctl status frps
これで、frps
サーバーのデプロイが完了しました。