使用wireguard+frp实现内网穿透远程桌面

这篇具有很好参考价值的文章主要介绍了使用wireguard+frp实现内网穿透远程桌面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

版本更新:不再需要frp即可客户端之间相互访问

注意:阿里云服务器如果不部署frp发现无法联通,重启下服务器就好了,我也不知道为啥

服务器要求:服务器版本:centos7,内核5.6+最好,有外网ip

总览

1. wireguard服务端部署

2. wireguard客户端配置

3. frps部署

4. frpc配置

wireguard简介


WireGuard® is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN. WireGuard is designed as a general purpose VPN for running on embedded interfaces and super computers alike, fit for many different circumstances. Initially released for the Linux kernel, it is now cross-platform (Windows, macOS, BSD, iOS, Android) and widely deployable. It is currently under heavy development, but already it might be regarded as the most secure, easiest to use, and simplest VPN solution in the industry.

wireguard优点

● 配置精简,可直接使用默认值

● 只需最少的密钥管理工作,每个主机只需要 1 个公钥和 1 个私钥。

● 就像普通的以太网接口一样,以 Linux 内核模块的形式运行,资源占用小。

● 能够将部分流量或所有流量通过 VPN 传送到局域网内的任意主机。

frp简介


frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

部署架构

使用wireguard+frp实现内网穿透远程桌面,服务器,linux,运维

如图所示,客户端和rdp服务器不直接联通,通过wireguard打通和阿里云server的连接,然后通过frp做对应端口转发到对应机器的对应端口

总的来说,wireguard用来组建内网环境:

● 阿里云server:10.0.0.1

● RDP_PC:10.0.0.2

● 其他客户端:10.0.0.3

frp用来做端口转发:将10.0.0.1:3389 -> 10.0.0.2:3389,然后其他客户端访问10.0.0.1:3389即访问到了远程桌面机器上

版本更新:直接访问10.0.0.2即可远程桌面

wireguard服务端部署

内核升级

注意:内核升级有风险,升级失败概不负责,重要数据自行备份!

目前 WireGuard 已经被合并到 Linux 5.6 内核中了,如果你的内核版本 >= 5.6,就可以用上原生的 WireGuard 了,只需要安装 wireguard-tools 即可,内核版本<5.6,可能需要首先更新内核,否则可能会报错:Unable to access interface: Protocol not supported

离线安装脚本:

链接: 百度网盘 请输入提取码 提取码: p3pp

到服务器上解压,加权后sudo sh install.sh,安装完成后reboot重启服务器即可。

也可以自己找网上的例子升级内核;

接下来参考https://www.wireguard.com/ 官网安装教程安装

wireguard安装


sudo yum install -y epel-release elrepo-releasesudo 
yum install -y yum-plugin-elreposudo 
yum install -y kmod-wireguard wireguard-tools

wireguard配置

开启内核转发

命令行配置

1. 秘钥生成:

# 服务端私钥
wg genkey > server_privatekey
# 服务端公钥
wg pubkey < server_privatekey > server_publickey
# 远程桌面服务器私钥
wg genkey > rdp_pc_privatekey
wg pubkey < rdp_pc_privatekey > rdp_pc_publickey
# 其他客户端私钥
wg genkey > client_privatekey
wg pubkey < client_privatekey > client_publickey
ls -l

可以看到6个文件,对应三个节点。

创建虚拟网卡配置wireguard

ip link add wg0 type wireguard
ip addr add 10.0.0.1/32 dev wg0
wg set wg0 private-key ./server_privatekey
ip link set wg0 up
# 查看当前wireguard监听端口
wg
# 假设监听端口为30843
# 配置客户端ip
wg set wg0 peer $(cat './rdp_pc_publickey') allowed-ips 10.0.0.2/32 endpoint 118.36.79.121:30843
wg set wg0 peer $(cat './client_publickey') allowed-ips 10.0.0.3/32 endpoint 118.36.79.121:30843

使用wg命令查看当前节点情况:

使用wireguard+frp实现内网穿透远程桌面,服务器,linux,运维

阿里云防火墙拦截策略放开39184端口

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

