使用easytier远程内网电脑

前情提要

最近换了个工作地,需要用自己的笔记本去远程另一台内网主机,因为我的笔记本和要远程的主机在不同的局域网内,无法直连,所以前一段时间一直用的向日葵远程桌面进行远程。用了一段时间实在受不了了,要强制登录,还到处弹广告,右下角浮窗也关不掉,加上最近连接也不是很稳定,加上工作的问题,搞得心情实在是很糟糕,一怒之下我决定自己搭建一个vpn连接,用Windows原生的远程桌面。顺便一提,之前写的这篇博客说的就是向*葵。使用Windows的远程桌面还有一个好处是它同时只允许一个账号使用,当我远程的时候,远程主机是锁屏界面,防止别人“监视”我工作。

搭建VPN需要一台公网电脑做为跳板,我没有可以公网访问的电脑。于是我找到了 easytier,它是用NAT打洞,通过P2P连接组网的,网络联通后,就不需要公网电脑了。而且官方提供了NAT打洞时的公网地址,所以我只需要在两个电脑上都装上 easytier 就可以了。

安装

easytier 官方下载页面如下:

也可以去 GitHub release 页面下载:

我是Windows电脑,所以下载的是 easytier-windows-x86_64-v2.2.2.zip。easytier 本身是一个命令行工具,但是官方也提供了 GUI 工具和 web 管理页面,我觉得挺麻烦,还不如直接用命令行工具来的方便快速。

解压上面下载的压缩包,会得到 3 个可执行程序和 2 个 dll。
在这里插入图片描述
我们主要用到的是 easytier-cli.exeeasytier-core.exe。两台电脑都要下载这个软件。

连接

接下来我要在我的笔记本和远程主机上组网。首先在远程主机上以管理员身份运行命令行,执行以下命令:

easytier-core -i 10.144.144.1 --network-name my-test --network-secret my-secret -p tcp://public.easytier.cn:11010

这个命令一定要用管理员身份运行,否则会因为权限问题报错,因为会创建一个虚拟IP出来。参数中:

  • -i 10.144.144.1 :指定用来组网的虚拟网IP地址。
  • --network-name my-test--network-secret my-secret :指定网络名称和网络密钥,替换成你自己的,最好复杂一点,安全性更高。
  • -p tcp://public.easytier.cn:11010 :用来辅助组网的共享节点,组网成功之前数据由它们转发,这里用的是 easytier 官方提供的免费共享节点。

除了官方的共享节点,easytier 社区也提供了许多免费共享节点,并且可以查看节点的网络状态:

执行完以后在另一个命令行运行 ipconfig 可以看到新创建的虚拟IP地址。
在这里插入图片描述
第二步是在我的笔记本上,用管理员身份运行下面的命令:

easytier-core -i 10.144.144.2 --network-name my-test --network-secret my-secret -p tcp://public.easytier.cn:11010

同样在另一个命令行运行下 ipconfig,能看到新创建的虚拟IP:
在这里插入图片描述
然后运行一下 easytier-cli peer 查看一下连接状态:
在这里插入图片描述
可以看到我的两台电脑已经组网成功了,现在我可以在我的笔记本上面 ping 一下远程主机了。
在这里插入图片描述
如果无法 ping 通,可以去检查下防火墙的规则。现在我就可以通过 windows 的远程桌面用 10.144.144.1 这个IP地址来远程我的主机了。

访问内网

虽然现在我能远程到我的远程主机了,但是还是无法访问它所在的内网,一个很简单的例子,我只能通过 10.144.144.1 来远程,不能通过 192.168.2.100 来远程,因为它是内网地址。要解决这个问题,我们需要修改一下在远程主机上执行的命令:

easytier-core -i 10.144.144.1 -n 192.168.2.0/24 --network-name my-test --network-secret my-secret -p tcp://public.easytier.cn:11010

我们添加了 -n 192.168.2.0/24 这个参数,这样就可以通过远程主机将内网共享出来了。现在我可以 ping 通 192.168.2.100 了,并且可以直接用这个IP来远程我的主机。
在这里插入图片描述

自启动

前面我们都是通过在命令行手动执行命令来完成组网,但是我希望远程主机上的程序能自启动运行,这样即使重启电脑也不怕了。

接下来我们将远程主机上的程序做成 Windows 服务,不需要其他工具,用 Windows 的 sc 命令就可以了。

首先我们编写一个 bat 脚本来启动 easytier 命令,相比于直接在 sc 命令里写 easytier 的参数要灵活一些,如果我们要调整 easytier 的参数,只需要修改脚本然后重启服务就可以了,而不需要去修改Windows服务。脚本内容如下:

@echo off

set install_path=D:\program\easytier-windows-x86_64\

%install_path%easytier-core ^
    -i 10.144.144.1 ^
    -n 192.168.2.0/24 ^
    --network-name zxkj-bj-test ^
    --network-secret easy#12345 ^
    -p tcp://public.easytier.cn:11010

将它保存为 easytier.bat,然后以管理员身份打开命令行运行下面的命令:

sc create Easytier binPath="D:\program\bin\easytier.bat" DisplayName="Easytier" start=auto

