无公网IP也能远程控制Windows:Linux rdesktop内网穿透实战

前言

如今远程办公已经从一种选择变成了许多企业和个人的必修课,而如何在Linux系统上高效地访问Windows桌面,成了众多技术宅们的小目标。本文将带你走进一个充满乐趣的技术世界,教你如何使用rdesktop和cpolar内网穿透技术,轻松实现远程办公的自由。通过rdesktop这个神器,Linux用户可以像操作本地系统一样,流畅地在Windows机器上运行各种应用。但问题来了:如果Windows机器躲在了层层防火墙之后怎么办?别担心,cpolar这位大侠正好能帮我们打通任督二脉,建立一条安全稳定的连接通道,让你随时随地都能远程控制Windows桌面。

1. Windows 开启远程桌面

以win 10为例,首先打开windows设置界面,找到远程桌面设置,开启远程桌面开关,开启后再点击高级设置

image-20250108183926733

进入高级设置,取消勾选这个设置,不取消勾选无法进行连接,设置完成后,我们转到Linux

image-20250108184050084

2. Linux安装rdesktop工具

本例以Ubuntu 为例, 执行下面命令安装 rdesktop ,执行后等待安装完成即可,期间没有报错表示安装成功

sudo apt install rdesktop -y

安装后,我们可以直接进行局域网IP测试连接windows 远程桌面,按照下面命令格式进行远程:

sudo rdesktop -u 用户名 -p 密码 IP地址

输入后,直接回车,如果出现提示,直接输入yes即可

image-20250108185036872

可以看到,成功连接上了我们windows桌面,如果出现黑屏,可以关闭重新连接,简单几步,Linux 连接windows 桌面就设置好了,本地局域网IP也测试无误后,下面我们在windows安装cpolar ,实现远程也可以连接.

image-20250108185211168

3. Win安装Cpolar工具

上面我们在局域网本地的方式,成功安装并本地测试连接成功,下面我们转到windwos电脑,在windows 安装Cpolar内网穿透工具,实现远程连接,点击下面地址访问cpolar官网,注册一个账号,然后下载并安装客户端.

Cpolar下载界面:https://www.cpolar.com/download

  • windows系统:在官网下载安装包后,双击安装包一路默认安装即可。

cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录,即可看到Cpolar 管理界面,然后一切设置只需要在管理界面完成即可!

20230130105810

4. 配置远程桌面地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:3389
  • 域名类型:临时随机TCP端口 (首次使用 选择随机地址测试)
  • 地区:选择China vip

点击创建 (注意点击一次即可!)

image-20250108190335804

然后打开左侧在线隧道列表,查看刚刚创建隧道后生成的远程 TCP连接地址,这个地址就是远程连接的地址,在Linux 输入这个地址即可连接,下面进行连接测试

image-20250108190415408

5. 远程桌面连接测试

上面我们在Windows创建好远程桌面地址后,下面转到Linux 通过cpolar的公网地址,使用rdesktop 远程连接到windows ,我们在Linux输入以下rdesktop命令,注意,后面的IP地址是cpolar创建的公网地址,输入完成点击回车

image-20250108191018934

出现提示,我们输入yes

image-20250108191144652

可以看到成功连接上了,远程创建连接测试就成功了,突破地域限制,实现Linux远程windows桌面,如果卡顿,可以在后面加上-g 1024x768 指定低分辨率,或者升级cpolar带宽.到这里就全部设置好了.

image-20250108191248027

小结

为了更好地演示,我们在前述过程中使用了Cpolar生成的隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定TCP域名,原因是我希望将地址发送给同事或客户时,它是一个固定、易记的公网地址,这样更显正式,便于流交协作。

6. 设置固定远程地址

上面步骤在cpolar中使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。,我们接下来为其配置固定的TCP端口地址,该地址不会变化,设置后将无需每天重复修改地址。

登录Cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为远程桌面连接保留一个固定的地址:

  • 地区:选择China vip
  • 描述:即备注,可自定义

点击保留

image-20250108191801050

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

image-20250108191833938

