返回

从零开始软路由内网穿透

后端

内网穿透:随时随地畅享家居设备控制

内网穿透的必要性

对于经常外出或需要远程访问家 中古设备的用户来说,内网穿透是一个必不可少的工具。通过内网穿透,你可以突破网络限制,随时随地访问和控制家中的路由器、NAS、监控摄像头等设备,让你不再受地域和网络环境的束缚。

使用 frp 实现内网穿透

frp 简介

frp 是一款功能强大、开源的内网穿透工具,支持多种平台和多种协议,具有易于配置、性能优异、安全可靠等优点。本文将重点介绍使用 frp 实现软路由内网穿透。

frp 安装

服务器端安装

在软路由上安装 frp 服务器端。下载 frp 并解压,进入解压目录,执行以下命令安装:

./frps -install

客户端安装

在需要远程访问的设备上安装 frp 客户端。下载 frp 并解压,进入解压目录,执行以下命令安装:

./frpc -install

frp 配置

服务器端配置

在软路由上创建 frps.ini 配置文件,内容如下:

[common]
bind_addr = 0.0.0.0
bind_port = 7000

[ssh]
type = tcp
local_ip = 192.168.1.10
local_port = 22
remote_port = 6000

其中:

  • bind_addr:服务器端监听地址,建议设置为0.0.0.0。
  • bind_port:服务器端监听端口,建议设置为7000。
  • ssh:指定需要穿透的内网服务,此处以 SSH 服务为例。
  • local_ip:内网服务所在设备的 IP 地址。
  • local_port:内网服务的端口号。
  • remote_port:外网访问端口号,可以任意设置。

客户端配置

在需要远程访问的设备上创建 frpc.ini 配置文件,内容如下:

[common]
server_addr = example.com
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

其中:

  • server_addr:服务器端的域名或 IP 地址。
  • server_port:服务器端的端口号。
  • ssh:指定需要穿透的内网服务,此处与服务器端配置保持一致。
  • local_ip:本地监听地址,建议设置为127.0.0.1。
  • local_port:本地监听端口号,可以任意设置。
  • remote_port:内网服务的端口号,与服务器端配置保持一致。

frp 启动

服务器端启动

在软路由上执行以下命令启动 frps 服务:

frps -c frps.ini

客户端启动

在需要远程访问的设备上执行以下命令启动 frpc 服务:

frpc -c frpc.ini

测试内网穿透

在 frp 客户端启动后,你可以使用以下命令测试内网穿透是否成功:

ssh -p 6000 root@example.com

其中:

  • -p 6000:指定外网访问端口号。
  • root@example.com:内网 SSH 服务的用户名和主机名。

如果连接成功,说明内网穿透已经设置成功。

其他内网穿透服务

除了 frp,市面上还有其他常用的内网穿透服务,如花生壳和 ngrok。

花生壳

花生壳是一款老牌的内网穿透服务,提供免费和付费两种版本。免费版支持穿透80和443端口,付费版支持更多的端口和高级功能。花生壳的操作简单,不需要复杂的配置,但免费版可能会存在不稳定的情况。

ngrok

ngrok 是一款国外流行的内网穿透服务,提供免费和付费两种版本。免费版支持穿透 TCP 和 HTTP/HTTPS 端口,付费版支持更多的协议和高级功能。ngrok 的操作也比较简单,但免费版可能会存在流量限制和连接不稳定的情况。

选择最适合自己的内网穿透服务

不同的内网穿透服务有各自的优缺点,用户需要根据自己的需求和偏好进行选择。

  • frp:开源免费,功能强大,性能优异,但需要一定的配置基础。
  • 花生壳:操作简单,无需配置,免费版功能受限,稳定性不佳。
  • ngrok:操作简单,无需配置,免费版流量受限,稳定性较好。

总结

通过使用内网穿透服务,你可以轻松突破网络限制,随时随地访问和控制家中的局域网设备。本文介绍了使用 frp 实现内网穿透的详细步骤,并提供了其他常用内网穿透服务的简介。希望本文能帮助你选择最适合自己的内网穿透解决方案,享受远程访问的便利。

常见问题解答

  1. 内网穿透有什么好处?

内网穿透可以突破网络限制,随时随地访问和控制家中的局域网设备,不受地域和网络环境的限制。

  1. 使用内网穿透服务需要什么条件?

需要有一台可以访问互联网的软路由或其他设备,并安装相应的内网穿透软件。

  1. frp、花生壳和 ngrok 这三种内网穿透服务有什么区别?

frp 是开源免费的,功能强大,但需要一定的配置基础;花生壳操作简单,无需配置,但免费版功能受限,稳定性不佳;ngrok 操作简单,无需配置,免费版流量受限,稳定性较好。

  1. 如何测试内网穿透是否成功?

在 frp 客户端启动后,可以使用 SSH 命令测试连接是否成功。

  1. 使用内网穿透服务有哪些安全风险?

内网穿透服务会暴露内网设备,因此需要采取适当的安全措施,如使用强密码和限制访问权限。