【Linux】网络编程 —— 手动部署 & 测试内网穿透

🌈欢迎来到Linux专栏 ~~ 网络编程

网络编程

🌍准备工作

frp下载:传送门

👻虚拟机准备工作

首先是虚拟机进行联网

接着我们要尝试把LinuxWindows之间要互相ping通

cpp 复制代码
ifconfig

得知了虚拟机的ip地址后

在windows的终端上进行ping链接,发现是可以链接成功的!

cpp 复制代码
无线局域网适配器 WLAN:

   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Realtek 8852CE WiFi 6E PCI-E NIC
   物理地址. . . . . . . . . . . . . : F8-3D-C6-C3-19-26
   DHCP 已启用 . . . . . . . . . . . : 是
   自动配置已启用. . . . . . . . . . : 是
   IPv4 地址 . . . . . . . . . . . . : 192.168.0.104(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   获得租约的时间  . . . . . . . . . : 2026年8月27日 23:01:11
   租约过期的时间  . . . . . . . . . : 2026年8月28日 16:48:25
   默认网关. . . . . . . . . . . . . : 192.168.0.1
   DHCP 服务器 . . . . . . . . . . . : 192.168.0.1
   DNS 服务器  . . . . . . . . . . . : 114.114.114.114
                                       8.8.8.8
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用

查到windows的IP地址为:192.168.0.104,接着在虚拟机上也ping一下看看

测试完毕,双方可以ping通!

接着把下载好的frp文件发送给虚拟机

cpp 复制代码
scp frp_0.58.1_linux_amd64.tar.gz lbw@192.168.133.128:/home/lbw/frp

虚拟机中解压成功后:

紧接着在云服务器上修改配置文件frps.toml:(下图不匹配)

如果我们要使用修改后的8888端口的话,则需要指定配置文件来进行

cpp 复制代码
./frps -c ./frps.toml
cpp 复制代码
2026-08-28 15:35:51.495 [I] [frps/root.go:105] frps uses config file: frps.toml
2026-08-28 15:35:51.559 [I] [server/service.go:237] frps tcp listen on 0.0.0.0:8888
2026-08-28 15:35:51.559 [I] [frps/root.go:114] frps started successfully

说明该服务端已启动,监视的窗口在8888端口!

接着来看看客户端怎么修改frpc.toml

cpp 复制代码
serverAddr = "193.112.168.183"
serverPort = 8888

[[proxies]]
name = "SSH- TEST"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 8001

serverAddrserverPort 是云服务器的IP端口号,对着自己的进行修改即可,端口是则是刚刚的8888

其中下面的代码是本地的一个服务! frpc收到请求之后再进行一步转发的,转发到? SSH

cpp 复制代码
[[proxies]]
name = "LBW - TEST"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 8001

remotePort端口是云服务器上的端口,与22号端口映射;也就说22端口会被映射到云服务器上的8081号端口!

  • 后续如果有人访问云服务器上的8001端口,就自然转发到客户端的22号端口了

那么会有人问了,刚刚我们不是设置了一个8888的端口了吗?为什么还需要一个8001呢?

  • 8888端口是让客户端frpc与云服务器建立链接使用的! 一旦建立好链接之后,就会把remotePort 推送给服务器端,云服务器会重新给我们启动一个服务,并重新绑定8001端口
  • 未来我们只要访问8001 就可以访问到 22 的端口号了

✋️动手测试

我们做两个测试

  • 1️⃣ssh远程登录
  • 2️⃣nginx远程访问

首先是ssh远程登录 ,我们在xshell上新起一个:主机号填云服务器地址,端口填刚刚frpc的8001,看看能不能连接上虚拟机

我们发现是可以穿透到虚拟机里了

接下来在虚拟机上部署nginx进行远程访问

  • 现在我们想再起一个服务来让外部主机通过云服务器来访问虚拟机上的 nginx

那我我们怎么样让外网主机能访问到虚拟机的nginx呢?------ 配置文件加代理!

cpp 复制代码
[[proxies]]
name = "HTTP - TEST"
type = "tcp"
localIP = "127.0.0.1"
localPort = 80
remotePort = 8002   //云服务器上向外展示的端口

在我们主机上进行访问结果就能访问虚拟机上部署的nginx

最后一步,我们的服务总不能这样去跑吧!变成后台进程 或 守护进程

cpp 复制代码
nohup ./frpc -c ./frpc.toml &> /dev/null &
nohup ./frps -c ./frps.toml &> /dev/null &

最后的 & 是表示在后台运行

tips:注意要在云服务器上打开对应的端口!

📢写在最后

接下来登场的是 ?

相关推荐
有续技术20 分钟前
工业网关接入 PLC,为什么要先整理点表?
运维·网络·数据库
深念Y20 分钟前
ZTE B860AV1.1-T2 机顶盒改造记录:从 Android 到 Linux 服务器
android·linux·运维·服务器·boot·cma·机顶盒
祖力5523 分钟前
进程相关的函数与exec函数簇
linux·运维·服务器·进程·exec函数簇·进程相关的函数
Discipline~Hai25 分钟前
Linux应用软件编程04-线程
linux·服务器·c语言·开发语言·linux应用软件编程
charlie11451419130 分钟前
Cinux · musl 静态移植:对齐 Linux ABI、铺初始栈,以及一个被 SMAP 拦下的潜伏 bug
linux·开发语言·c++·操作系统·开源项目
上海广测检测科技有限公司35 分钟前
路由器CRA认证详解:欧盟网络弹性法案对联网设备的安全合规要求
网络·经验分享·安全·智能路由器
戴西软件44 分钟前
远程协同仿真是什么体验?
运维·jvm·人工智能·自动化·rpa
淡淡的香烟1 小时前
Android中tcp的通信
android·物联网·tcp/ip
Loongproxy2 小时前
抖音企业号更换公司主体怎么操作?矩阵账号配静态长效IP的稳定方案
服务器·网络·网络协议·tcp/ip