配置内网穿透
软件安装
frp分为 frps(服务器端,即外网机器) 和 frpc(客户端,即内网机器)
服务器端的配置 frps
wget -c https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_linux_arm64.tar.gz
1.2、修改frps.ini
# 删除所有的 frpc的内容 rm frpc* vim frps.ini
frps.ini 文件的内容
[common] bind_port = 7000 #connect port between server and client token = XXX # token for safe vhost_http_port = 8080 subdomain_host = frps.com #set dashboard: test the open of port in server dashboard_port = 7500 dashboard_user = test dashboard_pwd = test
#list open port firewall-cmd --list-all firewall-cmd --permanent --zone=public --add-port=7000/tcp firewall-cmd --permanent --zone=public --add-port=7500/tcp systemctl reload firewalld
1.4、阿里云或者百度云需要添加防火墙规则,开放相关端口
阿里云设置的位置在 云服务器/安全组 中手动添加
1.5、部署frps
./frps -c frps.ini
1.6、浏览器dashboard查看部署情况
http://{user IP}:7500
如果不能打开网站,说明服务器端没有部署成功,查看端口是否打开,以及云服务器是否开放端口
1.7、设置开机自启动
cd /etc/systemd/system/ touch frps.service
frps.service中的内容,注意修改ExecStart中的路径,注意设置User=root否则会报错
[Unit] Description=Frp Server Service After=network.target [Service] Type=simple User=root # user must be root Restart=on-failure RestartSec=5s ExecStart=/usr/bin/frps -c /root/frp/frp_0.48.0_linux_amd64/frps.ini ExecStop=/bin/kill $MAINPID [Install] WantedBy=multi-user.target
启动frps的服务
systemctl start frps systemctl status frps
客户端的配置 frpc
2.1、参照步骤1.1和1.2将对应的githup源码压缩包放在客户端上,解压。
2.2、修改 frpc.ini
[common] tls_enable = true server_addr = XXXX #server IP, 外网服务器IP server_port = 7000 #same with bind_port in server token = XXX #same with token in frps.ini log_file = XX # path of log file log_level = info log_max_days = 3 [ssh_wang1] type = tcp local_ip = 10.0.XX.XX #local IP or set 127.0.0.1 local_port = 22 remote_port = 8081 [rstudio_wang1] type = tcp local_port = 8787 use_encryption = true use_gzip = false pool_count = 10 remote_port = 6001
注意:
tls_enable = true,这个必须加上,否则会报错 login to server failed: i/o deadline reached
外界通过 公网IP(即外网服务器IP)+ remote_port 去访问 local_ip + local_port。比如访问1.2.3.4:8081 实质访问 127.0.0.1:22
2.3、客户端部署frpc
./frpc -c frpc.ini
访问设置
3.1、浏览器dashboard查看部署情况
可以看到部署的端口情况,参考1.6
3.2、服务器端设置
由于访问是通过 公网IP+ remote_port完成的,所以必须去服务器端开放相应的端口,如果按照上面的设置,需要开放8081和6001的端口,过程参考1.3 开放7000和7500端口 这一段
3.3、连接相关的服务
连接ssh服务
ssh -oPort=8081 {user Name}@{server IP}
连接rstudio server
在浏览器中输入
{server IP}:{6001}
参考网站:
原文链接:https://www.jianshu.com/p/82e8de61ce60