新闻资讯

linux内网穿透是什么意思,怎么实现呢

2025-09-10

内网穿透,也被称为NAT穿透,是指在网络地址转换(NAT)和防火墙的限制下,实现位于私有网络(内网)中的服务或设备能够被位于外部网络(外网)中的用户访问的技术手段。其核心目的在于克服NAT和防火墙所带来的通信阻碍,使得即便内网设备使用的是私有IP地址(如常见的192.168.x.x、10.x.x.x等网段),无法直接被外网识别和访问,也能通过特定方式让外网可访问内网服务,如同在内外网之间开辟了一条数据通道。在Linux环境下,实现内网穿透有多种方法,下面为你详细介绍。

基于NAT端口映射(需公网IP)

对于拥有公网IP的Linux服务器用户,可以利用iptables工具通过NAT模块实现端口映射,进而达成内网穿透的效果。

操作步骤

1、确定内网服务信息:明确需要对外提供服务的内网设备的IP地址以及该服务所使用的端口号。例如,一台内网Web服务器的IP为192.168.1.100,提供Web服务的端口为80。
2、设置iptables规则:在Linux服务器上执行iptables命令进行端口映射设置。假设服务器的公网IP为202.100.1.1,要将公网的8080端口映射到内网Web服务器的80端口,命令如下:

iptables-tnat-APREROUTING-ptcp--dport8080-jDNAT--to-destination192.168.1.100:80

上述命令的含义是,在内核的NAT表的PREROUTING链中添加一条规则,当有TCP协议且目的端口为8080的数据包进入时,将其目的地址转换为192.168.1.100:80,即转发到内网Web服务器的80端口。
3、保存规则:不同的Linux发行版保存iptables规则的方式略有不同。例如在CentOS系统中,可通过修改/etc/sysconfig/iptables文件,将上述规则添加到文件中,然后重启iptables服务,使规则生效:

serviceiptablesrestart

在Ubuntu系统中,可使用iptables-persistent工具来保存规则。先安装该工具:

apt-getinstalliptables-persistent

然后按照提示操作,将当前设置的iptables规则保存下来。

优缺点

-优点:无需额外安装第三方工具,直接利用系统自带的iptables即可完成配置,数据传输效率较高,因为没有经过中间代理服务器的额外转发。
-缺点:依赖运营商提供公网IP,然而多数家庭用户和部分企业用户获取的是内网IP,无法使用此方法;同时,直接暴露端口到公网可能存在一定安全风险,容易遭受外部攻击。

使用内网穿透工具

花生壳

花生壳是一款知名的内网穿透和动态域名解析软件,支持Linux系统,操作相对简便,稳定性也较高。
下载与安装
1、打开浏览器,访问花生壳官方网站https://hsk.oray.com/ ,找到Linux版本的下载链接。
2、在Linux终端中,使用wget命令下载安装包。例如:

wget"https://dl.oray.com/hsk/linux/ph<a href='https://hsk.oray.com/' target='_blank'><a href='https://hsk.oray.com/' target='_blank'>ddns</a></a>_5.3.0_amd64.deb"-Ophddns_5.3.0_amd64.deb

若无法使用wget命令,也可在浏览器下载安装包后,通过FTP等方式上传到Linux服务器。
3、下载完成后,使用dpkg命令安装:

dpkg-iphddns_5.3.0_amd64.deb

安装过程中,系统会提示安装进度及相关信息,等待安装完成。
运行与配置
1、安装完毕,在终端运行命令sudophddnsstart启动花生壳服务。
2、可用命令sudophddnsstatus查看花生壳运行状态,确保服务正常。若状态异常,依据提示信息排查解决。
3、打开浏览器,访问花生壳web链接:http://b.oray.com ,使用注册账号登录。登录后,找到“添加映射”选项,填写相关信息。若要映射内网Web服务器,需填内网服务器IP地址、端口号(如80或443),可自定义外网访问域名(若有),也可使用花生壳提供的域名。选择映射类型(如HTTP或HTTPS),保存设置后,花生壳会生成外网访问地址,通过该地址就能访问内网Web服务器。

frp

