【内网穿透】如何在公网访问学校的服务器以及共享文件

【提示:使用该方法穿透内网会有一定的安全风险,谨慎使用!!!】

由于疫情影响迟迟不开学,远程学习成为常态。像博主这样的调参侠需要远程连接实验室服务器,使用MobaXterm这样的工具虽然可以SSH服务器,但共享文件相对麻烦,每次本地写完代码都要上传一下,效率低不说,关键是不爽啊。如果能将服务器的文件共享到本地形成虚拟盘符那就省事多了,但是永恒之蓝病毒出来之后各大运营商关掉了445端口,通过samba服务是不能将文件共享到公网的,这篇文章介绍一种方法解决这个问题。

方法很简单,就是将家里的电脑与学校的服务器组成一个虚拟局域网,这样就能通过samba服务与服务器共享文件了。
这里介绍如何使用ZeroTier搭建属于自己的虚拟局域网(VLAN),并实现文件共享。

一、安装ZeroTier

组网的机器上都需要安装ZeroTier工具

0、到ZeroTier官网注册账号并登录

传送门(有谷歌账号的话直接用谷歌账号登陆就行)
登录后,点击右上角的Networks
在这里插入图片描述
然后点Create a Network创建一个网络
在这里插入图片描述
点击创建网络后会在右侧列表生成一个新的网络, 点击进入配置详情页进行相关的配置:
在这里插入图片描述
在这里插入图片描述
其他的高级的配置对于我们来说是不必要可, 可以根据自己的需求自行了解配置

1、家里的win10电脑安装ZeroTier并加入组网

下载ZeroTier win版本,传送门
在这里插入图片描述
点击上图红圈连接下载,得到ZeroTier One.msi文件,双击运行,安装较简单。安装后运行,在桌面右下角可以看到ZeroTier的图标,右键然后选择Join Network…
在这里插入图片描述
出现如下对话框,将你的ZeroTier的Network ID复制过来,将所有选项勾选住,然后点Join即可
在这里插入图片描述

2、学校服务器安装ZeroTier并加入组网

我的服务器是ubantu发行版的,到ZeroTier官网下载界面选择Linux版本的安装连接
在这里插入图片描述
在SSH终端输入如下命令即可一键安装

curl -s https://install.zerotier.com | sudo bash

过程比较久请耐心等待(大概半个小时)
安装完成后的日志
在这里插入图片描述
然后使用如下命令加入ZeroTier组网,xxx表示你的ZeroTier Network ID

sudo zerotier-cli join xxx

在这里插入图片描述

3、在ZeroTier页面勾选组网的设备

回到刚打开的ZeroTier组网的网页界面,刷新一下,网下拉到Members这一栏,发现新加入了两个节点,将左边的框框打上勾,如下
在这里插入图片描述
至此,家里的win电脑和学校的服务器已经完成虚拟局域网组网。接下来就可以愉快的使用samba服务共享文件了

4、将服务器文件映射到本地形成虚拟磁盘

这一步需要服务器已经开通samba服务。
在家里的win电脑上,双击此电脑,在左侧栏右键此电脑,选中 映射网络驱动器(N)…
在这里插入图片描述
在弹出的界面填上要共享的文件的地址
在这里插入图片描述
点击完成后,输入认证信息,即可实现文件共享。在网络位置下会出现共享文件的虚拟盘符
在这里插入图片描述
这样就能像操作本地文件那样操作服务器的文件了,能愉快的调参了。

参考:https://zhuanlan.zhihu.com/p/83849371

### 内网穿透技术与文件共享的实现方法 内网穿透技术是一种通过特定方式将内网和外网连接起来的技术,使得位于内网中的设备可以被外网访问。这种技术在文件共享场景中非常有用,尤其是在需要从外部网络访问家庭或办公室内的文件时[^2]。 #### 内网穿透的基本原理 内网穿透的核心思想是通过一个公网服务器作为中转站,建立内网设备与外网设备之间的通信通道。例如,家庭主机处于路由器后方且没有公网IP的情况下,可以通过内网穿透工具将该主机暴露到互联网上,从而实现远程访问[^3]。 #### 文件共享的具体实现 文件共享可以通过多种方式结合内网穿透技术来实现。以下是几种常见的方法和工具: 1. **使用FRP(Fast Reverse Proxy)** FRP 是一种功能强大的内网穿透工具,支持多种协议(如 HTTP、HTTPS、TCP 等)。通过配置 `frpc.ini` 文件,可以轻松实现文件共享服务的外网访问。例如,如果本地运行了一个文件共享服务(如 Web 服务器或 SFTP 服务),可以通过以下配置将其暴露到外网: ```ini [file_share] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 use_encryption = true use_compression = true ``` 上述配置示例中,`local_port` 指定了本地 SFTP 服务的端口,`remote_port` 则是外网访问时使用的端口[^4]。 2. **使用Cpolar** Cpolar 是另一款简单易用的内网穿透工具,特别适合初学者。它可以快速建立一条稳定的 TCP 数据隧道,用于文件共享。例如,通过 Cpolar 配置一条长期稳定的 TCP 数据隧道,可以让不同设备间的文件共享更加便捷[^5]。 3. **基于SFTP的文件共享** 如果需要更安全的文件共享方式,可以结合 SFTP(SSH File Transfer Protocol)与内网穿透工具。SFTP 提供了加密的数据传输,确保文件在传输过程中的安全性。通过配置内网穿透工具(如 FRP 或 Cpolar),可以将本地 SFTP 服务暴露到外网,从而实现远程文件访问[^5]。 #### 安全性考虑 在使用内网穿透技术实现文件共享时,安全性是一个重要的考量因素。以下是一些推荐的安全措施: - 启用加密传输:通过设置 `use_encryption=true` 或启用 TLS 加密,可以防止数据在传输过程中被窃取或篡改[^4]。 - 设置带宽限制:为了避免单个连接占用过多带宽,可以在配置中添加代理级别的限速设置[^4]。 - 使用强密码:确保文件共享服务的登录凭证足够复杂,以防止未经授权的访问。 ```python # 示例代码:通过 SSH 实现文件上传 import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('your_public_domain_or_ip', port=6000, username='user', password='password') sftp = ssh.open_sftp() sftp.put('local_file_path', 'remote_file_path') sftp.close() ssh.close() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值