【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:注意要在云服务器上打开对应的端口!

📢写在最后

接下来登场的是 ?

相关推荐
智能运维指南16 小时前
代码管理软件如何融入 DevOps 工具链?全链路联通的 5 个关键点
运维·devops·信创适配·嘉为蓝鲸
充电zcx17 小时前
Linux:4:开发工具详解
linux·运维·服务器
筼筜17 小时前
【系统架构设计师】通信系统架构设计理论与实践
网络
小程序设计17 小时前
基于IPv6的校园网设计与过渡技术仿真
网络·安全
Lynne30919 小时前
工业网络,到底该集中还是自治?
网络·架构·数据
gongfeng300020 小时前
福州企业级AI自动化获客解决方案品牌梳理与适用场景分析
运维·人工智能·自动化·g-claw ai员工
码农客栈21 小时前
linux 交叉编译tslib
linux
鱼月半21 小时前
两台电脑直连网络不通怎么办?
linux·网络协议
光电笑映1 天前
网络通信基础:从协议分层到 Socket 编程预备
linux·运维·服务器·网络
酸菜。1 天前
dw_apb_gpio总结
linux