当前位置: 代码网 > 服务器>网络>https > openwrt_frp内网穿透+https访问

openwrt_frp内网穿透+https访问

2024年08月03日 https 我要评论
使用frp设置软路由https内网穿透

写在前面

最近在折腾软路由系统,有局域网外访问的需求,奈何没有公网ip且ipv6兼容性不足,故采用内网穿透方案。经过调查,使用frp作为内网穿透工具,现记录过程如下。

准备工作

1.云服务器一台,尽量使用国外的云服务器,如azure,amazon等。国内云服务器会封禁80和443端口,必须备案才可以上线网站。

2.域名一个,推荐阿里云,10元左右一年

3.xshell 用于连接云服务器和软路由系统

ps.如果不会使用xshell通过ssh连接服务器,请自行百度!

服务端 frps配置

1、连接服务器

自行百度

2 、下载frps并解压

在服务器上使用mkdir frp 新建一个文件夹,然后执行cd frp进入文件夹内部

使用wget +frp包的地址下载安装包到云服务器。

frp包链接:https://github.com/fatedier/frp/releases

image-20240408215552563

举个例子:

frp包按照自己的架构下载,如:我使用的x86(amd64)架构的linux云服务器,那么就选择image-20240408215714310

右键复制链接,https://github.com/fatedier/frp/releases/download/v0.56.0/frp_0.56.0_linux_amd64.tar.gz ,那么我执行的命令就是:

wget https://github.com/fatedier/frp/releases/download/v0.56.0/frp_0.56.0_linux_amd64.tar.gz

最终,执行命令ls在终端上可以看到下载的包:

image-20240408220239543

运行命令tar xzvf +包名解压

运行命令mv +解压后的文件夹名 +frp把解压后的文件夹改名(名字太长不好记)

执行命令 cd frp 然后执行 ls可以看到解压出来的文件:

image-20240408220458027

3、修改配置文件

运行命令 vi frps.toml即可进入vim文本编辑界面,按i进入编辑模式

image-20240408220855906

自行设置user /password/token并保存下来。

4、使用screen保活运行

因为ssh连接的特殊性,如果我们在ssh连接时运行了一个程序,当我们断开连接后,程序会自动停止。我们当然不可能一直开着ssh,因此需要使用screen来对程序保活。当然,也可以使用service系统服务等方法,我不会,这里就不细说了。

执行命令:

su(获取管理员权限,具体请度)

screen -s frp

./frps -c ./frps.toml

当出现下面界面就证明你成功了

image-20240408221642740

客户端frpc配置

1、下载frpc并解压

客户端请不要下载openwrt商店的版本!我们使用docker运行。

默认已经安装好docker。

在你熟悉的安装目录新建frp目录然后cd frp进入路径:

下面命令二选一执行:

git clone https://github.com/stilleshan/frpc
# git clone github镜像
git clone https://github.ioiox.com/stilleshan/frpc
# 国内镜像

如果报错没有git包,请按照自己的系统安装git,如openwrt是opkg install git-http

2、修改配置文件

注意:在这一步之前请自行获取https证书并且使用docker cp 转移到docker容器内的frp路径下。

https证书获取,网上有一大堆教程。

执行命令:

vi frpc.toml配置客户端文件

serveraddr = "frp.freefrp.net"
serverport = 7000
auth.method = "token"
auth.token = "你自己的frps的token"

[[proxies]]  # http配置
name = "web1_xxxxx"
type = "http"
localip = "192.168.1.2"
localport = 5000
customdomains = ["nas.yourdomain.com"] # 换成你自己的域名

[[proxies]] # https配置
name = "http_proxy1"
type = "https"
customdomains = ["nas.yourdomain.com""]
[proxies.plugin]
type = "https2http"
localaddr = "192.168.5.248:5212"
crtpath = "/frp/cert.cer"
keypath = "/frp/cert.key"
hostheaderrewrite = "127.0.0.1"
requestheaders.set.x-from-where = "frp"

[[proxies]] #其他https节点设置
name = "another_https_proxy"
type = "https"
customdomains = ["example.com"]  # 设置需要代理的自定义域名
[proxies.plugin]
type = "tls"  # 这里可能需要根据实际情况调整插件类型
remoteport = 443  # 设置远程端口
crtpath = "/path/to/another_cert.cer"  # 指定新的证书路径(可以和之前的相同)
keypath = "/path/to/another_cert.key"  # 指定新的密钥路径(可以和之前的相同)
# 其他节点配置...

执行以下命令启动服务

docker run -d --name=frpc --restart=always -v /root/frpc/frpc.toml:/frp/frpc.toml stilleshan/frpc

注:/root/frpc/frpc.toml换成自己的路径

3、修改后怎么启动

如果新增了节点,修改了toml文件,我们需要重新启动frpc容器:

vi /root/frp/frpc.toml
# 修改 frpc.toml 配置
docker restart frpc
# 重启 frpc 容器即可生效

相关链接

frpc docker 配置: https://github.com/stilleshan/frpc

frp官方文档:https://gofrp.org/zh-cn/docs

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com