如何实现Linux内网穿透
更新:2023-06-04 20:08
内网穿透是一种将内部网络中的设备通过外网进行访问的技术。在Linux系统中,实现内网穿透有多种方式,其中最常见的方法是使用ngrok和frp。
一、ngrok内网穿透
ngrok是一个基于Go语言开发的反向代理软件,可以将内网设备映射到外网,从而实现内网穿透。
首先,需要下载ngrok的Linux版本:
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
解压缩文件,并将可执行文件移动到/usr/local/bin目录下:
unzip ngrok-stable-linux-amd64.zip
mv ngrok /usr/local/bin/ngrok
启动ngrok,并进行内网穿透:
ngrok authtoken [YOUR_AUTH_TOKEN]
ngrok tcp [PORT]
其中,[YOUR_AUTH_TOKEN]是ngrok的授权码,[PORT]是内网设备的端口号。启动后,ngrok会生成一个公网地址,可以通过此地址来访问内网设备。
二、frp内网穿透
frp也是一款开源的内网穿透软件,可以将内网设备映射到公网。相对于ngrok,frp的配置更为简单。
首先,需要下载frp的Linux版本:
wget https://github.com/fatedier/frp/releases/download/v0.28.0/frp_0.28.0_linux_amd64.tar.gz
解压缩文件,并进入到frp的目录:
tar -zxvf frp_0.28.0_linux_amd64.tar.gz
cd frp_0.28.0_linux_amd64
编辑frpc.ini文件,设置内网设备的信息和映射端口:
[common]
server_addr = your_server_address
server_port = 7000
token = your_token[web]
type = tcp
local_ip = your_local_ip
local_port = your_local_port
其中,your_server_address是frp服务器的地址,your_token是frp的密码,your_local_ip和your_local_port是内网设备的IP地址和端口号。
启动frp客户端:
./frpc -c frpc.ini
在外网访问时,可以使用frp服务器的公网地址和配置的端口号。
三、总结
Linux内网穿透可以通过ngrok和frp两种方式进行实现。在使用这些工具时,需要注意安全性,授权码和密码不要泄露。此外,还有其他实现内网穿透的工具,大家可以根据自己的实际情况选择合适的工具。