wireguard组建一个内网环境


前言

自己想建立一个,稳定,安全的组网环境,之前有用zerotier,并且自己搭建了moon,但有时候也会存在链接不上情况,毕竟服务器是是他们三方搭建的,而且在国外,安全和稳定性都不靠谱,所以只有自己搭建一套组网环境,才是最可靠的

一、什么是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是一款极其简单但快速的现代VPN,它利用了最先进的加密技术。它的目标是比IPsec更快、更简单、更精简、更有用,同时避免巨大的头痛。它打算比OpenVPN有更高的性能。WireGuard是一种通用VPN,可在嵌入式接口和超级计算机上运行,适用于多种不同的环境。它最初是为Linux内核发布的,现在是跨平台的(Windows、macOS、BSD、iOS、Android),并且可以广泛部署。它目前正在大力开发中,但已经被认为是业界最安全、最易使用、最简单的VPN解决方案

这是官方的解释,可以看出WireGuard具备以下几个特征

  1. 自组网,服务可控
  2. 安全,
  3. 快速,
  4. 平台兼容性好

还有一点:Linux 创造者 Linus Torvalds 非常喜欢 WireGuard,以至于将其合并到 Linux Kernel 5.6 中。

WireGuard穿透预期效果图

在这里插入图片描述

wireguard搭建完成后,中继服务器与各个peer之间是可以互通,但是peer之间是放问不了的
需要通过中继服务器,开发iptables流量转发来实现peer之间的互通

开始搭建wireguard

这里简单介绍下centos7中如何安装wireguard

sudo yum install epel-release elrepo-release
sudo yum install yum-plugin-elrepo
sudo yum install kmod-wireguard wireguard-tools

其他平台,例如:安卓,mac,下载对应app就可以了

中继服务器搭建

1.生成服务器端密钥

cd /etc/wireguard/
umask 077
wg genkey | tee server_private_key | wg pubkey > server_public_key

生成完成后,就可以看到当前路径下有“server_private_key”及“server_public_key”2个文件。

2.创建服务器配置文件
在/etc/wireguard/下创建wg0.conf文件。

vi /etc/wireguard/wg0.conf
文件内容为:
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
PrivateKey = 服务器的私钥(在服务器上生成的server_private_key文件)
ListenPort = 51820

peer1客户端搭建:

客户创建密匙和服务端一样,这里只贴出来,配置文件的内容

[Interface]
Address = 10.0.0.2/32
PrivateKey = 客户端的私钥
DNS = 10.0.0.1

[Peer]
PublicKey = 服务器的公钥
Endpoint = 服务器的物理ip地址:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

peer2客户端搭建:

客户创建密匙和服务端一样,这里只贴出来,配置文件的内容

[Interface]
Address = 10.0.0.3/32
PrivateKey = 客户端的私钥
DNS = 10.0.0.1

[Peer]
PublicKey = 服务器的公钥
Endpoint = 服务器的物理ip地址:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

gateway 添加 peer

cd /etc/wireguard
vim wg0.conf
最下边添加
[Peer]
PublicKey = ${peer1中的PUBLICKEY}
AllowedIPs = 10.6.6.2/32

[Peer]
PublicKey = ${peer2中的PUBLICKE}
AllowedIPs = 10.6.6.3/32

添加流量转发

cd /etc/wireguard
vim wg0.conf
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wg0 -j MASQUERADE

链接测试

