手把手教小白通过frp内网穿透访问家里的群晖

不废话,直入主题。我家是移动200M宽带。网络设备连接为光猫桥接,openwrt软路由拨号,其他设备都连在软路由下。前几天搞了群晖的ipv6 DDNS,无奈公司网络只有ipv4没有ipv6,无法通过ipv6公网地址访问群晖。我手头又刚好有个nat vps,于是决定尝试一下frp内网穿透。
1,服务器端配置
此处为frp的github网址
服务器端配置很简单,先通过ssh登录vps,然后输入以下命令:

wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz tar -zxvf frp_0.33.0_linux_amd64.tar.gz mv frp_0.33.0_linux_amd64 frp cd frp rm -rf frpc* 

然后修改配置文件

vi frps.ini 

主要配置frp的通信端口号以及密钥,按i键进入输入模式,修改完成后按Esc键,然后输入:wq回车保存文件。由于我的nat vps只开放了23000以后的端口,因此frp端口号设为23001。最终frps.ini文件如下:

[common] bind_port = 23001  token = 123456  

启动服务端服务:

./frps -c ./frps.ini 

2,客户端设置
进入openwrt ssh界面。输入如下命令:

wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_arm64.tar.gz tar -zxvf frp_0.33.0_linux_arm64.tar.gz mv frp_0.33.0_linux_arm64 frp cd frp rm -rf frps* 

修改配置文件

vi frps.ini 

这里可以配置多个端口映射服务。我设置了三个,一个是软路由的ssh端口,一个是群晖5000端口,一个是jellyfin的8096端口。我的frpc.ini配置如下:

[common] server_addr = nat.vps.com  server_port = 23001  token = 123456  [ssh] type = tcp  local_ip = 127.0.0.1  local_port = 22  remote_port = 23002  [DSM] type = tcp  local_ip = 192.168.1.2  local_port = 5000  remote_port = 23003  [Jellyfin] type = tcp  local_ip = 192.168.1.2  local_port = 8096  remote_port = 23004  

启动客户端服务:

./frps -c ./frps.ini 

3,内网穿透访问群晖
浏览器输入nat.vps.com:23003访问群晖,nat.vps.com:23004访问jellyfin。
在这里插入图片描述
在这里插入图片描述
4,设置frp自启动
(1)服务端采用systemctl来控制启动。进入vps的ssh,输入下面命令修改文件。

vi /lib/systemd/system/frps.service 

修改后的文件如下:

[Unit] Description=frp service After=network.target syslog.target Wants=network.target [Service] Type=simple ExecStart=/root/frp/frps -c /root/frp/frps.ini  [Install] WantedBy=multi-user.target 

然后输入下面两行命令,第一行用来开启服务,第二行用来设置启动时自动运行。

systemctl start frps systemctl enable frps 

如果想停止,输入

systemctl stop frps 

(2)客户端由于是openwrt软路由,操作方法不同。
输入以下命令修改文件:

vi /etc/init.d/frpc 

修改后的文件如下:

 START=90 STOP=90 SERVICE=frpc USE_PROCD=1 PROC="/root/frp/frpc -c /root/frp/frpc.ini"  start_service() { procd_open_instance procd_set_param command $PROC procd_set_param respawn procd_close_instance } service_triggers() { procd_add_reload_trigger "rpcd" } 

最后输入命令开启服务以及设置自启动。

chmod 777 frpc /etc/init.d/frpc enable /etc/init.d/frpc start 

原文链接:https://blog.csdn.net/falomsc/article/details/106090710

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享