一、路由器(端口映射)
内网的一台设备要上因特网对外开放服务或接收数据,都需要端口映射
静态端口映射:就是在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个IP和端口,不管有没有连接,这个映射关系都会一直存在。就可以让公网主动访问内网的一台电脑。
设置一个外部端口,这样路由器的公网ip+外部端口就可以访问内网ip+内部端口的设备。前提有公网ip地址。
二、 服务器(内网穿透)https://blog.youkuaiyun.com/cao0507/article/details/82758288
用阿里云服务器,有公网ip,可以做内网穿透。
服务器和内网中的设备下载frp工具包。服务器用frps相关文件,客户端用frpc相关文件。
https://github.com/fatedier/frp/releases/download/
配置服务器端文件 frps.ini
[common]
bind_port = 7000
配置内网目标主机的客户端文件 frpc.ini,多个端口用名字[×××]命名。
[common]
server_addr = xxx.xxx.xxx.xxx #frp服务端地址,必须是公网ip或者域名,这里写阿里服务器地址
server_port = 7000 #frp服务端端口,即填写服务端配置中的 bind_port
[ssh]
type = tcp #连接类型,填tcp或udp
local_ip = 127.0.0.1 #填127.0.0.1或内网ip都可以
local_port = 22 #需要转发到的端口,ssh默认端口是22
remote_port = 6000 #frp服务端的远程监听端口,即访问服务端的remote_port就相当于访
#问客户端的 local_port,如果填0则会随机分配一个端口
在公网服务器上运行服务端程序:
$ nohup ./frps -c frps.ini &
查看运行的信息:
$ tail -f nohup.out
在内网目标主机上运行客户端程序:
$ nohup ./frpc -c frpc.ini &
查看运行的信息:
$ tail -f nohup.out