目录什么是内网穿透核心原理常见实现方式配置方案下载并安装frpsECS本地Centos虚拟机编写服务端配置文件frps.tomlECS放开ecs上安全组和防火墙的相应端口安全组防火墙启动fprs编写客户端配置文件frpc.toml本地Centos虚拟机启动frpc测试ollama发布于frp 配置反向代理实现 内网穿透 | Eucalyptushttps://blog.eucalyptus.cc/2026/05/20/frp-%E9%85%8D%E7%BD%AE%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E5%AE%9E%E7%8E%B0-%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/什么是内网穿透核心原理你的本地设备如家里的电脑、公司的服务器通常通过路由器/NAT设备上网只拥有内网IP如192.168.x.x。外网无法直接访问这些内网IP因为路由器有防火墙功能会拦截外部主动发起的连接内网IP在公网上不可路由内网穿透就是打通这个墙让外网流量能够到达内网设备。常见实现方式方式原理例子反向代理内网主动连接公网服务器建立隧道流量通过隧道转发FRP、Ngrok、花生壳VPN/虚拟组网组建虚拟局域网让外网设备获得内网身份WireGuard、ZeroTier、TailscaleDDNS端口映射如果有公网IP直接做路由器端口转发路由器设置虚拟服务器云服务器中转数据先发到云服务器再转发到内网自建转发服务配置方案本文章需要配置的是FRP实现内网穿透frps服务端部署在有公网IP的ECS上如阿里云frpc客户端部署在本地CentOS虚拟机中流程本地frpc主动连接ECS上的frps → 建立加密隧道 → 外网用户访问ECS的端口 → frps通过隧道转发给frpc → 到达本地服务[外网用户] → [ECS公网IP:7500] → [frps] ═══隧道═══ [frpc] → [本地Ollama:11434]下载并安装frpsECS本地Centos虚拟机#下载 wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz #解压 tar -zxvf frp_0.61.0_linux_amd64.tar.gz cd frp_0.61.0_linux_amd64编写服务端配置文件frps.tomlECScat frpc.toml EOF # 服务端监听地址0.0.0.0表示监听所有网卡 bindAddr 0.0.0.0 # 服务端监听端口frpc会连接这个端口 bindPort 7000 # 身份验证必须设置防止被他人滥用 auth.method token auth.token your_secure_token_here # 改成复杂密码 # Web 管理面板可选用于查看连接状态 webServer.addr 0.0.0.0 webServer.port 7500 webServer.user admin webServer.password admin123 # 允许代理的端口范围根据你的服务调整 allowPorts [ { start 6000, end 7000 } ] EOFauth.token可以使用openssl生成# 生成32位随机字符串 openssl rand -base64 32 # 示例输出 # W8vX2kLmN9pQr4StUv3WxYz5AbCdEfGhIjKlMnOpQr放开ecs上安全组和防火墙的相应端口安全组端口用途授权对象7000frp服务端通信端口0.0.0.0/07500Web管理面板可选0.0.0.06000-7000代理端口范围0.0.0.0/0防火墙sudo firewall-cmd --permanent --add-port7000/tcp sudo firewall-cmd --permanent --add-port7500/tcp sudo firewall-cmd --permanent --add-port6000-7000/tcp sudo firewall-cmd --reload启动fprs# 前台启动测试用 ./frps -c ./frps.toml # 后台启动生产用 nohup ./frps -c ./frps.toml frps.log 21 # 查看日志 tail -f frps.log编写客户端配置文件frpc.toml本地Centos虚拟机cat frps.toml EOF # 服务端地址ECS的公网IP serverAddr x.x.x.x # 你的ECS公网IP serverPort 7000 # 身份验证必须与服务端一致 auth.method token auth.token your_secure_token_here # 必须和服务端相同 # 给这个客户端起个名字 user local-ollama # 代理配置将本地Ollama暴露到公网 [[proxies]] name ollama type tcp localIP 127.0.0.1 localPort 11434 # 本地Ollama端口 remotePort 6000 # 公网访问端口ECS的6000端口 # 可选再暴露SSH [[proxies]] name ssh type tcp localIP 127.0.0.1 localPort 22 remotePort 6001 EOF启动frpc# 前台启动测试 ./frpc -c ./frpc.toml # 后台启动 nohup ./frpc -c ./frpc.toml frpc.log 21 # 查看日志 tail -f frpc.log测试ollama# 直接访问本地Ollama curl http://127.0.0.1:11434/api/tags # 通过FRP访问 curl http://ECS公网IP:6000/api/tags
frp 配置反向代理实现 内网“穿透“
目录什么是内网穿透核心原理常见实现方式配置方案下载并安装frpsECS本地Centos虚拟机编写服务端配置文件frps.tomlECS放开ecs上安全组和防火墙的相应端口安全组防火墙启动fprs编写客户端配置文件frpc.toml本地Centos虚拟机启动frpc测试ollama发布于frp 配置反向代理实现 内网穿透 | Eucalyptushttps://blog.eucalyptus.cc/2026/05/20/frp-%E9%85%8D%E7%BD%AE%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E5%AE%9E%E7%8E%B0-%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/什么是内网穿透核心原理你的本地设备如家里的电脑、公司的服务器通常通过路由器/NAT设备上网只拥有内网IP如192.168.x.x。外网无法直接访问这些内网IP因为路由器有防火墙功能会拦截外部主动发起的连接内网IP在公网上不可路由内网穿透就是打通这个墙让外网流量能够到达内网设备。常见实现方式方式原理例子反向代理内网主动连接公网服务器建立隧道流量通过隧道转发FRP、Ngrok、花生壳VPN/虚拟组网组建虚拟局域网让外网设备获得内网身份WireGuard、ZeroTier、TailscaleDDNS端口映射如果有公网IP直接做路由器端口转发路由器设置虚拟服务器云服务器中转数据先发到云服务器再转发到内网自建转发服务配置方案本文章需要配置的是FRP实现内网穿透frps服务端部署在有公网IP的ECS上如阿里云frpc客户端部署在本地CentOS虚拟机中流程本地frpc主动连接ECS上的frps → 建立加密隧道 → 外网用户访问ECS的端口 → frps通过隧道转发给frpc → 到达本地服务[外网用户] → [ECS公网IP:7500] → [frps] ═══隧道═══ [frpc] → [本地Ollama:11434]下载并安装frpsECS本地Centos虚拟机#下载 wget https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz #解压 tar -zxvf frp_0.61.0_linux_amd64.tar.gz cd frp_0.61.0_linux_amd64编写服务端配置文件frps.tomlECScat frpc.toml EOF # 服务端监听地址0.0.0.0表示监听所有网卡 bindAddr 0.0.0.0 # 服务端监听端口frpc会连接这个端口 bindPort 7000 # 身份验证必须设置防止被他人滥用 auth.method token auth.token your_secure_token_here # 改成复杂密码 # Web 管理面板可选用于查看连接状态 webServer.addr 0.0.0.0 webServer.port 7500 webServer.user admin webServer.password admin123 # 允许代理的端口范围根据你的服务调整 allowPorts [ { start 6000, end 7000 } ] EOFauth.token可以使用openssl生成# 生成32位随机字符串 openssl rand -base64 32 # 示例输出 # W8vX2kLmN9pQr4StUv3WxYz5AbCdEfGhIjKlMnOpQr放开ecs上安全组和防火墙的相应端口安全组端口用途授权对象7000frp服务端通信端口0.0.0.0/07500Web管理面板可选0.0.0.06000-7000代理端口范围0.0.0.0/0防火墙sudo firewall-cmd --permanent --add-port7000/tcp sudo firewall-cmd --permanent --add-port7500/tcp sudo firewall-cmd --permanent --add-port6000-7000/tcp sudo firewall-cmd --reload启动fprs# 前台启动测试用 ./frps -c ./frps.toml # 后台启动生产用 nohup ./frps -c ./frps.toml frps.log 21 # 查看日志 tail -f frps.log编写客户端配置文件frpc.toml本地Centos虚拟机cat frps.toml EOF # 服务端地址ECS的公网IP serverAddr x.x.x.x # 你的ECS公网IP serverPort 7000 # 身份验证必须与服务端一致 auth.method token auth.token your_secure_token_here # 必须和服务端相同 # 给这个客户端起个名字 user local-ollama # 代理配置将本地Ollama暴露到公网 [[proxies]] name ollama type tcp localIP 127.0.0.1 localPort 11434 # 本地Ollama端口 remotePort 6000 # 公网访问端口ECS的6000端口 # 可选再暴露SSH [[proxies]] name ssh type tcp localIP 127.0.0.1 localPort 22 remotePort 6001 EOF启动frpc# 前台启动测试 ./frpc -c ./frpc.toml # 后台启动 nohup ./frpc -c ./frpc.toml frpc.log 21 # 查看日志 tail -f frpc.log测试ollama# 直接访问本地Ollama curl http://127.0.0.1:11434/api/tags # 通过FRP访问 curl http://ECS公网IP:6000/api/tags