frp(FastReverseProxy)是一个高性能的反向代理开源工具,采用客户端-服务端架构,支持TCP、UDP、HTTP等多种协议。
下载与安装
1、访问frp官网( https: //gofrp.org/ ),点击“起步”,找到“下载”选项,下载适合Linux系统的frp版本。由于下载链接通常指向github,下载速度可能较慢,有条件的可以使用代理加速下载。
2、下载完成后,解压压缩包。例如,使用命令tar-zxvffrp_0.28.0_linux_amd64.tar.gz解压文件,解压后会得到frp相关的文件和文件夹。
服务端配置
1、新建文件夹:在服务器根目录新建/frps文件夹,并设置权限为777,命令为:

    mkdir/frps&&chmod777/frps

2、配置文件:进入解压后的frp文件夹,找到frps.ini文件,这是服务端的配置文件。编辑该文件,设置相关参数。例如:

服务端连接监听端口(从客户端想连上服务器端,就得连接这个端口)

bind_port=7000
#用于防止任何人都能连接这个服务器,来设置的一层密码(需要客户端也对应,如果没有设置这个其他人可以随意连接)
token=your_token
#面板端口,账号密码(frp的可视化面板)(如果没有就没有可视化面板)
dashboard_port=7500
dashboard_user=admin
dashboard_pwd=admin

3、运行服务端:将frps和frps.ini文件移动到/frps文件夹中,在终端中先使用cd命令进入/frps文件夹,然后执行命令./frps-c./frps.ini启动frp服务端。如果出现相关提示信息,说明服务端已成功启动。
客户端配置
1、新建文件夹:在本地Linux服务器根目录新建/frpc文件夹,并设置权限为777,命令为:

mkdir/frpc&&chmod777/frpc

2、配置文件:编辑frpc.ini文件,设置内网设备的信息和映射端口。例如:

[common]
server_addr=xxx.xxx.xxx.xxx#frp服务器地址
server_port=7000#frp服务器端口
token=your_token#与服务端设置的token一致
[ssh]
type=tcp
local_ip=127.0.0.1
local_port=22
remote_port=6000

3、启动客户端:将frpc和frpc.ini文件移动到/frpc文件夹中,在终端中先使用cd命令进入/frpc文件夹,然后执行命令./frpc-c./frpc.ini启动frp客户端。
设置开机自启(可选)
为了方便管理,可设置frp服务端和客户端开机自启。首先下载systemd,根据不同的Linux发行版,使用相应的命令安装,如:

yuminstallsystemd#CentOS等使用yum的系统
aptinstallsystemd#Ubuntu等使用apt的系统

分别创建frpc.service和frps.service文件,配置相应的启动命令等内容,即可实现开机自启。

ngrok

ngrok是一个基于Go语言开发的反向代理软件,能将内网设备映射到外网实现内网穿透。不过ngrok免费版功能相对有限,且部分地区网络访问可能存在不稳定情况。
下载与安装
在Linux终端中,使用wget命令下载ngrok的Linux版本安装包。例如:

wgethttps://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip

下载完成后,解压压缩包:

unzipngrok-stable-linux-amd64.zip

运行与配置
运行ngrok需要先注册账号并获取一个Authtoken,在ngrok官网完成注册登录后,将获取到的Authtoken配置到ngrok中。例如,若要将本地80端口的Web服务映射到外网,执行命令:

./ngrokauthtokenyour_authtoken
./ngrokhttp80

执行上述命令后,ngrok会生成一个公网地址,通过该地址即可访问内网的Web服务。


拓展阅读

1、NAT(网络地址转换)原理:NAT用于私有与公共网络间的IP地址转换。内网设备借NAT用路由器公网IP访问外网,隐藏内网真实IP。因NAT存在,外网无法直接访问内网设备,内网穿透技术便应运而生,通过特定手段把外网对特定端口的访问请求,转发到内网对应设备端口,实现外网对内网服务的访问。
2、花生壳免费版与付费版区别:花生壳免费版可满足基础内网穿透需求,提供基本映射功能与部分免费域名。不过,其带宽较低,访问速度可能较慢,域名也不够个性化。付费版则具备更多高级功能,如更高带宽提升访问速度与稳定性,更多优质域名后缀可选,支持泛域名解析等个性化设置,还增强了安全防护,能自动为域名签发SSL证书,实现HTTPS加密访问。
3、内网穿透安全注意事项:内网穿透时,安全问题不容小觑。映射端口易被黑客扫描攻击,如通过弱密码爆破获取内网设备权限;未加密传输数据可能被中间人截取导致信息泄露。保障安全,建议选用支持加密传输的穿透工具或方式,如HTTPS协议;在路由器或穿透工具中设置访问白名单;定期更换内网设备密码并设置强密码;选择可信的内网穿透工具,优先用开源工具(如frp)或知名厂商服务(如花生壳)。

上一篇: 在外网怎么访问ftp服务器 下一篇:
新闻资讯
热门专题
最新专题
友情链接