到这里,各个节点已经实现互通
在这里插入图片描述
我的博客地址

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
### 回答1: 要搭建一个内网服务,你需要满足以下条件: 1. 设备:你需要一台电脑,或者一个服务器,作为服务器端使用。 2. 网络环境:你需要拥有一个内网环境,其中包含若干个电脑,手机,或者其他设备。这些设备需要通过路由器或者交换机相互连接。 3. 服务器软件:你需要安装服务器软件,如 Apache、Nginx 等,用于提供 HTTP 服务。 4. 网站内容:你需要准备网站内容,包括 HTML、CSS、JavaScript 等文件,用于在浏览器中展示。 5. 域名与 IP 地址:你需要为你的服务器分配一个域名,或者使用内网 IP 地址来访问。 6. 防火墙设置:你需要调整防火墙设置,以便允许内网设备访问你的服务器。 如果你满足了以上条件,你就可以开始搭建内网服务了。具体操作步骤可能会有所不同,但是大致流程是这样的: 1. 安装服务器软件,并启动服务。 2. 将网站内容复制到服务器的网站根目录下。 3. 在内网设 ### 回答2: 搭建一个内网服务需要进行以下步骤: 1. 选择服务器:首先需要选择一台可靠的服务器,可以是物理服务器或者虚拟机。服务器需要拥有足够的处理能力和存储空间,以支持内网服务的正常运行。 2. 安装操作系统:在服务器上安装适合的操作系统,常见的选择有Linux(如Ubuntu、CentOS)和Windows Server等。操作系统的选择应根据所需服务的特点和个人偏好进行。 3. 配置网络环境:在服务器上配置网络环境,确保服务器能够与内网中的其他设备通信。可以为服务器指定一个固定的IP地址,并设置子网掩码、网关等参数。 4. 安装和配置服务软件:根据需求安装所需的服务软件,例如Web服务器(如Apache、Nginx)、数据库服务器(如MySQL、MongoDB)、FTP服务器等。安装过程中需要注意选择合适的版本和配置正确的参数。 5. 配置安全性:保护内网服务的安全性非常重要,可以采取一些安全措施,如配置防火墙、加密通信、强密码设置等,以防止未经授权的访问和数据泄露。 6. 测试和调试:在搭建完成后,需要进行测试和调试,确保内网服务能够正常运行。测试包括通过浏览器或其他工具进行访问和操作,以验证服务的可用性和稳定性。 7. 维护和更新:搭建好内网服务后,需要定期进行维护和更新,包括安装安全补丁、备份数据、监测性能等,以保持服务的正常运行和安全性。 总体而言,搭建内网服务需要选择合适的服务器、安装配置所需软件、保证网络安全和进行测试调试等步骤。只有在合理的规划和操作下,才能实现一个稳定高效的内网服务。 ### 回答3: 搭建一个内网服务可以通过以下步骤: 第一步,选择一台服务器。一般来说,选择一台稳定的、性能较好的服务器作为内网服务搭建的基础设施。可以选择自己购买一台物理服务器,也可以选择使用云服务器。 第二步,安装操作系统。根据实际需求选择合适的操作系统,如LinuxWindows等。对于Linux系统,可以选择常用的发行版如Ubuntu、CentOS等。 第三步,安装所需的服务。根据实际需求,选择需要搭建的服务,如Web服务器、数据库服务器等。对于Web服务器,可以选择Apache、Nginx等;对于数据库服务器,可以选择MySQL、PostgreSQL等。通过包管理工具如apt或yum进行安装。 第四步,配置网络设置。根据实际情况,进行网络设置,包括IP地址、子网掩码、网关等。如果需要外网访问内网服务,还需要进行端口映射或设置防火墙规则。 第五步,配置服务。根据具体服务的需求,对安装的服务进行配置。比如对于Web服务器,可以配置虚拟主机、SSL证书等;对于数据库服务器,可以配置用户权限、存储路径等。 第六步,测试服务。启动所搭建的服务,并通过内网或外网进行测试。确保服务正常运行,并可以访问和使用。 第七步,加强安全性。对搭建的内网服务进行安全加固,包括更新操作系统、下载安全补丁、配置防火墙等措施。 通过以上步骤,就可以搭建一个基本的内网服务。在实际操作中,还需要根据实际需求进行灵活调整和优化。另外,也可以考虑使用容器化技术,如Docker,来简化部署和管理过程。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lcl_101

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

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

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

打赏作者

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

抵扣说明:

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

余额充值