当前位置:   article > 正文

openwrt_frp内网穿透+https访问_openwrt系统

openwrt系统

写在前面

最近在折腾软路由系统,有局域网外访问的需求,奈何没有公网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
# 国内镜像
  • 1
  • 2
  • 3
  • 4

如果报错没有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"  # 指定新的密钥路径(可以和之前的相同)
# 其他节点配置...

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

执行以下命令启动服务

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 容器即可生效
  • 1
  • 2
  • 3
  • 4

相关链接

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/745014
推荐阅读
相关标签
  

闽ICP备14008679号