使用wireguard+frp实现内网穿透远程桌面,服务器,linux,运维

使用wireguard+frp实现内网穿透远程桌面,服务器,linux,运维

wireguard客户端配置

windows客户端配置

将服务端生成的server_publickey和rdp_pc_privatekey 拷贝到本地

客户端在https://www.wireguard.com/install/下载安装

编辑配置文件:


[Interface]
PrivateKey = (填rdp_pc_privatekey)
Address = 10.0.0.2/32

[Peer]
PublicKey = (填server_publickey)
AllowedIPs = 10.0.0.1/32
Endpoint = 118.36.79.121:30843
PersistentKeepalive = 25

这里AllowedIPs填10.0.0.0/24即可,不再需要frp转发就能访问对面客户端了

mac客户端

将服务端生成的server_publickey和client_privatekey 拷贝到本地

安装


brew install wireguard-tools

配置 WireGurad 客户端

sudo mkdir /usr/local/etc/wireguard
sudo touch /usr/local/etc/wireguard/wg0.conf

wg0.conf 文件如下:


[Interface]
Address = 10.0.0.3/32
PrivateKey = (填client_privatekey)

[Peer]
PublicKey = (填server_publickey)
Endpoint = 118.36.79.121:30843
AllowedIPs = 10.0.0.1/32
PersistentKeepalive = 25

这里AllowedIPs填10.0.0.0/24即可,不再需要frp转发就能访问对面客户端了

启动 WireGuard

sudo wg-quick up wg0  # 启动Wireguard
sudo wg-quick down wg0 #关闭WIreguard
sudo wg # 查看Wireguard状态

wireguard效果验证

可以在本地ssh root@10.0.0.1查看是否连通;可以在三台机器上各起一个http服务器,然后分别在rdp-pc机器/client机器上 curl 10.0.0.1:port;验证client -> server的连通性;

在server上curl 10.0.0.2:port;curl 10.0.0.3:port 验证 server -> peer1 / server -> peer2的连通性

如此一来,从10.0.0.2和10.0.0.3上就能访问10.0.0.1上的所有资源了,从10.0.0.1上也可以直接访问10.0.0.2,10.0.0.3上的资源。不过10.0.0.2和10.0.0.3不能直接连通,这时候就需要通过frp来做内网穿透了。

上面的AllowedIPs填10.0.0.0/24即可,不再需要frp转发客户端之间就能互通了

frps部署

官方下载Releases · fatedier/frp · GitHub

wget https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_amd64.tar.gz
tar -xvf frp_0.47.0_linux_amd64.tar.gz
mv -f frp_0.47.0_linux_amd64 /usr/local/frp
chmod +x /usr/local/frp/frpc
chmod +x /usr/local/frp/frps

frps启动

# 默认监听端口为7000,可以在frps.ini中修改
nohup /usr/local/frp/frps -c /usr/local/frp/frps.ini > /usr/local/frp/frps.log 2 > &1 &

frpc配置启动

frp配置文件修改

vim /usr/local/frp/frpc.ini


[common]
server_addr = 127.0.0.1
server_port = 7000

[rdp]
type = tcp
local_ip = 10.0.0.2
local_port = 3389
remote_port = 3389

frpc启动

nohup /usr/local/frp/frpc -c /usr/local/frp/frpc.ini > /usr/local/frp/frpc.log 2 > &1 &

至此全部部署完毕。在其他客户端上配置远程桌面地址为10.0.0.2即可访问rdp机器。文章来源地址https://www.toymoban.com/news/detail-808384.html

