frpイントラネット浸透リモートアクセス、運用保守技術

       1. 背景

       電力負荷の逼迫による電力消費の問題を解決するために、電力網は、商業ビル、エンタープライズ パーク、学校、その他の場所向けに、多くのエッジ デバイス、エネルギー効率コントローラー、および負荷制御端末を構築しています。基本的に、クラウド管理エッジ エンドまたはメイン ステーション サブステーション ユニット アーキテクチャ設計を採用し、サイド エンドは、大量生産された産業用コンピューターを通じて、局所的な監視、制御、およびエッジ コンピューティング アプリケーションを実現します。しかし、エッジデバイスの資産増加に伴い、サービスの更新や例外処理の負荷も徐々に増加しており、ネットワークに関しては、エッジ エンドは基本的に LAN または 4G ネットワークであり、IP はすべて LAN IP または4G 動的 IP になります。 . インターネットは一方向にしか接続できず、インターネットと LAN に到達できません. これにより、サイドエンド サービスを手動でアップグレードする必要があり、プロジェクトの運用と保守のコストと出張のリスクが大幅に増加します. プロジェクトは、従来の操作および維持方法を壊して下さい。

      2. プログラム

       リモート運用保守は、現在普及しているDevOpsやAiOpsとは異なり、R&Dの視点でR&Dと運用保守の統合を実現するDevOpsと、顧客の視点でアルゴリズムモデルを用いて障害を予測するAiOpsが挙げられます。つまり、DevOps と AiOps の両方が、リモートでの運用と保守を実現するために、地理的な境界線を更新する必要があります

  • 外部調達関連商品
  • frpイントラネット浸透技術
  • lcxポート フォワーディング テクノロジー
  • リモートでデータとパケットを送信できますが、システムにリモート アクセスすることはできません。
  • 自社開発のイントラネット侵入技術、tcp接続、およびtcpチャネル。エッジのネットワーク デバイスはTCP でクラウドに接続され、クラウドはクライアントの要求をオンサイトのネットワーク デバイスに転送する、トランジット機能に似ています. ネットワーク デバイスはアクティブにクラウド サーバーに接続し、その後、繋がり。

       最後に、frp イントラネット浸透技術を使用してそれを実現します.ここでは、この技術的なポイントについてのみ説明します.4G機器と固定公衆網IPを介して、frp 技術を使用してネットワーク チャネルを開きます. frp は P2P 技術に基づくネットワーク侵入アプリケーションです. リバース プロキシ アプリケーションとも呼ばれます. frp 技術を使用して、インターネットから LAN に技術課題を接続し、イントラネット侵入を実現するため、LAN の IP を外部ネットワークへのLANの業務貫通を実現するために、固定のパブリックネットワークIPをポートフォワーディングに使用する. 下図に示すように、LANポート6666は、転送サーバー(パブリックネットワークIP)が実行した後. 36601 プロキシを使用すると、ユーザー層の端末は 36601 ポートを通過して LAN システムにアクセスできます。

       3. frpの紹介      

       frp の正式な定義は、TCP、UDP、HTTP、HTTPS およびその他のプロトコルをサポートする、イントラネットへの侵入に重点を置いた高性能リバース プロキシ アプリケーションです。イントラネット サービスは、パブリック ネットワーク IP を持つノードの通過を通じて、安全で便利な方法でパブリック ネットワークに公開できます。

       パブリック ネットワーク IP を持つノードに frp サーバーを展開することにより、イントラネット サービスをパブリック ネットワークに簡単に侵入させると同時に、次のような多くの専門的な機能を提供できます。

  • クライアント サーバー通信は、TCP、KCP、Websocket などのさまざまなプロトコルをサポートします。

  • TCP 接続ストリームの多重化を使用して、単一の接続間でより多くの要求を伝送し、接続確立時間を節約します。

  • プロキシ グループ間の負荷分散。

  • ポートの多重化、複数のサービスが同じサーバー ポートを介して公開されます。

  • ネイティブでサポートされている複数のクライアント プラグイン (静的ファイル表示、HTTP、SOCK5 プロキシなど)。これは、frp クライアントを独立して使用して特定のタスクを完了するのに便利です。

  • 拡張性の高いサーバー側プラグインシステムは、独自のニーズに応じた機能拡張に便利です。

  • サーバーおよびクライアントの UI ページ。

       ダウンロード インターフェイス: https://github.com/fatedier/frp/releases
       ソース コード インターフェイス: https://github.com/fatedier/frp

frp tcp 接続には、tcp、stcp、xtcp の 3 つの接続モードがあります。

       4. frpの使用            

       frp は多くのプロトコルのプロキシになることができます. ここでは tcp と監視インターフェイスのみを紹介します. frp をデプロイすると、サーバー側の frps とクライアント側の frpc に分割されます. これは 1 対多のデプロイです. frpc は LAN に展開され、frps はサーバーのネット IP に展開されます。

              4.1、サーバー frps

       frpc の起動には frps への接続が必要なため、デプロイするときは最初に frps をデプロイします。

1) バージョンを決定する

Linux システムの場合は、まずシステムのバージョンを確認します。

arch

結果を確認し、「X86_64」の場合は「amd64」を選択し、
異なるアーキテクチャに従って次のコマンドを実行し、対応するバージョンを選択して
wget https://github.com/fatedier/frp/releases/をダウンロードします。ダウンロード/v0.22.0/ frp_0.22.0_linux_amd64.tar.gz
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
wget https://github. com/fatedier/frp/releases/download/v0.36.2/frp_0.37.1_linux_amd64.tar.gz

