banner
keney

keney

remain optimistic
twitter

frp-0.59-使用チュートリアル

背景#

現在、自作の内網貫通ツールを使用する必要があり、frp を選択しました。frp には多くのバージョンがあり、以前使用していたのは frp_0.51.2_windows_386 バージョンで、現在は frp_0.59.0_windows_amd64 にアップグレードしました。この frp の主な機能は、ポイントツーポイントの内網貫通(p2p)、内網サービスの安全な公開、そしてサーバーをプロキシとして使用する 3 つの方法です。ポイントツーポイントまたは安全な公開サービスの方法を使用する準備をしています。以前は常にサーバープロキシの方法で内網貫通を行っていましたが、これにより自分のマシンが公に露出してしまい、非常に危険です。ある時、サーバーログを確認したところ、私のサーバーが公開しているポートに対する多くのリクエストを発見し、狙われている可能性があることに気付き、他のポートに変更しました。現在はセキュリティ意識を高め、ポイントツーポイントまたは安全な公開方法に切り替えています。攻撃者のスキャンや侵入を防ぐために、サービスが提供するデフォルトポートを使用せず、自分で変更することをお勧めします。

現在の使用目的は:Windows コンピュータへのリモート接続、Web サービスを公に公開することです。

一、準備作業#

公式ダウンロードリンク:https://github.com/fatedier/frp/releases/tag/v0.59.0

ここで 2 つのダウンロードリンクを提供します:

123 ネットワークドライブ:https://www.123pan.com/s/tB5A-psnYd.html? 提取コード: TA7T

ランゾウネットワークドライブ:https://nxg.lanzoul.com/b03ivhzl1i パスワード:7ijd

frp_0.59.0_linux_amd64.tar.gz ====》Linux サーバーにアップロードするためのもの

frp_0.59.0_windows_amd64.zip ====》 Windows ローカルで起動するためのもの

注意:Linux 版をダウンロードすると、Windows システムでウイルス警告が表示される場合がありますので、設定でダウンロードディレクトリを許可(除外)してください。ダウンロードしてサーバーにアップロードできます。
公式サイトからダウンロードしても同様の警告が表示されるので、自分で確認できます。

二、サーバーの設定#

2.1 frp のアップロードと設定#

まず、frp_0.59.0_linux_amd64.tar.gz 圧縮ファイルをカスタムディレクトリにアップロードします。ここでは /root/frp ディレクトリを例にします:

tar -zxvf frp_0.59.0_linux_amd64.tar.gz

位置:/root/frp/frp_0.59.0_linux_amd64

frps.toml の設定ポートを変更:

bindPort = 7002

これでサービスの設定が完了しました。

2.2 systemdのインストール#

yum install systemd

2.3 frps.serviceファイルの作成と編集(vim エディタを使用)#

vim /etc/systemd/system/frps-59.service

2.4 内容の記入#

[Unit]
# サービス名、カスタマイズ可能
Description = frp_0.59.0_linux_amd64 server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# frpsを起動するコマンド、frpsのインストールパスに変更する必要があります
ExecStart =/root/frp/frp_0.59.0_linux_amd64/frps -c /root/frp/frp_0.59.0_linux_amd64/frps.toml

[Install]
WantedBy = multi-user.target

注意:/root/frp/frp_0.59.0_linux_amd64/frps は、サーバーにアップロードして解凍した後の frps ファイルに対応しています。

上記の 3 ステップは参考にできます:https://gofrp.org/docs/setup/systemd/

その後、リフレッシュします:

systemctl daemon-reload
# 上記のコマンドが機能しない場合は、以下のコマンドを試してください
systemctl daemon-reexec

2.5 起動と停止のコマンド#

root 管理者権限がない場合は、sudo を使用する必要があります。管理者権限がある場合は、sudo コマンドを使用せずに直接 systemctl start frps-59 を実行できます。


# frpを起動
sudo systemctl start frps-59
# frpを停止
sudo systemctl stop frps-59
# frpを再起動
sudo systemctl restart frps-59
# frpの状態を確認
sudo systemctl status frps-59

自動起動を設定:

sudo systemctl enable frps-59

三、クライアントの設定#

セキュアな公開サービス#

1、被アクセス者のマシン(ターゲットマシン)

frp_0.59.0_windows_amd64.zip ファイルを解凍:

