安装FTP服务
开始--》管理工具--》服务器管理器
安装IIS/FTP角色
打开服务器管理器,找到添加角色,然后点击,d出添加角色对话框,选择下一步
选择Web服务器(IIS),然后选择FTP服务,直到安装完成。
在IIS中查看,如果能够右键创建FTP站点,则表明FTP服务安装成功
创建Windows用户名和密码,用于FTP使用。
开始--》管理工具--》服务器管理器,添加用户,如下图:本实例使用ftptest
在服务器磁盘上创建一个供FTP使用的文件夹,创建FTP站点,指定刚刚创建的用户FtpTest,赋予读写权限
步骤阅读
7
客户端测试。直接使用ftp://服务器ip地址:ftp端口,如图。d出输入用户名和密码的对话框表示配置成功,正确的输入用户名和密码后,即可对FTP文件进行相应权限的 *** 作。FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。如果要用ftp外网穿透,需要使用被动模式。
被动模式(PASV)连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
所以,在使用ftp的时候,不仅需要转发默认的21端口,还需要转发数据端口。
考虑到frp转发的情况,所以数据端口最好是固定的,所以这里需要修改ftp服务器的配置,这里以vsftpd服务为例。修改 vsftpdconf 文件,固定被动模式端口范围
这里只开启了50000、50001、50002三个端口,意思就是同时只能有三个用户连接,如果需要更多用户可以配置更多的端口。
在frp的配置中,需要添加默认端口21和被动数据端口50000、50001、50002四个端口配置
总结:
宝塔面板打开默认关闭的UDP
解决方案:
安装宝塔面板后,在服务器上安装frps,并开启KCP,发觉客户端frpc连接不上,始终提示 i/o timeout 。
检查了服务器(腾讯云)的防火墙,相关端口的TCP和UDP都已打开(已导入宝塔面板专门为腾讯云出的出入站规则,及之前使用AppNode面板的自定义出入站规则)。
各种调试,无解。
折腾了近2天。
忽然再次反映过来,KCP走的是UDP协议,因为安装宝塔面板之前是frps是好用的,所以判定问题出在宝塔面板上,是否是服务端系统(Raspbian)的UDP不通?
遂去宝塔面板论坛查询,发现宝塔面板安装后,默认关闭UDP端口连接。使用上面面的命令,打开防火墙的相关配置。
重启frpc,正常。
内网穿透从字面上来说就是将本地的服务器映射到外网可访问设想下
如果有已知的公网服务器,那内网的本地服务就可以映射到外网了。
如果没有已知的公网服务器,那只能代理到外网的服务器访问即可。
ps: 公网服务器与可访问外网的服务器是有区别的。区别在于用户访问某宝服务,先是到公网服务器然后再转发的淘宝服务。所以可访问外网的服务器不等于公网服务器。
换句话说直接将服务器部署在与公网服务器相通的机器上不就可以了,我也是这样想的。所以就有生产环境与测试环境,其实内网穿透还是存在安全隐患的,内网穿透大部分应用于测试环境,比如常用的微信相关开发。
最后我们来聊聊FRP与NGROK
两者的原理都一样,通过解析过的域名做本地服务端口映射。
Ngrok相对比较简单,只需要能访问外网的机器即可。可参考 >
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)