类别:技术积累 / 日期:2021-09-30 / 浏览:9561 / 评论:4
大部分普通电脑对外都没有固定的公网IP、或处于NAT网络内,要从局域网外直接访问该电脑,需要借助第三方工具。
一、有一台公网固定IP服务器的情况
1、Nginx
Nginx具有4层/7层的反向代理的功能,我们可以利用该特性实现向内网计算机的请求转发,具体实现方式为通过conf/nginx.conf配置文件的stream、http节实现。
所有基于TCP/UDP协议的相关上层协议都可以通过如下配置转发,以下代码表示通过本服务器的13389端口转发到内网计算机192.168.1.100的3389远程桌面端口。
stream{
upstream rd_100{
server 192.168.1.100:3389;//定义上游服务器的IP和端口
}
server{
listen 13389;
proxy_pass rd_100;
}
} 而HTTP、HTTPS可通过如下配置转发,以下代码表示通过本服务器80端口绑定主机名www.test.com并转发到内网计算机192.168.1.100的8080端口。
http {
upstream internal_server {
server 192.168.1.100:8080;//定义上游服务器的IP和端口
}
server {
listen 80;
server_name www.test.com;
location / {
proxy_pass http://internal_server/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}2、VPN服务
在本服务器上安装并开放VPN服务,内网计算机加入该VPN,且其它计算机也加入VPN即可访问。
3、代理服务器
在本服务器上安装并开放代理服务,其它计算机设置代理访问。
4、FRP等第三方内网穿透工具
分别设置服务端配置文件frps.ini和客户端配置文件frpc.ini。
[common] bind_port = 7000 dashboard_port = 7500 # dashboard's username and password are both optional dashboard_user = admin dashboard_pwd = admin enable_prometheus = true authentication_method = token token = admin
[common] server_addr = *.*.*.* server_port = 7000 admin_addr = 127.0.0.1 admin_port = 7400 admin_user = admin admin_pwd = admin authentication_method = token token = admin [rdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 13389
5、其它
二、没有一台公网固定IP服务器的情况
1、蒲公英等组网软件
本质上是由第三方提供公网固定IP服务器的VPN服务。
2、花生壳等内网映射软件
3、其它


共有 4 条评论
发表评论 / 取消回复