到了这里,关于使用wireguard+frp实现内网穿透远程桌面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • win10远程桌面控制Ubuntu服务器 - 内网穿透实现公网远程

    转载自远程穿透文章:Windows通过RDP异地远程桌面Ubuntu【内网穿透】 XRDP是一种开源工具,它允许用户通过Windows RDP访问Linux远程桌面。 除了Windows RDP外,xrdp工具还接受来自其他RDP客户端(如FreeRDP、rdesktop和NeutrinoRDP )的连接。 相较于VNC,xrdp更加的轻量级。下面简单几步实现ubu

    2024年02月03日
    浏览(44)
  • 使用FRP(快速反向代理)实现内网穿透——以腾讯云服务器为例

    FRP,即快速反向代理技术(fast reverse proxy)。本文的FRP程序是基于github开源项目GitHub - fatedier/frp。当前,该程序可实现:“ 将位于 NAT 或防火墙后面的本地服务器暴露给互联网” 。它目前支持 TCP 和 UDP,以及 HTTP 和 HTTPS 协议,允许通过域名 / IP将请求转发到内部服务器

    2023年04月14日
    浏览(71)
  • 使用云服务器和Frp(快速反向代理)框架快速部署实现内网穿透

    现在有一台ubuntu云服务器,我想通过内网穿透将一台内网的主机当成云服务器来使用(包括但不限于ssh、http和https服务),比如我想在外地通过ssh远程连接到一台内网没有桌面的主机(可以是Ubuntu或者Windows,Windows配置类似),就可以使用frp内网穿透, 配置起来非常方便快捷

    2024年02月15日
    浏览(45)
  • 搭建FRP内网穿透服务器来远程访问本地windows/linux中的web服务

    什么是FRP? FRP 是一个免费开源的用于内网穿透的反向代理应用,它支持 TCP、UDP 协议, 也为 http 和 https 协议提供了额外的支持。 FRP有服务端和客户端,你将服务端安装在你买的便宜云服务器上,FRP客户端安装在你自己的电脑上,配置好暴露的端口,就可以实现你访问服务器

    2024年02月05日
    浏览(52)
  • 使用VNC远程桌面Ubuntu【内网穿透实现公网远程】

    前言 实现ubuntu 系统桌面级别的远程连接,需要在ubuntu 系统中安装vnc,既然是桌面,前提是需要ubuntu 带有图形化界面,如果没有,可以执行以下命令安装图形化界面 1. ubuntu安装VNC 在ubuntu中安装vnc 安装LightDM【LightDM从设计上就是支持本地图形界面以获得最好的兼容性】 安装过程中会

    2024年02月10日
    浏览(53)
  • 内网穿透实现ssh远程连接Ubuntu(Sakura frp实现方法)

    实现自由远程连接内网Ubuntu系统 安装ssh服务器 安装ssh客户端 配置ssh客户端 ​ 1)让ssh允许密码验证登录 ​ 将PasswordAuthentication yes 前的#删除 ​ 2)允许root登录 ​ 将PermitRootLogin prohibt-password 修改为 PermitRootLogin 重启ssh服务 查看ssh服务状态 active(running)表示ssh服务运行正常运行

    2024年02月02日
    浏览(45)
  • frp实现内网穿透(内网服务器到公网访问的方案)

    目录 背景: 一、frp的简介 二、Frp Server的配置 三.Frp Client的配置 我使用python写了一个http后端,如代码所示,ip为10.1.136.73,port为8000,现在需要把http后端在公网可以被使用。一个较简单的方案是通过frp实现内网穿透。 这里我已有一个公网ip使用winserver的服务器,但配置太低部

    2024年02月09日
    浏览(45)
  • 群晖NAS配置之自有服务器frp实现内网穿透

    frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。今天跟大家分享一下frp实现内网穿透 通过在具有公网 IP 的节点上部署 frp 服务端,可以轻

    2024年02月04日
    浏览(49)
  • 如何使用VNC实现Win系统远程桌面Ubuntu图形化界面【内网穿透】

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 前言 实现ubuntu 系统桌面级别的远程连接,需要在ubuntu 系统中安装vnc,既然是桌面,前提是需要ubuntu 带有图形化界面,如果没有,可以执行以下命令安装图形化界面 1. ubun

    2024年01月19日
    浏览(46)
  • 阿里云服务器搭建FRP实现内网穿透-P2P

    在了解frp - p2p之前,请先了解阿里云服务器搭建FRP实现内网穿透-转发: 文章地址    frp(Fast Reverse Proxy)是一个开源的反向代理工具,它提供了多种功能,包括端口映射、流量转发和内网穿透等。在frp中,P2P(Peer-to-Peer)功能允许直接将数据从一个客户端传输到另一个客户

    2024年02月10日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包