create 后面紧跟的是服务名,用来唯一标识一个服务,sc 的许多命令都需要服务名做为参数。binPath 指定了程序路径,DisplayName 是显示用的名称,start 表示启动类型,这里选 auto 自启动。

我们还可以通过 sc 命令做更多事情:

  • 设置服务描述
    • sc description Easytier "P2P组网" 或者 sc config Easytier description="P2P组网"
  • 查询服务状态
    • sc query Easytier 或者 sc queryex Easytier,后者返回的信息更多。
  • 启动服务
    • sc start Easytier
  • 停止服务
    • sc stop Easytier
  • 暂停服务
    • sc pause Easytier
  • 继续运行服务
    • sc continue Easytier
  • 删除服务
    • sc delete Easytier


也可以直接在命令行输入 sc 来查看帮助文档。

当然我们可能更习惯通过 services.msc 来查看服务,按 Win+R 输入 services.msc 回车,打开 Windows 服务管理器。当然在这里基本只能查看服务状态,启停服务,能修改的地方非常有限。我们创建 Easytier 服务之后,它是没有运行的,需要手动启动一下。
在这里插入图片描述
这样远程主机上的自启动就做好了。而对于我的笔记本,我更倾向于能手动控制它,所以只是写了一个脚本方便启动 easytier 和查看状态,并没有做成服务。

@echo off

set install_path=D:\program\easytier-windows-x86_64\

if "%1" == "" goto start
if "%1" == "peer" goto peer
if "%1" == "route" goto route
if "%1" == "node" goto node

:start
%install_path%easytier-core ^
    -i 10.144.144.2 ^
    --network-name zxkj-bj-test ^
    --network-secret easy#12345 ^
    -p tcp://public.easytier.cn:11010
goto end

:peer
%install_path%easytier-cli peer
goto end

:route
%install_path%easytier-cli route
goto end

:node
%install_path%easytier-cli node
goto end

:end

文件共享

用 Windows 的远程桌面连接也能实现文件共享,就像使用本地磁盘一样,是非常方便的。它实际上是把本地磁盘做为网络磁盘共享给了远程主机,这样就能实现两边的双向文件共享互通了。

打开远程桌面连接,点击”显示选项“。
在这里插入图片描述
然后选择”本地资源“选项卡,点击“详细信息”按钮。
在这里插入图片描述
勾选要共享的磁盘,点击确定即可。
在这里插入图片描述
点击连接,在远程主机的文件管理器中就能看到共享的磁盘了。
在这里插入图片描述


下一步,卸载向*葵。

<think>好的,我现在需要解决用户提到的easytier报错10013的问题。首先,我得弄清楚错误代码10013通常代表什么。根据常见的网络工具错误,10013可能涉及权限问题或端口冲突。比如,应用程序可能需要管理员权限才能运行,或者所需的端口被其他程序占用了。 接下来,我应该考虑用户的操作系统环境。如果是Windows系统,可能需要检查以管理员身份运行程序,或者查看防火墙设置是否阻止了easytier。对于Linux用户,可能需要使用sudo命令,或者检查相关的服务状态。 另外,端口冲突也是一个常见原因。easytier可能使用特定的端口进行通信,如果这些端口被其他应用程序(如Skype、IIS等)占用,就会导致错误。用户可以通过netstat命令来查看端口使用情况,并终止冲突的进程。 还有,服务或驱动问题也可能引发此错误。比如,easytier依赖的虚拟网卡驱动是否正常安装,相关服务是否启动。用户可以在设备管理器中检查是否有感叹号或问号的设备,尝试重新安装驱动。 最后,软件冲突的可能性也不能忽视。安全软件或防火墙有时会错误地拦截合法程序,导致连接问题。建议用户暂时禁用这些软件,测试easytier是否能正常运行。 如果以上步骤都尝试过但问题依旧,可能需要更深入的日志分析或联系技术支持。用户应该提供详细的错误日志和系统环境信息,以便进一步诊断。</think>关于easytier报错10013的解决方案,请按以下步骤排查: ### 一、权限问题排查 1. **Windows系统**: - 右键点击easytier选择"以管理员身份运行"[^2] - 在控制面板关闭用户账户控制(UAC): ```batch UserAccountControlSettings.exe ``` 2. **Linux系统**: ```bash sudo systemctl status easytier sudo journalctl -u easytier -n 50 ``` ### 二、端口冲突检测 使用命令查看端口占用情况: ```powershell netstat -ano | findstr ":<easytier端口号>" ``` 常见冲突程序:Skype、IIS、VMware Workstation[^3] ### 三、驱动/服务状态检查 1. 在设备管理器检查虚拟网卡状态(显示为"TAP-Windows Adapter V9") 2. 服务列表中确认"EasyTier Service"处于运行状态 ### 四、防火墙设置 临时禁用防火墙测试: ```cmd netsh advfirewall set allprofiles state off ``` 测试后恢复: ```cmd netsh advfirewall set allprofiles state on ``` ### 五、软件冲突测试 暂时关闭安全软件(如360、火绒、卡巴斯基等),部分安全软件会拦截虚拟网络驱动加载[^4] ### 六、日志分析 查看日志文件定位具体错误: - Windows:`%ProgramData%\EasyTier\logs\` - Linux:`/var/log/easytier/`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值