CentOS7 自動部署腳本實現(xiàn)內網(wǎng)穿透服務器

腳本

frp.sh

!/bin/bash
# -*- coding: UTF-8 -*-
#############################################
#  作者:Dongzp
#  功能:自動化部署frp服務器實現(xiàn)內網(wǎng)穿透
#  兼容:適用于所有CentOS 7
#  參考:https://blog.csdn.net/qq_27229113/article/details/105118938
#  Github:https://github.com/fatedier/frp
#############################################


# 下載frps并安裝
install_frps(){
    echo "請輸入您的穿透服務器域名:"
    read domain
    wget https://myfilecdn.oss-cn-shenzhen.aliyuncs.com/frps/frp_0.34.1_linux_amd64.tar.gz
    tar -xvf frp_0.34.1_linux_amd64.tar.gz -C /usr/local/
    rm -rf frp_0.34.1_linux_amd64.tar.gz
    cd /usr/local/
    mv frp_0.34.1_linux_amd64 frps
    cd frps
    # 刪除客戶端使用的配置文件 服務器不需要
    rm -f frpc frpc.ini LICENSE frpc_full.ini frps.ini frpcs_full.ini
    cd systemd
    # 刪除客戶端服務
    rm -rf frpc.service frpc@.service
    cd ../
    # 下載配置文件
    wget https://myfilecdn.oss-cn-shenzhen.aliyuncs.com/frps/frps.ini
    chmod 777 frps.ini
    echo "subdomain_host = ${domain}" >> frps.ini
    echo -e "frps服務安裝完成,路徑/usr/local/frps,版本:0.34.1\n面板端口:7500,轉發(fā)端口:7000,http端口:80,https端口:443\n面板用戶名:admin,面板密碼:admin123\n客戶端連接token默認123456789\n如需修改配置文件請到安裝目錄修改,注意端口放行!"
    
}

# 卸載frps
uninstall_frps(){
    kill_frps
    rm -rf /usr/local/frps
    echo "frp服務器卸載完成"
}

# 啟動服務
run_frps(){
    cd /usr/local/frps
    pid=`ps -ef | grep frps | grep -v "grep"| awk -F " " '{print $2}'`

    if [ $pid ] ; then
       kill -9 $pid
    fi
    echo "啟動服務成功"
    nohup ./frps -c ./frps.ini &
}

# 殺死服務 
kill_frps(){
    pid=`ps -ef | grep frps | grep -v "grep"| awk -F " " '{print $2}'`

    if [ $pid ] ; then
       kill -9 $pid
       echo "關閉服務成功"
    fi
}

echo "1、安裝frps服務端"
echo "2、卸載frps服務端"
echo "3、啟動frps服務端"
echo "4、關閉frps服務端"

read num
case "$num" in
    [1] )
        install_frps
    ;;
    [2] )
            uninstall_frps
    ;;
    [3] )
        run_frps
    ;;
    [4] )
            kill_frps
    ;;
    *) echo "選擇錯誤,退出";;
esac

腳本直接安裝

wget https://myfilecdn.oss-cn-shenzhen.aliyuncs.com/frps/frps.sh
chmod 755 frps.sh
./frps.sh

服務器插件

https://github.com/gofrp/fp-multiuser/

fp-multiuser 是 frp 的一個服務端插件,用于支持多用戶鑒權。fp-multiuser 會以一個單獨的進程運行,并接收 frps 發(fā)送過來的 HTTP 請求。

客戶端配置

windows 客戶端下載
https://myfilecdn.oss-cn-shenzhen.aliyuncs.com/frps/frp_0.34.1_windows_amd64.zip

[common]
server_addr = 172.16.100.100    //服務器地址
server_port = 7000              //服務器綁定端口
token = 12345678

# 通過 SSH 訪問內網(wǎng)機器,外網(wǎng)通過6000可以訪問22端口
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

# 通過自定義域名訪問內網(wǎng)的 Web 服務,服務器已設置虛擬主機端口7500
[web]
type = http
local_port = 80
custom_domains = www.yourdomain.com

[web2]
type = http
local_port = 8080
custom_domains = www.yourdomain2.com

# 轉發(fā) DNS 查詢請求
[dns]
type = udp
local_ip = 8.8.8.8
local_port = 53
remote_port = 6000

# 轉發(fā) Unix 域套接字
[unix_domain_socket]
type = tcp
remote_port = 6000
plugin = unix_domain_socket
plugin_unix_path = /var/run/docker.sock

# 對外提供簡單的文件訪問服務
[test_static_file]
type = tcp
remote_port = 6000
plugin = static_file
# 要對外暴露的文件目錄
plugin_local_path = /tmp/file
# 用戶訪問 URL 中會被去除的前綴,保留的內容即為要訪問的文件路徑
plugin_strip_prefix = static
plugin_http_user = abc
plugin_http_passwd = abc

# 為本地 HTTP 服務啟用 HTTPS
[test_htts2http]
type = https
custom_domains = test.yourdomain.com

plugin = https2http
plugin_local_addr = 127.0.0.1:80

# HTTPS 證書相關的配置
plugin_crt_path = ./server.crt
plugin_key_path = ./server.key
plugin_host_header_rewrite = 127.0.0.1
plugin_header_X-From-Where = frp

# 安全地暴露內網(wǎng)服務
[secret_ssh]
type = stcp
# 只有 sk 一致的用戶才能訪問到此服務
sk = abcdefg
local_ip = 127.0.0.1
local_port = 22

簡單配置

[common]
server_addr = 你的IP
server_port = 7000
token = 你的token
# 自定義一個映射
[web]
type = http
local_ip = 127.0.0.1
local_port = 8081
subdomain = test
custom_domains = frp.51hengyi.com

[desktop]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389

控制臺

http://你的域名:7500/

注意事項

如果你的服務器對應域名是q.abc.com 你必須新增一個*.q.abc.com的泛解析到服務器IP下。

開放端口

7000 frp代理端口
7500 frp后端端口
3841 http端口(你的可能是80,看自己設置的參數(shù),修改服務端frps.ini)

客戶端打印

frpc -c frpc.ini


image.png

讓本地http支持https訪問

https://blog.csdn.net/Linuxprobe18/article/details/108821251

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容