服务器运维之网络穿透和转发
端口转发,适合在同一个网络中的多台机器,内网穿透主要用在不同的两个网络中进行转发。
【1】.内网代理转发工具总结 msf反弹木马、lcx、portmap、ssh端口转发、iptables 端口转发、firewall 端口转发;socks代理工具:reGeorg,reDuh,Tunna和Proxifier;能够进行多层代理的工具:Earthworm(又称ew)、Termite、venom、fuso;多功能型的代理工具:frp、iox;内网穿透工具:nps、ngrok
【2】.如何搭建一台永久运行的个人服务器? 这里也用到了 ngrok 进行的内网穿透。
【3】.内网穿透的好处和坏处
1.端口转发
配置了vpn之后,两个网络就可以作为内网进行连接了,但是还是有工作要做的,比如如果要通过外部端口访问内部的某个应用,那么就需要用到了端口转发工具了。windows上自带了端口转发工具。下面我列举了几个比较好的端口转发工具,至于速率如何,还需要自己进行验证。
windows自带的工具
这个直接使用就好了
1 | # 将14941端口转发到10.8.0.6的80端口 |
1.利用云服务器通过OpenVPN将内网的地址发布到外网 (除了介绍了端口转发之外,还介绍了如何搭建openvpn连接虚拟专用网)
2.Linux端口转发的几种常用方法 (linux的端口转发工具)
3.Windows服务器配置端口转发的方法 Windows服务器端口转发配置,可以使用Windows自带的portproxy功能实现
4.Windows端口转发(Port Forwarding in Windows)
5.Windows自带的端口转发工具netsh使用方法 微软Windows的netsh是一个命令行脚本实用工具。使用netsh工具 ,可以查看或更改本地计算机或远程计算机的网络配置。
6.windows系统自带的端口转发工具:netsh
CCProxy
CCProxy除了实现常用的代理设置之外,还可以实现端口转发的功能,在设置界面的端口转发后面的E按钮,可以打开端口转发设置界面。设置目标地址,目标端口,以及本地监听端口,可以实现监听本地端口,然后转发到目标端口的功能。
CCProxy无限用户版序列号:JHEHIHCDDAHC 注册码:15f7f78febfaee55afeafefff7cb7fdfb3
1.Windows 和 Linux 平台下的端口转发工具 (Linux 下用过 iptables,rinetd;Windows 下用过某个防火墙的 NAT 功能、RemoteAnywhere 的端口重定向、FPipe,还有最近刚找到的 PassPort)
2.[转载]适用于Windows的5种最佳免费端口转发软件 (PCWintech、PortMapper、AUTAPF、UPnP PortMapper、PFConfig这些我都不知道没用过)
3.CCProxy 服务器端口映射原理 (突然在这里发现里CCProxy也能实现端口转发)
4.windows server 2008 r2 架设CCPROXY代理服务器无法工作的解决方案 (为了解决CCProxy总是启动不了的问题,在看这篇文章的时候,知道了FreeProxy这个软件)
5.安装ccproxy后,一直弹 cannot connect to the control service 怎么办
6.代理服务器CCProxy如何做端口映射
FreeProxy
1.FreeProxy代理服务器端软件介绍 之一 (FreeProxy安装和配置使用)
PortTunnel
这是一个端口转发工具,使用和配置都挺简洁的,就是指定监听端口,然后指定需要转发到的目标ip地址和端口。
这里不知道是不是我服务器的问题,对于几个端口不能使用,比如8000开头的几个端口,这个也没有深究,就放过了,使用了9000开头的端口进行转发。
Fpipe
1.FPipe端口转发 FPipe即forward pipe,在两个端口中间建立一个管道,来实现流量的转发,一般用于内网机器不能正常上网的情况,而且不需要考虑免杀,但是必须要有边界机器,它不仅支持TCP流量的转发,还支持UDP的。
2.FPipe 端口映射工具
PassPort
2.内网穿透
除了使用VPN之外,连接内网和外网,或者说是两个网络的可选的技术方案就是使用内网穿透功能,比较知名的有花生壳、nat123。
【1】.内网穿透 (nat123工具)
【2】.有哪些简单实用的端口映射(内网穿透)软件工具? (前几个有说是神卓网络的)
【3】.推荐5款最好用的内网穿透工具
【4】.端口转发&端口映射 (这里有说明什么时端口转发,以及端口映射的关系)
【5】.国产的内网穿透工具也很优秀,这10款工具推荐正在寻找的你! 1.cpolar;2.花生壳;3.SAKURA FRP;4.NATAPP;5.飞鸽;6.网云穿;7.闪库;8.内网云;9.快解析;10.nat132
frp
因为这个用的比较多,于是就单独开了一篇文章 服务器运维之Frp
ngrok
1.ngrok Spend more time programming. One command for an instant, secure URL to your localhost server through any NAT or firewall.
3.网络分流
nginx的作用是负载均衡,也就是把流量分配到压力不大的服务器上,端口转发的作用,也是把流量从一个端点,转发到另外的一个端点,是一对一的,现在有一个需求就是,能不能将端口转发的流量进行一对多呢?也就是从一个入口进来的tcp流量,可以转发到后面的多台服务器上,而不用更改原先的代码。根据这个要求,我找到了goreplay这个工具。
1.什么是网络分流器(TAP)?
安装
首先安装golang,这个没有什么讲究的,就是下载,解压配置环境变量,和java安装是一样的。然后再去下载 goreplay , 有deb和rpm以及window版本,可以选择自己的平台进行安装。
使用
我这里使用了input-tcp进行8082的监听,然后转发到8099这个端口上,似乎并不成功。
1 | # 转发tcp流量 |
1.HTTP引流神器Goreplay详解【精译】
2.回放线上流量利器-GoReplay 这里写了四种引流方式:Nginx层流量复制,基于业务代码层的引流,基于访问日志回放,基于TCP/IP层的引流。
3.使用 GoReplay 进行 HTTP 流量复制 _ 从安装到使用,还是挺全的
4.流量回放工具之 Goreplay 安装及初级使用
5.goreplay 使用经验 使用过程中遇到的坑:1.如果 HTTP 请求不符合规范,可能会抓不到包。遇到过 HTTP 请求头里面的 Content-Length 不等于实际的 Body 大小,goreplay 认为其请求未结束。2.input-file 是单 goroutine 在跑,会有性能瓶颈。测试的时候,读取的 RPS 在 1.7w - 1.8w 左右,如果压测需求大于这个,需要开多个进程同时跑。
问题
(1) couldn’t load wpcap.dll
当我使用input-raw的时候,出现了这个问题。
【解决】
解决方案就是下载npcap,然后双击安装就可以了。
3.网云穿
综合比较下来,我选择尝试了小蚂蚁的网云穿,虽然每月需要手动激活,但是好在还有免费的额度。
价格:1299,10M,2条;1999,10M,3条;
(1) 注册登录
这个就是要用手机号注册,然后登录到控制台
(2) 配置隧道
在控制台上,注册或者管理隧道
(3) 下载客户端,启动客户端
这里我暂时用了mac的客户端,启动之后,会让输入令牌,将控制台的令牌输入进去就可以了。
windows客户端建议下载有界面的版本,无界面的版本按照教程的意思,是说只要修改文件名就可以不用输入令牌了,但是我尝试之后还是无效,需要输入令牌,而且安装为系统服务功能也不可用,没有注册成功。有界面版本的就好多了,可以配置相关的内容,还可以设置是否开机启动。
(4) 访问内容
(5) 卸载
因为配置了开机启动,所以每一次开机的时候,都会有这个东西产生,在控制面板里面也找不到卸载的地方,原先的配置文件也没有了,在界面中也找不到关闭开机启动的方法了。后来我干脆直接删除了这个文件夹,才算是完事了,但是肯定在系统的某一个地方,残留了文件,但是我又无法找到,就先算了吧。
后来我只能放弃了这个东西了,因为激活版,只能是TCP隧道,不支持http协议,每一个月都要激活一次,每一个月只有1G流量
1.几款免费内网穿透工具测评使用 小蚂蚁、网云穿、 闪库、花生壳
2.免费的几款内网穿透工具 Sunny-Ngrok、蜻蜓映射、natapp
3.群晖/猫盘等私有 NAS 使用网穿云进行内网穿透访问教程
4.网云穿内网穿透Mac版本使用教程
5.网云穿内网穿透Windows无界面版本使用教程 我使用了无界面的方式,按照说明修改了文件的名称,结果还是需要输入令牌,后来我尝试了安装为服务的形式,结果出现了文件复制失败的错误,后来我关掉重启,结果好像服务已经注册成功了,可以使用了。
问题
(1) Invalid Host header
打开穿透后的网站,显示上面的错误,不知道是我网站的问题,还是什么问题。但是我本地的网站是可以正常访问的啊。
【解决方法】
配置vue.config.js中的devServer,
v3版本配置
1 | module.exports = { |
如果配置上面那个出现问题:Invalid options object. Dev Server has been initialized using an options object that does not match the API schema. - options has an unknown property ‘disableHostCheck’. These properties are valid,需要配置v4版本配置
1 | module.exports = { |
1.内网穿透 vue 返回 invalid host header 这里定位到了vue的问题。
2.vue-cli3出现Invalid Host header的解决方案
3.options has an unknown property ‘disableHostCheck’.
4.花生壳
除了网云穿,还有花生壳,感觉花生壳还是比较良心的,虽然也是1G流量,但是支持http协议。有一个缺点,就是不能自定义域名,这点还是挺头疼的。还有就是并发数,并发数最高是1000个,在花生壳的上下文中,它通常指的是在同一时间内,您的服务能够处理的同时TCP连接数。这个数值对于评估您的服务能够同时处理多少客户端请求非常重要。
价格:1299元,6M带宽,3条映射,300个并发;1899元,9M带宽,4条映射,600并发;2699,15M,6条;1899一年,9M。
还有一点,就是安装和卸载非常的方便,设置为开机启动项也很方便,不至于像网云穿一样,浪费了很多的时间。甚至卸载我都找不到地方。
【1】.花生壳实现内网穿透,获取公网IP?花生壳端口映射外网TCP测试 每次将一client断开后再连接,都会重新分配新的端口。
5.NAT123
号称是永久免费,不限流量。我感觉这个网站倒是挺low的,可能费用都用来研发了吧。
价格:386.9 ,全端口,最高5M;1182.6,全端口,最高10M,这个只是显示了一个区间,但是具体是不是能达到最高的还是要选配,这个不清楚。
【1】.nat123
6.Cpolar
在一篇专门的文章中写了
7.神卓互联
20M映射,3899元/年,500个并发数
1.内网穿透
7.性能问题
刚开始的时候,微辣实现功能,不会在乎性能的问题。但是实际上的话,还需要关注性能的,比如通过阿里云和frp进行内网测试,最大的速度是多少呢?老板想要知道的事到底如何才能进行配置呢?
关于速度的说明:由于流量需要经过服务器转发,所以传输速度的快慢取决于服务器的下行带宽和客户端的上行带宽,通常家用宽带的上行带宽较低,限制了出口的速度。
1.内网穿透比公网ip稳定性和速度会更好吗? 这里讨论了公网Ip和内网穿透的问题,要是条件允许,谁又会会考虑内网穿透而不是公网ip呢?
2.ZeroTier 和 FRP 速度对比实验(附搭建方法)
3.frp传输速率减半的问题
4.内网穿透多款工具测试
5.花生壳,内网穿透下的速度测试,花生壳配置和 机制理解
6.个人云-Frp内网穿透 这个应该是官方的网站
8.穿透方案
如果要选择内网穿透,还有服务器,我最近思考了以下方案,一个就是自建中转服务器,使用 frp 进行中转,另外就是购买相关的服务。
方案一,cploar内网穿透
选择Cploar,NAS10M套餐,五个保留自定义域名,6个TCP地址,2个在线cpolar进程每个进程20个隧道,并发数360个,还可以补差价升级到20M,其他的和10M套餐一样的。同时搭配了生态环境局的公共服务区的服务器作为辅助。
方案二,电信云服务器
选择电信的 4C8G 40G,20M带宽,进行端口转发,一年 1577 + 3590 = 5167,三年:2454+6336=8790。还有 4C16G 的机器,一年2093元,三年3229.70元,加上20M的带宽,三年9565这么多。另外就是独享10M带宽,一年1570.80元,三年 2772元
方案三,花生壳内网穿透
选择花生壳内网穿透臻享版,25M带宽,8个映射数,一年 3699 元,三年 9987元。还有 2699 的方案,15M带宽,6个映射。1899的9M带宽,4个映射数。
方案四,网穿云内网穿透
选择网穿云内网穿透旗舰版,20M带宽,两个映射数,一年3999,永久三条15M,3个映射数,9899。
方案五,阿里云升级带宽
阿里云升级带宽,固定带宽从10M升级到20M,一年就要 6,117.670 元。
【1】.使用Docker部署MinIO并结合内网穿透实现远程访问本地数据 这里就是用 cpolar 实现的内网穿透访问 minio 服务器的