frpラップ——Centos 7とUbuntu 16.04にfrpを配置してイントラネットを貫通する
まずfrpプロジェクトのトップページ:frpのGithubプロジェクトページに行きます.
コープ!frpって何?
frpは自分の人(国人)が作ったソフトです(だから中国語のドキュメントはまだ完璧で、基本的に何か分からないことがあったら直接上で調べればいいです).frpと1台のパブリックネットワークipを持つホストを組み合わせることで、パブリックネットワークipのないホスト(例えば、イントラネットのホスト)にポート転送などのサービスを提供することができ、これにより、ユーザーが外部ネットワークからイントラネットのホストに直接接続することができる(具体的な例を挙げると、家で会社のパソコンに接続してプロジェクト管理を行う).
設定!戦火を越えた信使(サービス側frp配置)
実はもっと宿場か仲介者が怒らせたような..サービス側のシステムはcentosです.
frpの配置はやはり簡単で、貧僧の方法はプロジェクトページから発表した圧縮パッケージを直接ホストにダウンロードし(自分のシステムが何であるかを見て、貧僧は64ビットのlinuxシステムなので、名前の中にlinux_amd 64がある)をダウンロードして、それから解凍して、実行を追加して、読み書き権限はそのまま使えます(
これでいいです.次のコマンドでサービスを開始します(加圧されたディレクトリに入ったと仮定します):
プロセスを守る勇者
上記のコマンドを入力すると対応するサービスが開始されますが、苦労して開始したプロセスは、ユーザーがホストからログインしたり端末を閉じたりして暴死する可能性があるので、勇者を呼び出して彼女を守らなければなりません.そこで必要なのはsupervisorです.pythonで開発されたソフトウェアで、プロセスが突然中止されたときにプロセスを再活性化することができます.
注意するのは、centos上で直接
そして勇者召喚開始:
貧僧が遭遇した場合、上記の操作はubuntuでしか機能しません.centosでは、上記の内容を
ubuntuとcentosの下でfrpが実行されているかどうかを見ることができます.
実行すると
待機している故人(クライアント配置)
クライアントもfrpプロジェクトで公開された圧縮パッケージをダウンロードし、解凍してfrpcを編集します.ini:
一番上の
注意:通常は、サービス側を開いてからクライアントを開きます.そうしないと、クライアントが自分でオフになる可能性があります.
そして楽しく使えます!
手紙を書くあなたは
ここではsshの例を挙げるだけですが、どうせvncなどの差は多くありません.Windowsを使用していると仮定すると、puttyのipに直接記入できるサーバーアドレスx.x.x.x、ポート記入6000(サーバーに6000を傍受させる構成なので、最終的には22ポートに転送されると言っていますが)、通常のsshと変わらないです.
直接sshでつながっている場合:
貧僧はsshを直接使ってみたことがありません(上は公式ドキュメントから).すべてputtyを使用しているので、上記のコマンドは参考にしてください.
参照先:
frpによるイントラネット透過の容易な解決unix:///var/run/supervisor.sockNo such fileのメソッドpython supervisorがプロセスを管理する際に発生する問題
コープ!frpって何?
frpは自分の人(国人)が作ったソフトです(だから中国語のドキュメントはまだ完璧で、基本的に何か分からないことがあったら直接上で調べればいいです).frpと1台のパブリックネットワークipを持つホストを組み合わせることで、パブリックネットワークipのないホスト(例えば、イントラネットのホスト)にポート転送などのサービスを提供することができ、これにより、ユーザーが外部ネットワークからイントラネットのホストに直接接続することができる(具体的な例を挙げると、家で会社のパソコンに接続してプロジェクト管理を行う).
設定!戦火を越えた信使(サービス側frp配置)
実はもっと宿場か仲介者が怒らせたような..サービス側のシステムはcentosです.
frpの配置はやはり簡単で、貧僧の方法はプロジェクトページから発表した圧縮パッケージを直接ホストにダウンロードし(自分のシステムが何であるかを見て、貧僧は64ビットのlinuxシステムなので、名前の中にlinux_amd 64がある)をダウンロードして、それから解凍して、実行を追加して、読み書き権限はそのまま使えます(
chmod
命令の使い方はここでは言いません).ポイントはfrps.ini
に記入し、必要なサービスに対応して対応する内容を記入することです(具体的には中国語のドキュメントや貧僧の次の例を参照してください).例えば、貧僧が必要とするのはvncとsshであり、そうする必要があります.[common]
bind_port = 7000
[vnc]
type = tcp
auth_token = xxx
[ssh]
type = tcp
auth_token = xxx
これでいいです.次のコマンドでサービスを開始します(加圧されたディレクトリに入ったと仮定します):
./frps -c ./frps.ini
プロセスを守る勇者
上記のコマンドを入力すると対応するサービスが開始されますが、苦労して開始したプロセスは、ユーザーがホストからログインしたり端末を閉じたりして暴死する可能性があるので、勇者を呼び出して彼女を守らなければなりません.そこで必要なのはsupervisorです.pythonで開発されたソフトウェアで、プロセスが突然中止されたときにプロセスを再活性化することができます.
注意するのは、centos上で直接
yum install supervisor
になることができなくて、さもなくばunix:///var/run/supervisor.sock no such file
の間違いが現れて、正しい取り付け方法は:pip install supervisor
で、具体的な原因は貧僧は深く研究していませんが、ここを見て説明することができます.ubuntuでaptをインストールすると問題になるそうですが、貧僧はcentosでしかこの問題に遭遇しませんでした.そして勇者召喚開始:
/etc/supervisor/conf.d
にファイルfrp.conf
を新規作成し、内容:[program:frp]
command = / frp /frps -c / frp /frps.ini
autostart = true
貧僧が遭遇した場合、上記の操作はubuntuでしか機能しません.centosでは、上記の内容を
/etc/supervisord.conf
ファイルの一番後ろに直接コピーして貼り付け、supervisorプロセスを再起動する必要があります.ここでまた一つの状況が出てきました.ubuntuではsudo systemctl restart supervisor
で再起動できます.centosではだめです.必ずkillを落とす必要があります(まずps -ef | grep supervisor
で対応するプロセスを見つけますが、探しているプロセスの名前はパスのような/bin/python /bin/supervisord -c /etc/supervisord.conf
で、grep --color=auto supervisor
ではありません.kill pid
ではありません.その後、再起動します(supervisord -c /etc/supervisord.conf
なので、/etc/supervisord.conf
にコンテンツを追加します).ubuntuとcentosの下でfrpが実行されているかどうかを見ることができます.
sudo supervisorctl status
実行すると
frp
が出力されます(ファイルの最初の行が[program:frp]
なので、別の名前に変更してもいいです).待機している故人(クライアント配置)
クライアントもfrpプロジェクトで公開された圧縮パッケージをダウンロードし、解凍してfrpcを編集します.ini:
[common]
server_addr = x.x.x.x
server_port = 7000
[vnc]
type = tcp
local_ip = 127.0.0.1
local_port = 5900
remotep_port = 5910
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
一番上の
x.x.x.x
は、サービス側のipアドレスを記入します.次にサービスを開始します(加圧されたディレクトリに入ったとします):./frpc -c ./frpc.ini
注意:通常は、サービス側を開いてからクライアントを開きます.そうしないと、クライアントが自分でオフになる可能性があります.
そして楽しく使えます!
手紙を書くあなたは
ここではsshの例を挙げるだけですが、どうせvncなどの差は多くありません.Windowsを使用していると仮定すると、puttyのipに直接記入できるサーバーアドレスx.x.x.x、ポート記入6000(サーバーに6000を傍受させる構成なので、最終的には22ポートに転送されると言っていますが)、通常のsshと変わらないです.
直接sshでつながっている場合:
ssh -oPort=6000 test@x.x.x.x
貧僧はsshを直接使ってみたことがありません(上は公式ドキュメントから).すべてputtyを使用しているので、上記のコマンドは参考にしてください.
参照先:
frpによるイントラネット透過の容易な解決unix:///var/run/supervisor.sockNo such fileのメソッドpython supervisorがプロセスを管理する際に発生する問題