再次打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们上面创建的TCP隧道,点击右侧的编辑

image-20250108191930955

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的TCP地址:填写官网保留成功的地址,

点击更新(只需要点击一次更新即可,不要重复点击)

image-20250108192008551

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新成为了和我们在官网固定的TCP地址和端口一致。这样表示地址已经成功固定了,下面测试固定地址连接

image-20250108192041955

7. 固定地址连接测试

固定好了地址后,转到Linux ,输入rdesktop命令,使用cpolar固定地址连接,输入完成点击回车,出现提示我们输入yes

image-20250108192337186

可以看到连接成功了,这样一个固定不变的远程桌面TCP地址就设置好了,不用担心地址变化.只要本地windows和cpolar服务正常运行,随时随地的可以输入地址进行连接!

image-20250108192541198

希望这篇文章能让你在数字化时代更加得心应手。如果你觉得这波操作6到飞起,或者有任何疑问和建议,欢迎随时留言交流!别忘了关注我,让我们一起探索更多有趣有用的科技小技巧,让生活更精彩!

### 配置FRP进行内网穿透和端口转发 #### 准备工作 为了实现从外网访问位于内网中的资源,需准备一台具有公网IP地址的服务器作为服务端以及至少一台处于私有网络内的计算机作为客户端。这里假设使用的公网服务器操作系统为CentOS 7.6,而内网机器的操作系统可以是任意支持FRP客户端运行的操作系统,在此案例中提到的是Windows 10[^1]。 #### 下载并安装FRP软件包 前往官方站点获取适用于各自平台版本的服务端(`frps`)与客户端(`frpc`)二进制文件,并将其放置于相应位置以便后续操作。对于Linux环境而言,通常会将这些可执行文件存放在`/usr/local/bin/`目录下或是其他PATH路径所指向的位置之一。 #### 编写配置文件 创建两个主要配置文件——一个是用于定义服务端行为的`frps.toml`;另一个则是描述客户端特性的`frpc.ini`。下面给出一个简单的例子来说明如何编写这两个文件: ##### `frps.toml`: Service Side Configuration (Public Server) ```toml [common] bind_port = 7000 # 设定监听来自内部网络发起连接请求时所占用的端口号 token = your_token_here # 设置共享密钥以增强安全性 vhost_http_port = 80 # 如果打算通过HTTP协议代理Web应用,则指定该参数对应的端口 ``` ##### `frpc.ini`: Client Side Configuration (Private Network Machine) ```ini [common] server_addr = x.x.x.x # 输入实际公网上托管FPR服务实例的IPv4地址 server_port = 7000 # 对应上面service side设定好的绑定端口 token = your_token_here # 和server侧一致的安全令牌字符串 [rdesktop] type = tcp # 明确指出此次映射涉及TCP层面上的数据交换 local_ip = 127.0.0.1 # 内部主机上的目标应用程序正在等待入站流量的具体接口 local_port = 3389 # 被保护起来的应用程序对外开放的那个本地端口编号 remote_port = 6000 # 经过NAT转换之后呈现给外界访客看到的新端口号码 ``` 以上示例展示了怎样针对特定场景定制化地调整各项属性值,比如本例旨在让远端用户能够经由互联网抵达被隔离在网络防火墙后的RDP(Remote Desktop Protocol)服务进程所在之处[^3]。 #### 启动FRP组件 当一切准备工作完成后就可以分别启动FRPS和服务端关联的日志记录命令如下所示: ```bash nohup ./frps -c /path/to/frps.toml > /var/log/frp/frp.log 2>&1 & ``` 这行指令的作用是在后台持续不断地运行FRPS守护线程的同时把标准输出重定向至日志文档里保存下来方便日后排查问题之用[^4]。 接着按照相同的方式激活FRPC客户机部分: ```bash ./frpc -c /etc/frp/frpc.ini ``` 注意这里的路径应当替换成为之前编辑过的那个`.ini`格式文本的确切存放地点[^2]。 一旦上述两步都顺利完成就意味着已经成功搭建起一条贯穿内外两侧的信息传输管道了!
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学编程的小程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值