马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
📢博客主页:
📢博客堆栈:https://gitee.com/JohnKingW/linux_test/tree/master/lesson
📢接待点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📢本文由 JohnKi 原创,首发于 CSDN🙉
📢未来很长,值得我们尽力奔赴更精致的生存✨
📢媒介
内网穿透(NAT Traversal 或 Port Forwarding)是一种技能本领,用于让外部网络(如互联网)的装备访问位于内网(如家庭或企业局域网)中的服务或装备。它的焦点目的是绕过内网情况中的网络限定(如路由器NAT、防火墙等),实现表里网络的互联互通。
这里笔者将通过 腾讯云LInux-Ubuntu 与 XMware假造机-Ubuntu 以及 本地window 模仿一下内网穿透。
🏳️🌈一、获取内网穿透的源码
frp下载: https://github.com/fatedier/frp/releases/tag/v0.58.1
下载好后是如许的一个压缩包,我们先放到win桌面上,然后直接拖到腾讯云中
然后解压
🏳️🌈二、验证win与假造机之间的接洽
利用假造机的下令行窗口
输入 ifconfig 来获取ipv4地点,192.168.245.128
如果没法利用 ifconfig,可以利用sudo apt update && sudo apt install net-tools来安装一下ifconfig下令
由于等等要利用scp下令将frp压缩包传到假造机上,须要用到ssh下令,以是我们须要先安装干系下令,然后再启动
- sudo apt install openssh-server # 安装 SSH 服务
- sudo systemctl start ssh # 启动 SSH 服务(Ubuntu 使用服务名 `ssh`,不是 `sshd`)
- sudo systemctl enable ssh # 设置开机自启
- sudo systemctl status ssh # 检查服务是否运行
复制代码 出现 active(running)就代表可以利用了
如果体系启用了防火墙(如 ufw),放行 22 端口:
- sudo ufw allow 22 # 允许 SSH 端口
- sudo ufw reload # 重载防火墙规则
复制代码 紧接着我们利用win的下令行窗口利用ping下令验证一下两者之间的接洽
进入下载的安装包地点的文件夹中,远程拷贝这个frp安装包到假造机中
传输乐成
解压出来
🏳️🌈三、运行腾讯云服务器服务端
这里做一个简单的测试,我们将frps.toml里的端标语从7000改成8888,再运行一下frps文件,会发现照旧利用的是7000端标语
- wzy@VM-20-5-ubuntu:~/lesson/lesson90/frp/frp_0.58.1_linux_amd64$ ./frps
- 2025-03-18 10:55:48.590 [I] [frps/root.go:107] frps uses command line arguments for config
- 2025-03-18 10:55:48.790 [I] [server/service.go:237] frps tcp listen on 0.0.0.0:7000
- 2025-03-18 10:55:48.790 [I] [frps/root.go:114] frps started successfully
复制代码 以是这里保举各人利用 -c 利用指定设置文件启动服务
- wzy@VM-20-5-ubuntu:~/lesson/lesson90/frp/frp_0.58.1_linux_amd64$ ./frps -c ./frps.toml
- 2025-03-18 10:57:18.446 [I] [frps/root.go:105] frps uses config file: ./frps.toml
- 2025-03-18 10:57:18.549 [I] [server/service.go:237] frps tcp listen on 0.0.0.0:8888
- 2025-03-18 10:57:18.549 [I] [frps/root.go:114] frps started successfully
复制代码 此时我们利用 netstat -nltp 可以大概看到端标语为8888的服务已经启动了
- wzy@VM-20-5-ubuntu:~$ netstat -nltp
- (Not all processes could be identified, non-owned process info
- will not be shown, you would have to be root to see it all.)
- Active Internet connections (only servers)
- Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
- tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN -
- tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
- tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN -
- tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN -
- tcp6 0 0 :::8888 :::* LISTEN 509917/./frps
- tcp6 0 0 ::1:6010 :::* LISTEN -
- tcp6 0 0 ::1:6011 :::* LISTEN -
- tcp6 0 0 :::22 :::* LISTEN -
复制代码 🏳️🌈四、运行假造机客户端
起首我们须要设置一下假造机客户端的设置信息,也就是frpc.toml
内里的服务端地点和端标语如今都不匹配,以是更改一下
详细服务端地点就是腾讯云服务器的ip地点
端标语就是刚刚更改的8888
至于下面的
- localPort = 22
- remotePort = 6000
复制代码 我们可以按上图明确,也就是服务端可以通过6000端口来访问客户端的22号端口(sshd),也就能创建好链接
- wzy@wzy-virtual-machine:~/frp/frp_0.58.1_linux_amd64$ sudo netstat -nltp
- Active Internet connections (only servers)
- Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
- tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 661/systemd-resolve
- tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1020/sshd: /usr/sbi
- tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 989/cupsd
- tcp6 0 0 :::22 :::* LISTEN 1020/sshd: /usr/sbi
- tcp6 0 0 ::1:631 :::* LISTEN 989/cupsd
复制代码 🏳️🌈五、创建毗连
腾讯云服务器端运行服务端步伐,指定设置文件
假造机运行客户端步伐,指定设置文件
两者都运行后就能毗连好了
然后须要重新创建一个毗连上假造机的会话
双击运行后,输入已存在的用户名和暗码就登岸上了假造机了
🏳️🌈六、测试ssh工具
然后我们就可以发现我们的服务端已经可以运程访问到假造机的信息,我们再在桌面上创建一个txt文件试试看,创建乐成了!
🏳️🌈七、测试网络
然后我们须要验证一下frp可否使得开远程访问假造机网络
这是一样平常条件下假造机的网页
我们额外在frpc.toml中添加一个http的映射(frp允很多个映射关系)
然后重启服务端、客户端,并利用netstat -nltp重新看一下端口利用情况
然后在网页中输入 服务器ip:8082 就可以大概远程毗连到假造机的网页中
我们实在这里访问的就是 nginx 的默认页面,我们可以更改一下内里的内容
提示:没有写入权限的话用sudo
重新启动客户端,再革新一下欣赏器
表明一下,为什么这里能在win上面获取到假造机的网页
由于我们的linux服务器是起到中转站的作用,他先获取到了假造机上的内容,然后我们在win网页上通过ip地点获取到服务器上的内容,然后借用8082端口映射到假造机上80号端口就得到了假造机上网页的内容
👥总结
本篇博文对 手动摆设并测试内网穿透 做了一个较为详细的先容,不知道对你有没有资助呢
以为博主写得还不错的三连支持下吧!会继承积极的~
|