雑記 | FRP を使用してイントラネット侵入サービスを構築する


01 需要シナリオ

1. クラウド サーバー、Linux (CentOS7) システムがあります。
2. クラウド サーバーにはパブリック ネットワーク IP があり、パブリック ネットワークからアクセスできます。 3.
ローカル コンピューターは、Windows オペレーティング システムを搭載した家庭用ラップトップです
。 4. ローカル コンピューターは、パブリックネットワークIPを持たず、パブリックネットワークからアクセスできない
要件: クラウドサーバーをイントラネットペネトレーションサーバーとして構築し、外部ネットワークを介して自宅のコンピュータ(Webページ)にアクセスする機能を実現します。また、ドメイン名がなくても、パブリック ネットワーク IP 経由でアクセスできます。

02 プロジェクトアドレス

GitHub: https://github.com/fatedier/frp
releases ページ: https://github.com/fatedier/frp/releases
自分の状況に応じて実行ファイルをダウンロードします 私は写真の 2 つをダウンロードしました。
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ダウンロード後、解凍してください。

03 ファイル紹介

解凍後、次のようなファイルがいくつか表示されます。
ここに画像の説明を挿入します
図の左側は Linux システムのファイル、右側は Windows バージョンのファイルです。
その中で、この単語
を含むファイルfrpsはサーバー側、つまりリモートのパブリック ネットワーク サーバーで使用され、末尾の文字 s はサーバーを意味します。
単語を含むファイルfrpcはクライアント、つまりローカル ホーム サーバーで使用され、末尾の文字 c はクライアントを意味します。
したがって、frp_0.49.0_linux_amd64これらのファイルを選択してクラウド サーバーにアップロードします。これらのファイルを選択してローカルに保存しますfrps frps.ini frps_full.ini
frp_0.49.0_windows_amd64frpc.exe frpc.ini frpc_full.ini

04 設定ファイルの書き込み

この記事では HTTP ペネトレーションを例に挙げていますが、他のタイプのペネトレーションについては、公式ドキュメントを参照してください: https://gofrp.org/docs/
注: 実際に設定ファイルを記述する際には、設定の各行のコメントとコメントの前のスペースは削除する必要があります。
例:
このように書かないでください:bind_port = 7000 # 服务器接收客户端连接的端口
代わりに次のように書いてください: それ以外のbind_port = 7000
場合、少なくとも最新0.49.0バージョンでは、以下のすべてが設定の一部とみなされます。

4.1 frps.ini を書き込む

まずfrps.iniクラウドサーバー側にあるファイルを書き込みます。

[common]
bind_port = 7000				# 服务器接收客户端连接的端口
dashboard_port = 7500			# 后台管理端口
dashboard_user = admin			# 后台登录用户名
dashboard_pwd = admin			# 后台登录密码

vhost_http_port = 80			# http穿透端口(公网服务器的端口)
vhost_https_port = 443			# https穿透端口(公网服务器的端口)

token = abc123					# 身份验证令牌 frpc要和frps一致

log_file = /root/frp/frps.log	# 日志路径
log_level = info				# 日志级别
log_max_days = 3				# 日志文件保留天数

authentication_timeout = 0		# 身份验证超时时间 0表示不验证
subdomain_host = xxx.com		# 注册的主域名 不带前缀 没有域名就写公网ip

サーバー側のサービスを開始する

# 在文件所在的目录下输入命令启动
./frps -c ./frps.ini &

完了後、http://xxx.com:7500バックグラウンド管理ページにアクセスし、発行関連のポートに注意を払うことができます。
この構成例では、解放する必要があるポートは 7000、7500、80、および 443 です。

4.2 frpc.iniの作成

次に、ローカルfrpc.iniファイルを書き込みます。

[common]
server_addr = xxx.xxx.xxx.xxx	# 服务器的公网ip地址
server_port = 7000				# 客户端与服务器连接的端口

token = abc123					# 身份验证令牌 frpc要和frps一致
authentication_timeout = 0		# 身份验证超时时间 0表示不验证

[web]							# 添加web节点
type = http						# 访问类型为http
local_ip = 127.0.0.1			# 本地设备ip(*注)
local_port = 8080				# 本地访问的端口
custom_domains = xxx.com		# 指向远程服务器的域名 没有域名就写服务器公网ip

*注意: ローカル マシンの場合は、local_ip省略するか、 と書くか127.0.0.1、ローカル イントラネットの IP アドレスを書くことができます。通常は、192.168.xxx.xxx
クライアント サービスを開始します。
Windows PowerShell を開き、frpc.exe が存在するフォルダーに移動します。(cmd なしで PowerShell を使用します)
起動コマンド: を入力して./frpc.exe -c ./frpc.ini起動します。
構成ファイルが同じフォルダーにあり、デフォルト名を使用している場合、起動コマンドは単純化されて./frpc.exe
ここに画像の説明を挿入します
成功し、success と表示されれば起動は成功です。

05 テスト

ローカル入力を通じてhttp://127.0.0.1:8080アクセスできるローカル nginx ページがあると仮定します。
イントラネットペネトレーションをオンにした後、http://xxx.com:80または を入力してhttp://公网ip:80アクセスできるかどうかを確認します。(http プロトコルのポート 80 は省略できます)
他のタイプのイントラネット侵入については、公式ドキュメントを参照してください: https://gofrp.org/docs/
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/xuzhongyi103/article/details/131298485