300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 【Linux】腾讯云服务器 使用FRP内网穿透 端口映射 远程访问内网主机 代理内网

【Linux】腾讯云服务器 使用FRP内网穿透 端口映射 远程访问内网主机 代理内网

时间:2018-07-01 21:23:11

相关推荐

【Linux】腾讯云服务器 使用FRP内网穿透 端口映射 远程访问内网主机 代理内网

FRP内网穿透

一、需求分析1.1 情况1.2 需求1.3 解决方案 二、云服务器开放端口访问2.1 进入控制台2.2 配置防火墙 三、安装FPR3.1 限定3.2 云服务器(服务端)安装FPR3.3 局域网内机器(客户端)安装FPR 四、访问五、设置frps和frpc服务开机自启动5.1 设置云服务器端开机自启动5.2 设置局域网机子frpc开机自启动 六、复杂配置

一、需求分析

1.1 情况

有一台具有公网ip的腾讯云服务器–Linux CentOs7.6版本

有一台实验室局域网内的服务器(ununtu 1604版本),局域网IP为192.168.0.202,这台服务器能访问外网,但外网无法穿透找到该机器

1.2 需求

我家里有一台电脑(即不在实验室局域网内),想访问局域网内的机器

1.3 解决方案

搭建FPR服务,通过腾讯云服务器间接访问局域网内的机器

二、云服务器开放端口访问

这里我们先开放7000端口(frp服务端口)和6000端口(映射局域网机器的22端口)

2.1 进入控制台

进入控制台,点击购买的服务器->管理

2.2 配置防火墙

如果想从外网访问服务器的某个端口,我们需要为这个端口设置添加规则

点击防火墙按钮,添加规则

开放6000端口和7000端口,例如6000端口如下

三、安装FPR

3.1 限定

首先在这里,我们称

腾讯云服务器运行的为服务端,局域网内机子运行的为客户端

第三大节为简易配置,简易配置成功后如需要可看第六大节复杂配置

3.2 云服务器(服务端)安装FPR

PS: 在之前我使用的也是frp,但frp存在一个问题,那就是无法设置IP黑名单或白名单,这就使得公网上任意主机都能访问到映射的主机,查看记录可以看到经常有成百上千的尝试连接,有点危险,并且如果使用frp提供的socks代理将会更危险,将会暴露整个内网所有机子,当一些主机设置弱口令密码时将会很容易攻破,因此博主用java重新写了一个内网穿透工具,可点击博客介绍或GitHub仓库查看,这个工具拥有frp常用的映射、代理功能,并且还有一个防火墙管理网站,可以设置一些ip白名单,每次换了地点只需要登陆下网站添加到IP白名单即可,十分方便,使用了的话还麻烦给个star哦

当然你也可继续安装frp

点击链接,下载最新版的frp包

我下载的是

将下载的文件上传至服务器执行tar -zxvf frp_0.38.0_linux_amd64.tar.gz解压执行cd frp_0.38.0_linux_amd64/进入文件夹启动运行

在安装好的目录内

执行./frps -c ./frps.ini前台启动命令

后期可以ctrl+c 终止程序,再执行nohup ./frps -c ./frps.ini &后台保持启动

3.3 局域网内机器(客户端)安装FPR

安装方法与云服务器一致将下载的文件上传至服务器执行tar -zxvf frp_0.38.0_linux_amd64.tar.gz解压执行cd frp_0.38.0_linux_amd64/进入文件夹执行vi frpc.ini更改相关配置如下

启动运行

#在安装好的目录内

执行./frpc -c ./frpc.ini前台启动命令

后期可以ctrl+c 终止程序,再执行nohup ./frpc -c ./frpc.ini &后台保持启动

四、访问

现在就可以通过云服务器公网IP+6000端口访问局域网内机器的22号ssh端口

五、设置frps和frpc服务开机自启动

切勿直接复制粘贴,注意是frps还是frpc

5.1 设置云服务器端开机自启动

执行sudo vim /etc/systemd/system/frps.service创建服务,编辑如下

[Unit]Description=frps daemonAfter=syslog.target network.targetWants=network.target[Service]Type=simpleExecStart=/root/frp_0.38.0_linux_amd64/frps -c /root/frp_0.38.0_linux_amd64/frps.ini# 编辑的时候一定要删除注释 这里更改为自己安装frps的绝对路径Restart= alwaysRestartSec=1min[Install]WantedBy=multi-user.target

开启自启动

执行如下指令

#启动frpssystemctl daemon-reloadsystemctl start frps#设置为开机启动systemctl enable frps

5.2 设置局域网机子frpc开机自启动

执行sudo vim /etc/systemd/system/frpc.service创建服务,编辑如下

[Unit]Description=frpc daemonAfter=syslog.target network.targetWants=network.target[Service]Type=simpleExecStart=/home/intleo21/frp_0.38.0_linux_amd64/frpc -c /home/intleo21/frp_0.38.0_linux_amd64/frpc.ini# 编辑的时候一定要删除注释 这里更改为自己安装frpc的绝对路径Restart= alwaysRestartSec=1min[Install]WantedBy=multi-user.target

开启自启动

执行如下指令

#启动frpcsudo systemctl daemon-reloadsudo systemctl start frpc#设置为开机启动sudo systemctl enable frpc

六、复杂配置

以下配置中密码和公网IP都使用XX进行了代替,复制使用时请注意修改

远程服务端frps.ini

[common]# frp监听的端口,默认是7000bind_port = 7000# 授权码,请自定义更改token = XXXXX# 这个token之后在客户端会用到# frp管理后台端口,请按自己需求更改dashboard_port = 7500# frp管理后台用户名和密码,请改成自己的dashboard_user = admindashboard_pwd = XXXXXenable_prometheus = true# frp日志存放位置、日志等级及日志存储最大天数log_file = /var/log/frps.loglog_level = infolog_max_days = 7

客户端的frpc.ini文件

[common]# 远程服务器ip,远程frp服务端口以及远程登录密码server_addr = 119.XX.XX.119server_port = 7000token = XXXXX# 日志存放位置、日志等级及日志存储最大天数log_file = /var/log/frpc.loglog_level = infolog_max_days = 7# 将本地机的22端口映射至远程20022端口 中括号内[ssh]只作为标识,可自定义[ssh]type = tcplocal_ip = 127.0.0.1local_port = 22remote_port = 20022# 将本机的5901端口映射至远程25901端口[vnc]type = tcplocal_ip = 127.0.0.1local_port = 5901remote_port = 25901# 将本机所在局域网内的192.168.0.129机子的5901端口映射至远程55901端口[tsj-vnc]type = tcplocal_ip = 192.168.0.129local_port = 5901remote_port = 55901# 代理本机所在的内网,即若用户设置代理为公网IP+端口即可访问本机所在内网,使用的是socks5代理协议,plugin_user及后面的可设置可不设,但不设的风险较大[socks5_proxy] type = tcp remote_port = 7890 plugin = socks5plugin = socks5plugin_user = nameplugin_passwd = passworduse_encryption = trueuse_compression = true

重启frp服务

服务端

sudo systemctl restart frps.service

客户端

sudo systemctl restart frpc.service

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。