位置:D:\programTool\frp\frp_0.59.0_windows_amd64

frpc.toml の設定を変更:

serverAddr = "サーバーのパブリックIPアドレス"
serverPort = 7002

[[proxies]]
name = "rdp_stcp_test"
type = "stcp"
# ここで設定されたsecretKeyと一致するユーザーのみがこのサービスにアクセスできます
secretKey = "7G5Y2QW9X312PYWQWE67"
localIP = "127.0.0.1"
localPort = 3389

これは被アクセス者のマシン、つまりターゲットマシンです。

cmd 起動コマンド:

.\frpc.exe -c .\frpc.toml

2、アクセス者のマシン

frp_0.59.0_windows_amd64.zip ファイルを解凍:

位置:D:\tool\technology\frp\frp_0.59.0_windows_amd64

frpc.toml の設定を変更:

serverAddr = "101.133.238.75"
serverPort = 7002

[[visitors]]
name = "rdp_stcp_visitor"
type = "stcp"
# アクセスするstcpプロキシの名前
serverName = "rdp_stcp_test"
# ここで設定されたsecretKeyと一致するユーザーのみがこのサービスにアクセスできます
secretKey = "7G5Y2QW9X312PYWQWE67"
bindAddr = "127.0.0.1"
bindPort = 7003

これはアクセス者のマシン、つまりこのマシンから前の設定済みのマシンにアクセスします。

cmd 起動コマンド:

.\frpc.exe -c .\frpc.toml

アクセス者のマシンが被アクセス者に接続

Windows に付属のリモート接続ツールを使用して:127.0.0.1:7003 にコンピュータのユーザー名とパスワードを入力すると、ターゲットマシンにアクセスできます。

ポイントツーポイントアクセスサービス#

1、被アクセス者のマシン(ターゲットマシン)
位置:D:\programTool\frp\frp_0.59.0_windows_amd64

frpc.toml の設定を変更:

serverAddr = "サーバーのパブリックIPアドレス"
serverPort = 7002

[[proxies]]
name = "p2p_rdp_test"
type = "xtcp"
# 共有秘密鍵(secretKey)がサーバー側と一致するユーザーのみがこのサービスにアクセスできます
secretKey = "AAAA5Y2QW9X312PYWQWE67"
localIP = "127.0.0.1"
localPort = 3389

2、アクセス者のマシン:

位置:D:\tool\technology\frp\frp_0.59.0_windows_amd64

frpc.toml の設定を変更:

serverAddr = "101.133.238.75"
serverPort = 7002

[[visitors]]
name = "p2p_rdp_visitor"
type = "xtcp"
# アクセスするP2Pプロキシの名前
serverName = "p2p_rdp_test"
secretKey = "AAAA5Y2QW9X312PYWQWE67"
# SSHサービスにアクセスするためのローカルポートをバインド
bindAddr = "127.0.0.1"
bindPort = 7004
# トンネルを自動的に開いたままにする必要がある場合は、trueに設定
keepTunnelOpen = true

これはアクセス者のマシン、つまりこのマシンから前の設定済みのマシンにアクセスします。

cmd 起動コマンド:

.\frpc.exe -c .\frpc.toml

アクセス者のマシンが被アクセス者に接続

Windows に付属のリモート接続ツールを使用して:127.0.0.1:7004 にコンピュータのユーザー名とパスワードを入力すると、ターゲットマシンにアクセスできます。

Windows 自動起動設定#

D:\programTool\frp\frp_0.59.0_windows_amd64 と D:\tool\technology\frp\frp_0.59.0_windows_amd64 ディレクトリに作成します。

方法一:#

frpc-start.bat

@echo off
:home
frpc -c frpc.toml
goto home

この frp-start.bat のショートカットを Windows の自動起動ディレクトリに入れます。

このスクリプトはコンソールウィンドウを表示できるので、あまり優雅ではありません。

方法二:#

frpc-start.bat

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
cd D:\programTool\frp\frp_0.59.0_windows_amd64
frpc -c frpc.ini
exit

frp クライアントは比較的安定しているので、方法二で十分です。不安定な場合は方法一を選択できます。

方法三#

frpc-start.bat

常に接続を試みることができます

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
:home
frpc -c frpc.toml
goto home

この frpc-start.bat スクリプトは、D:\programTool\frp\frp_0.59.0_windows_amd64 ディレクトリに置かれます。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。