在ubuntu 204 上安装wirguard在安装STUN配合wirguard实现NAT穿透从而实现p2p组网现在wirguard已经安装测试完成。接下来如何操作我需要详细操作。
要在Ubuntu 20.04上安装WireGuard并实现NAT穿透,您可以按照以下步骤进行操作:
-
安装WireGuard:
- 打开终端,并以root用户或具有sudo特权的用户身份运行以下命令:
apt update apt install wireguard - 安装完成后,您可以通过运行
wg命令来验证WireGuard是否安装成功。
- 打开终端,并以root用户或具有sudo特权的用户身份运行以下命令:
-
配置WireGuard服务器:
-
创建一个新的配置文件,例如
wg0.conf,并使用文本编辑器打开该文件:nano /etc/wireguard/wg0.conf -
在配置文件中添加以下内容(将其根据您的需求进行相应修改):
[Interface] Address = 10.0.0.1/24 ListenPort = 51820 PrivateKey = <服务器私钥> [Peer] PublicKey = <客户端公钥> AllowedIPs = 10.0.0.2/32其中,
<服务器私钥>是您生成的服务器私钥,<客户端公钥>是客户端的公钥(稍后会生成)。 -
保存并关闭文件。
-
-
生成密钥对:
-
在终端中运行以下命令生成服务器的私钥和公钥:
wg genkey | tee server_private_key | wg pubkey > server_public_key -
在终端中运行以下命令生成客户端的私钥和公钥:
wg genkey | tee client_private_key | wg pubkey > client_public_key
-
-
配置客户端:
-
创建一个新的配置文件,例如
wg-client.conf,并使用文本编辑器打开该文件:nano wg-client.conf -
在配置文件中添加以下内容(根据您的需求进行相应修改):
[Interface] Address = 10.0.0.2/32 PrivateKey = <客户端私钥> [Peer] PublicKey = <服务器公钥> AllowedIPs = 0.0.0.0/0 Endpoint = <服务器公网IP地址>:51820 PersistentKeepalive = 25其中,
<客户端私钥>是您生成的客户端私钥,<服务器公钥>是服务器的公钥,<服务器公网IP地址>是您服务器的公网IP地址。 -
保存并关闭文件。
-
-
启用WireGuard接口:
-
在终端中运行以下命令以加载WireGuard内核模块:
modprobe wireguard -
在终端中运行以下命令以启用并启动WireGuard接口:
wg-quick up wg0这将加载
wg0.conf中的配置并启动WireGuard接口。
-
-
验证连接:
- 在终端中运行以下命令以查看WireGuard接口的状态:
如果一切正常,您应该能够看到已建立的连接。wg show
- 在终端中运行以下命令以查看WireGuard接口的状态:
-
配置STUN服务器和NAT穿透:
-
安装STUN服务器,例如coturn:
apt install coturn -
配置coturn服务器,编辑
/etc/turnserver.conf文件,并根据您的需求进行相应修改。 -
启动coturn服务器:
systemctl start coturn -
在WireGuard服务器和客户端上配置STUN服务器地址。在
wg0.conf中的服务器配置中添加以下行:PreUp = iptables -t nat -A POSTROUTING -j MASQUERADE; turnserver -a -f -r <服务器公网IP地址>/<子网掩码> -X <STUN服务器公网IP地址> -E <STUN服务器公网IP地址> PostDown = iptables -t nat -D POSTROUTING -j MASQUERADE; pkill turnserver在
wg-client.conf中的客户端配置中添加以下行:PreUp = iptables -t nat -A POSTROUTING -j MASQUERADE; turnserver -a -f -r <客户端公网IP地址>/<子网掩码> -X <STUN服务器公网IP地址> -E <STUN服务器公网IP地址> PostDown = iptables -t nat -D POSTROUTING -j MASQUERADE; pkill turnserver其中,
<服务器公网IP地址>是您服务器的公网IP地址,<客户端公网IP地址>是客户端的公网IP地址,<子网掩码>是您的网络子网掩码,<STUN服务器公网IP地址>是您的STUN服务器的公网IP地址。 -
保存并关闭文件。
-
-
重启WireGuard接口:
-
在终端中运行以下命令以重启WireGuard接口:
wg-quick down wg0 wg-quick up wg0 -
确保您的防火墙配置允许WireGuard和STUN流量通过。
-
现在,您已经在Ubuntu 20.04上安装了WireGuard,并使用STUN实现了NAT穿透。您可以通过使用WireGuard客户端连接到服务器,从而实现P2P组网
原文地址: https://www.cveoy.top/t/topic/hUb3 著作权归作者所有。请勿转载和采集!