背景:
さまざまな理由から現在の複雑な環境では、自宅の内部デバイスに屋外からアクセスするのは不便です。その解決策を見つけたいと考えています - frp
FRP はオープンソースの高性能リバース プロキシ ソフトウェアで、正式名は Fast Reverse Proxy です。これは主に、外部ネットワーク ユーザーがサービスにアクセスできるように、イントラネット サービスをパブリック ネットワークに公開するために使用されます。 FRP は使いやすく、TCP、UDP、HTTP、HTTPS などの複数のプロトコルをサポートします。
1. 準備
外部ネットワーク サーバー (または Tencent サーバーなどのパブリック IP アドレスを持つマシン);
Tencent クーポン
イントラネット サーバー 1 台 (win7/10 コンピューター)。
2. ファイルをダウンロードする
ダウンロード アドレス:GitHub アドレス
arm/amd バージョンについて:
Linux システムは、次のコマンド
~ arch
# 查看当前系统是amd/arm
x86_64
# 返回x86_64就是amd架构的。
~ getconf LONG_BIT
64
# 返回64就是64位的
ここで、AMD64
ビット バージョン であることを確認します。
Linux 0.51.2 版本下载地址:
https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_linux_amd64.tar.gz
wget https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_linux_amd64.tar.gz
Window 0.51.2 バージョンのダウンロード アドレス:
https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_darwin_amd64.tar.gz
クライアントとサーバーのバージョンは可能な限り一貫している必要があることに注意してください。
解凍する
[~] tar -zxvf frp_0.51.2_linux_amd64.tar.gz
frp_0.51.2_linux_amd64/
frp_0.51.2_linux_amd64/frpc.ini
frp_0.51.2_linux_amd64/frpc_full.ini
frp_0.51.2_linux_amd64/frps_full.ini
frp_0.51.2_linux_amd64/frps.ini
frp_0.51.2_linux_amd64/LICENSE
frp_0.51.2_linux_amd64/frpc
frp_0.51.2_linux_amd64/frps
# 改个名称方便后面操作
[~] mv frp_0.51.2_linux_amd64 frp_0.51.2
3. サーバーの構成 (Linux)
# 进入目录
[~] cd frp_0.51.2
# 展开列表
ll
[~ frp_0.51.2] ll
总用量 30768
-rwxr-xr-x 1 www docker 14278656 7月 25 21:39 frpc
-rw-r--r-- 1 www docker 12669 7月 25 21:44 frpc_full.ini
-rw-r--r-- 1 www docker 126 7月 25 21:44 frpc.ini
-rwxr-xr-x 1 www docker 17182720 7月 25 21:39 frps
-rw-r--r-- 1 www docker 5933 7月 25 21:44 frps_full.ini
-rw-r--r-- 1 www docker 28 7月 27 11:31 frps.ini
-rw-r--r-- 1 www docker 11358 7月 25 21:44 LICENSE
# 注意frpc是客户端,如果用不到,相关的都可以删除
# frps是服务端,我用当前主机当服务端,所以需要修改frps.ini
vim frps.ini
デフォルトのポートは 7000 です。セキュリティのため、15000
に変更します (このポートは Linux およびクラウド サーバー ファイアウォールで開く必要があることに注意してください)
実際には、Web 管理ターミナル用のデフォルト ポート 7500 もあり、これも開く必要があります
4. パネルを開きます
後でステータスを監視するのに便利
vim frps.ini
[common]
bind_port = 15000
# 远程访问监控面板的端口
dashboard_port = 7501
# dashboard user and passwd for basic auth protect
dashboard_user = admin
dashboard_pwd = admin
# dashboard TLS mode
dashboard_tls_mode = false
# dashboard_tls_cert_file = server.crt
# dashboard_tls_key_file = server.key
# enable_prometheus will export prometheus metrics on {dashboard_addr}:{dashboard_port} in /metrics api.
enable_prometheus = true
サーバーは基本的に準備ができています
次のコマンドを直接実行して開始することもできます。
./frps -c ./frps.ini
ただし、後で自動的に開始するには、systemctl
5. systemctl を使用して frps を制御する
Linux サーバーにインストールされていない場合
systemd
は、yum
またはapt
コマンドを使用してインストールできます。それsystemd
。
# yum
yum install systemd
# apt
apt install systemd
- systemctl ディレクトリに入り、作成します。
frps.service
cd /etc/systemd/system/
vim frps.service
# 或者直接
vim /etc/systemd/system/frps.service
- 次のコードをファイルにコピーします
(frps.service)
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /root/frp_0.51.2/frps -c /root/frp_0.51.2/frps.ini
[Install]
WantedBy = multi-user.target
- 相关
systemd
命令
systemctl start frps #启动frps
systemctl restart frps #重启frps
systemctl stop frps #停止frps
systemctl status frps # 查看运行日志
- 設定
frps
起動
systemctl enable frps #服务器开机自动启动frps
6. クライアントの設定
クライアントは直接ダウンロードします。実際、クライアントとサーバーは同じですが、呼び出されるファイルが異なります。1 つは frpc/frps:
Window 0.51.2
バージョン ダウンロード アドレス:
https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_windows_amd64.zip
注意电脑的杀毒软件可能会删除它
-
クライアント解凍。frpc のみが使用され、その他は削除できることに注意してください。
-
便宜上、スクリプトを作成しました
startup.bat
。
-
開き
frpc.ini
、関連する設定を実行します
パラメータは次のとおりです:
[ssh] 実際、任意の名前を付けることができ、同時に複数の設定を行うことができます。
local_ip外部ネットワーク上のホストにマッピングする必要があります
local_port ポートは、外部ネットワークにマッピングする必要があるホスト ポートです。
Remote_port はアクセス時のポートです。外部ネットワークから
上記の構成により、最終的に、 外部ネットワーク アクセス192.168.1.123:22
が外部ネットワーク アクセス
124.xxx.xxx.xxx:6000
に変わります (Tencent Cloud サーバーのパブリック ネットワーク IP) )
- クライアントの起動
上の図で成功が表示された場合は、正常に起動したことを意味します
最後に、サーバー コンソールにアクセスしてリンク ステータスを確認できます
http://124.xxx.xx.xx:7501
アカウントのパスワードは上記の設定で確認できます