openwrt_frp内网穿透+https访问

本文详细介绍了如何在没有公网IP且IPv6兼容性不足的情况下,通过frp实现内网穿透。步骤包括在云服务器上设置frps,配置用户权限,以及在客户端frpc上配置代理规则和证书。作者还提供了相关链接以供进一步学习。
摘要由CSDN通过智能技术生成

写在前面

最近在折腾软路由系统,有局域网外访问的需求,奈何没有公网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

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值