内网穿透是什么
内网穿透是一种网络技术,它允许位于局域网(内网)中的设备通过公网 IP 地址或域名,被外部网络(外网)所访问。
原理
通常,局域网中的设备使用私有 IP 地址,这些地址在局域网内部是唯一的,但在互联网上是不可路由的。内网穿透的原理是通过在公网服务器和内网设备之间建立一个隧道,将外部网络对服务器的访问请求转发到内网设备上,同时将内网设备的响应返回给外部网络,从而实现内外网之间的通信。
通过内网穿透,我们可以在外网直接访问内网服务器。本文主要讲述在ubuntu系统上采用花生壳工具实现内网穿透。
ubuntu系统安装花生壳
访问花生壳官网,可以找到ubuntu系统下的花生壳的下载命令


登录我们的ubuntu服务器后,输入命令进行下载:
bash
wget "https://dl.oray.com/hsk/linux/phddns_5.3.0_amd64.deb" -O phddns_5.3.0_amd64.deb
然后进行安装(这里要注意安装包的名字要对的上):
bash
sudo dpkg -i phddns_5.3.0_amd64.deb
安装成功后,就会给我们SN码和默认密码(用来登录管理端)以及管理端地址。


管理端配置
访问前面得到的管理端地址,用sn码和默认密码登录(这里应该还需要绑定账号)。 然后点击内网穿透,进行配置。
点击添加映射。
这里我们希望配置的是ssh功能,所以选右边这个。名字取一个应用相关的就行。映射协议采用tcp。 外网域名花生壳会分配一个免费的域名给你使用,然后自己指定一个外网端口。内网主机ip以及端口按照你的服务器进行配置就行(这里我用的ssh服务,所以端口配的22)。

外网访问服务器
最后,我们就可以通过该外网ip以及端口号,使用ssh服务去访问我们的主机了。
bash
ssh -p [外网端口号] [用户名]@[外网ip]
然后输入密码即可。
客户端重启
停止花生壳服务
bash
sudo systemctl stop phddns
启动花生壳服务
bash
sudo systemctl start phddns
查看服务状态(可选)
bash
sudo systemctl status phddns
codeType
# 配置花生壳开机自启(需 sudo 权限)
sudo phddns enable
# 验证是否配置成功(可选)
sudo phddns status