2)
圧縮パッケージのインストールと解凍

tar -zxvf frp_0.22.0_linux_amd64.tar.gz

使いやすいようにフォルダの名前を変更します

cp -r frp_0.22.0_linux_amd64 frp

解凍したフォルダを任意のディレクトリにコピーします. 便宜上, ユーザーディレクトリに直接置きます, このディレクトリを入力してください

cd frp

ファイルに frpc、frpc.ini、frps、frps.ini が含まれているかどうかを確認します。

ls -a

サーバーを構成しているため、クライアントの 2 つのファイルを削除できます。
rm frpc
rm frpc.ini
3) 構成ファイル

frp ディレクトリに入り、vim frps.ini を実行し、構成ファイルの編集ページに入ります。

[common]
bind_port = 7000
dashboard_port = 7500
token = xxxxxxxxx
dashboard_user = admin
dashboard_pwd = admin
vhost_http_port = 38080
vhost_https_port = 3443


「bind_port」は、クライアントとサーバー間の接続に使用されるポートを示します。このポート番号は、後でクライアントを構成するときに使用されます。
「dashboard_port」は、サーバーのダッシュボードのポートです.7500番ポートを使用した場合、設定完了後、サービス開始後、ブラウザからxxxx:7500(xxxxはVPSのIP)にアクセスして、 frpサービスの稼働情報です。
「トークン」は、クライアントとサーバーを接続するために使用されるパスワードです。後で使用するため、自分で設定して記録してください。
「dashboard_user」と「dashboard_pwd」はダッシュボードページにログインするためのユーザー名とパスワードで、自分で設定できます。
"vhost_http_port" と "vhost_https_port" は、HTTP ホストをリバース プロキシするときに使用されます。この記事では HTTP プロトコルには触れないため、これら 2 つの項目はコピーまたは削除できます。

4) スタート

./frps -c frps.ini

またはマウントする

nohup ./frps  -c frps.ini  >"nohupLogs/nohup_frps.log" 2>&1 &

この時点で、111.111.111.111:7500 にアクセスし、設定したユーザー名とパスワードでログインすると、成功を意味するダッシュボード インターフェイスが表示されます。

               4.2. クライアント frpc

1) バージョンを決定する

Linux システムの場合は、まずシステムのバージョンを確認します。

arch

結果を確認し、「X86_64」の場合は「amd64」を選択し、
異なるアーキテクチャに従って次のコマンドを実行し、対応するバージョンを選択して
wget https://github.com/fatedier/frp/releases/をダウンロードします。ダウンロード/v0.22.0/ frp_0.22.0_linux_amd64.tar.gz
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
wget https://github. com/fatedier/frp/releases/download/v0.36.2/frp_0.37.1_linux_amd64.tar.gz

2)
圧縮パッケージのインストールと解凍

tar -zxvf frp_0.22.0_linux_amd64.tar.gz

使いやすいようにフォルダの名前を変更します

cp -r frp_0.22.0_linux_amd64 frp

解凍したフォルダを任意のディレクトリにコピーします. 便宜上, ユーザーディレクトリに直接置きます, このディレクトリを入力してください

cd frp

ファイルに frpc、frpc.ini、frps、frps.ini が含まれているかどうかを確認します。

ls -a

サーバーを構成しているため、クライアントの 2 つのファイル
rm frps
rm frps.ini
3) 構成ファイルを削除できます。

frp ディレクトリに入り、vim frpc.ini を実行し、設定ファイル編集ページに入ります。 [localnginx] は、ローカル エリア ネットワークの nginx をプロキシする必要があることを意味します。 

[common]
server_addr = 111.111.111.111
server_port = 7000
token = xxxxxxxx

[localnginx]
type = tcp
local_ip = 127.0.0.1
local_port = 7777
remote_port = 7111

[busiweb]
type = tcp
local_ip = 127.0.0.1
local_port = 8188
remote_port = 7222


[RemoteOp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 33389

    # common frps.ini と同じ
    # server_addr: クラウド サーバーの IP アドレス
    # server_port: バインドされたポート。クラウド サーバーとイントラネット サーバーの両方がこのポートを開く必要があります
    # token: 必要なトークンをここに入力します。 frps.ini に入力されていない例を次に示します。


    # myPort1 このプロキシの名前。例: [common] [busiweb] [RemoteOp]
    # type = プロキシのタイプ、通常は tcp
    # local_ip = ローカル ip
    # local_port = プロキシされるポート
    # remote_port = cloudサーバーポートの入力例:

 4) スタート

./frpc -c frpc.ini

またはマウントする

nohup ./frpc  -c frpc.ini  >"nohupLogs/nohup_frpc.log" 2>&1 &

起動成功後、ブラウザにパブリックネットワークアドレスの http://111.111.111.111:7111/を入力してLANのnginxアドレスにアクセス

               4.3. 監視インターフェース

frp には独自の監視インターフェイスがあります。frps と frpc の両方が正常に起動したら、http://public IP:7500 にアクセスしてください。  

 frps.ini で構成されたアカウント (dashboard_user) とパスワード (dashboard_pwd) を入力し、tcp を開いて、構成された LAN 情報を表示します。

おすすめ

転載: blog.csdn.net/myfmyfmyfmyf/article/details/126717374