不废话,直入主题。我家是移动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