1,通过公网服务器转发,这是目前市场上大多三方的内网穿透服务方式。
2,P2P穿透,端对端连接通信,即常说的UDP打洞方式,受国内复杂网络环境影响打洞成功机率不高。
3,通过公网服务器响应对二端握手穿透,穿透成功时直接二端P2P打洞直联。
内网穿透工具有很多,比如Ngrok、花生壳、frp。原理基本一样。
这里主要了解一下FRP, frp分为客户端和服务端,frps为服务端,frpc为客户端。
https://github.com/fatedier/frp
https://gofrp.org/docs/
https://gofrp.org/docs/examples/
配置时的端口防火墙必须开放和要配置开放对应的安全组
使用FileZilla来链接,可以传输文件了
现在通过 FRP 就可以很容易实现这一功能,这里以 HTTP 服务为例:首先修改 【FRP 服务端】配置文件,通过 vhost_http_port 参数来设置 HTTP 访问端口,这里将 HTTP 访问端口设为 8080。
再去修改客户端文件。这里通过 local_port 和 custom_domains 参数来设置本地机器上 Web 服务对应的端口和自定义的域名,这里我们分别设置端口为 80,对应域名为 mm.like.com
frp的客户端新增[mysql]
访问:mysql -uxx1 -hxx2 -P1006 -pxx3
Centos7的服务systemctl脚本存放在:/usr/lib/systemd/目录下,有系统(system)和用户(user)之分,一般需要开机不登录就能运行的程序,就存放在/usr/lib/systemd/system/目录下。
然后,我们再把这个脚本放置在 /usr/lib/systemd/system/目录下,之后我们再运行下面两条命令来更新 systemd 配置文件,并启动服务
内网穿透神器frp的搭建与使用
frpc.ini的文件内容:
# frpc.exe -c frpc.ini
[common]
server_addr = 123.206.43.20
server_port = 7000
auth_token = 123
log_file = ./frpc.log
[web01]
type = http
local_ip = 127.0.0.1
local_port = 8080
custom_domains = frpc.zhshchh.cn
开启客户端命令:frpc.exe -c frpc.ini
frps.ini的文件内容:
[common]
bind_addr = 0.0.0.0
bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443
dashboard_port = 7500
[web01]
type = http
auth_token = 123
custom_domains = frpc.zhshchh.cn
服务器安装frp命令:
1:
wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
2:一路回车
3:修改frps.ins文件为上面的内容
4:服务器管理命令
/etc/init.d/frps start
/etc/init.d/frps stop
/etc/init.d/frps restart
/etc/init.d/frps status
/etc/init.d/frps config
/etc/init.d/frps version
运行环境:
1.阿里云服务器做frp服务器
2.路由器做frp客户端。
在被动方式FTP中,命令连接和数据连接都由客户端发起。FRP映射内网服务器的21端口,和至少1个数据传输端口,数据端口貌似不能太大(我用50000不可以),如25840-25842即可。
路由器设置被动端口范围。
所以需开启阿里云安全组端口25840/25842。
本地frp客户端配置文件参考:
运行frp :
现在就可以通过服务器ip:2121连接到内网ftp服务器了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)