
由于经常用到TCP,UDP等调试,可在公司内网又没有办法调试,刚好自己又有台阿里云的服务器,试试做一下内网穿透,简单的原理就是,将内网的某个端口与我的阿里云服务器的端口绑定,从外网访问服务器的端口,就能直接访问内网的电脑。
那么首先我们需要配置服务器,先去GitHub看看最新版本:https://github.com/fatedier/frp/releases,我使用的是0.29.0的版本,我的服务器是CentOS版的,那就下载frp_0.29.0_linux_amd64这个文件,右键复制链接得到下载地址:https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz。
使用Xshell连接服务器,默认进入的路径是ROOT目录,我们就直接把FRP安装在这个路径吧。以下4个命令分别是下载对应链接文件到当前目录、解压到当前文件夹、进入解压后的文件夹、打开编辑frps.ini文件.
Wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz
tar zxf frp_0.29.0_linux_amd64.tar.gz
cd frp_0.29.0_linux_amd64/
vi frps.ini
在此时按字母i进入插入模式,可以自由删除,粘贴等等,参考我下面设置的。
[common]
bind_port = 7000
vhost_http_port = 8080
vhost_https_port = 8081
token = pipihua
custom_404_page = /root/frp_0.29.0_linux_amd64/404.html
dashboard_port = 7500
dashboard_user = pph
dashboard_pwd = pipihua
然后输入:wq!保存并退出,这里我就讲讲几个重点的地方,vhost_http_port是http对应的端口;vhost_https_port是https对应的端口,可以自行设置;token是通讯加密的秘钥,必须与客户端的设置对应,也可以不填;custom_404_page是404错误页面的地址,我已经提前做好上传了,也可以不填;dashboard_port、dashboard_user、dashboard_pwd分别是后台管理的端口,账号名字和密码。
说到这里,其实服务端用到的实际就只有frps,frps.ini,客户端用到的只有frpc.exe,frpc.ini这2个文件,其他的都是可以删除的,frpc_full.ini和frps_full.ini这2个文件是全配置示例,可以参考,也可以看看官网FRP的详细教程:https://www.cnblogs.com/sanduzxcvbnm/p/8508741.html
文件修改好了之后就可以使用下面命令运行了。
./frps -c frps.ini #运行FRP
这里我再列2条命令方便用来调试frp。
ps -ef |grep frps #查找frps的相关进程,
kill -9 4399 #杀死4399的进程任务,这个4399是根据上面的查找进程知道的,每次都不一样。
接下来我们怎么让他每次开机就运行呢,百度了一下我觉得使用systemctl来控制自启,比较好用,很方便。比较顺手的方法是我们在电脑本地建一个txt文本文档,改文件名字为frps.service,在frps.service里写入以下内容:
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
ExecStart=/root/frp_0.29.0_linux_amd64/frps -c /root/frp_0.29.0_linux_amd64/frps.ini
[Install]
WantedBy=multi-user.target
注意,如果你的frps和frps.ini存放的路径与我的不一样就要修改ExecStart的值。
保存之后就可以使用XFTP上传到/lib/systemd/system/目录中,当然也可以使用vim frps.service命令新建这个文件。最后输入一下2条命令就能开机自动启动frp服务了。
systemctl start frps #启动frps
systemctl enable frps #打开自启动
这里我再补充以下3条指令:
systemctl restart frps #重启应用
sudo systemctl stop frps #停止应用
systemctl status frps #查看应用的日志
服务端的配置到此就结束了,还是很简单方便的。接下来就是配置客户端了,客户端用的是WIN10的电脑,所以呢,我们需要重新下载在windows平台使用的frp文件,frp_0.29.0_windows_amd64,下载这个版本。我们只需要里面frpc.exe,frpc.ini这2个文件,重点在于修改frpc.ini文件,参考我设置的:
[common]
#不会设置可以参考http://huazai.eleuu.com/?post=21
#服务器地址,这是我阿里云服务器的地址
server_addr = 149.129.141.111
#服务端口,与frps.ini里设置对应
server_port = 7000
# 连接认证token,与frps.ini里设置对应
token = pipihua
#名称1
[WEB]
#协议类型,可选 tcp udp http https等
type = http
#本地ip,不用修改
local_ip = 127.0.0.1
#本地端口
local_port = 80
#绑定域名 注意需将域名的 A记录解析到149.129.141.111
#注意服务器端 http端口为8080 https为8081 ,例如http设置好ppz.eleuu.com后,实际访问地址为ppz.eleuu.com:8080
custom_domains = ppz.eleuu.com
#名称2,注意必须不能有2个相同的名称
[destop]
#协议类型,可选 tcp udp http https等
type = tcp
#本地ip,不用修改
local_ip = 127.0.0.1
#本地端口 3389为远程桌面访问端口
local_port = 3389
#外网访问端口
remote_port = 7002
#例如以上操作方式为 按住WIN+R键,输入mstsc,远程地址填写eleuu.com:7002,填入远程账号即可远程访问
有#行的可以删除,这是注释。其中eleuu.com和ppz.eleuu.com的A记录解析都是我服务器的IP:149.129.141.111。上面的代码实现的就是,别人通过访问ppz.eleuu.com:8080就能直接访问我电脑本地的80端口搭建的网站。还有一个就是可以通过3389远程控制我的电脑。
那么接下来就是怎么运行frp程序了,我们新建一个txt文本文档,改名为启动FRP.bat,内容就放下面一行代码保存:
frpc -c frpc.ini
然后每次我们使用的时候双击这个bat文件就能运行了。
那我们又该怎么让他后台开机自启呢?我想到的方法是使用vb脚本,同样我们新建一个txt文本文档,改名为开机自启FRP.vbs,内容就放下面两行代码保存:
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "C:\Windows\System32\启动FRP.bat",0
其中第二行为要启动bat文件的路径,后面的0代表后台隐藏启动,我将启动FRP.bat、frpc.ini、frpc.exe这3个文件全放在C:\Windows\System32目录里,当然你们也可以放其他目录,最后将vbs脚本文件放在C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目录里(WIN10系统),这个目录就是存放开机自启程序的目录。这样就可以通过vbs脚本后台启动bat程序,再通过bat程序启动frpc.exe。
开启远程桌面功能:
1:开启电脑远程桌面服务:WIN10系统右键桌面空白处-显示设置-远程桌面,设置为开启,再点击 选择可远程访问这台电脑的用户,添加-高级-查找,选中Administrator,依次点击确认。
2:设置无密码连接:WIN+R组合键输入gpedit.msc,依次选择 Windows 设置——安全设置——本地策略——安全选项,找到:帐户:使用空白密码的本地帐户只允许进行控制台登录 双击打开,选择 已禁用 再应用确认。
3:使用远程桌面:按住WIN+R键,输入mstsc,远程地址填写eleuu.com:7002,填入远程账号Administrator即可远程访问。
开启电脑局域网共享功能:
1:WIN+R组合键输入gpedit.msc依次选择计算机配置——管理模板——网络——Lanman工作站——双击右边的启用不安全的来宾登录,设置为启用并确认。
2:控制面板——应用——程序和功能——启用或关闭Windows功能,找到“SMB1.0/CIFS文件共享支持”勾选并确定。
3:控制面板——网络和Internet——网络和共享中心——更改高级共享设置,将专用以及来宾或公用中的启用网络发现勾选,启用文件和打印机共享勾选,再将所有网络中的,启用共享以便可以访问网络的用户可以读取和写入公用文件夹中的文件勾选,使用128位加密帮助保护文件共享连接(推荐)勾选,无密码保护的共享勾选,最后点击确认。



发表吐槽
你肿么看?
既然没有吐槽,那就赶紧抢沙发吧!