| 2025-07-31
1、首先要准备一个具有公网 IP 的服务器作为 frp 的服务端。如果没有自己的公网服务器,可以从云服务提供商处租用,比如阿里云、腾讯云等。在服务器上安装 frp 服务端程序。以 Linux 系统为例,先在 frp 的官方仓库(https://github.com/fatedier/frp/releases)下载对应系统架构的 frp 压缩包,假设下载的是 frp_0.49.0_linux_amd64.tar.gz ,使用命令tar -zxvf frp_0.49.0_linux_amd64.tar.gz解压。解压后进入解压目录,修改 frps.ini 配置文件。基本配置如下:
[common]
bind_port = 7000
这里的 bind_port 表示 frp 服务端监听的端口,可根据实际情况修改,但要注意在服务器安全组或者防火墙中开放此端口。然后使用命令nohup ./frps -c frps.ini &启动 frp 服务端。
2、在需要进行端口映射的内网机器(客户端)上,同样从 frp 官方仓库下载对应系统的客户端程序并解压。比如在 Windows 系统上下载了 frp_0.49.0_windows_amd64.zip ,解压后修改 frpc.ini 配置文件。假设要将内网机器上的 Web 服务(运行在 127.0.0.1:80 端口)映射出去,配置如下:
[common]
server_addr = 公网服务器的IP地址
server_port = 7000
[web]
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains = 你自己的域名(如果没有可以不填,frp会生成随机二级域名供测试)
其中 server_addr 填写之前准备的公网服务器 IP,server_port 要与服务端配置的 bind_port 一致。type 表示代理类型,这里因为是 Web 服务所以选 http。local_ip 和 local_port 填写内网服务实际的 IP 和端口。custom_domains 如果有自己的域名,可以配置,这样通过自己的域名就能访问内网服务,并且需要在域名解析处添加一条 CNAME 记录指向 frp 服务端分配的地址;如果没有则留空,frp 会自动生成一个二级域名用于访问。配置完成后,在客户端使用命令frpc -c frpc.ini启动客户端。
3、完成上述配置和启动步骤后,如果使用了自定义域名,确保域名解析生效后,在浏览器中输入配置的域名(或者 frp 生成的二级域名)就可以访问到内网机器上的 Web 服务了,也就成功实现了在无公网 IP 情况下的端口映射。
除了 frp,花生壳和 nat123 等工具也能实现类似功能。花生壳使用时,先下载安装花生壳客户端,注册登录后,在客户端界面添加映射,填写内网服务的相关信息(如 IP、端口、服务类型等),花生壳会分配一个外网访问地址,通过该地址即可访问内网服务。nat123 也是类似流程,下载安装客户端,登录后添加端口映射规则,选择映射类型,填写内网地址和端口,设置外网访问信息(可使用自定义二级域名或绑定自己域名),保存后即可通过设置的外网地址访问内网服务。
在进行端口映射时,要注意安全问题。比如选择可靠的内网穿透工具,避免使用来源不明的软件带来安全隐患;如果使用自定义域名,要妥善管理域名解析,防止被恶意篡改;对于内网服务本身也要做好安全防护,如设置强密码、及时更新软件补丁等,防止被非法访问和攻击。
在无公网 IP 的情况下,借助内网穿透工具可以有效地实现端口映射,满足外网访问内网服务的需求,同时要注重操作过程中的每一个环节,保障网络和服务的安全稳定运行。
1、什么是公网 IP:公网 IP 是互联网上的全球唯一标识,可直接被其他网络设备访问。与内网 IP 不同,内网 IP 用于局域网内设备通信,不能直接被外网访问。公网 IP 分为动态和静态,动态公网 IP 每次上网时由网络服务提供商随机分配,静态公网 IP 则固定不变。
2、端口映射的风险有哪些:端口映射可能使内网设备暴露在公网中,增加被攻击风险,如恶意软件入侵、端口扫描等。若配置不当,还可能导致网络服务异常。为降低风险,应选择正规工具,谨慎配置映射规则,并加强内网安全防护。
3、如何选择合适的内网穿透工具:需考虑安全性,选择有安全保障的工具;易用性,操作简单利于上手;性能方面,关注带宽、延迟等指标;成本上,根据需求选免费或付费工具。如个人简单测试可选用免费且易用的 ngrok,企业级应用则要综合考量安全性和性能,像 frp 这类开源且可定制的工具更合适。