Wireguard:修订间差异

来自牛奶河Wiki
跳到导航 跳到搜索
无编辑摘要
无编辑摘要
第1行: 第1行:
WireGuard 是一种实现加密虚拟专用网络(VPN)的通信协议和免费开源软件,通过 UDP 传递流量,旨在比 IPsec 和 OpenVPN 这两种常见的隧道协议具有更好的性能和更强大的功能,其设计目标是易于使用、高速性能和低攻击面;
WireGuard 是一种实现加密虚拟专用网络(VPN)的通信协议和免费开源软件,通过 UDP 传递流量,旨在比 IPsec 和 OpenVPN 这两种常见的隧道协议具有更好的性能和更强大的功能,其设计目标是易于使用、高速性能和低攻击面;


=== 安装 ===
=== 服务端 ===
0. Sys Conf
0. Sys Conf
  # /etc/sysctl.conf
  # /etc/sysctl.conf
  net.ipv4.ip_forward = 1
  net.ipv4.ip_forward = 1


1. 安装 wireguard
==== wireguard ====
  apt install wireguard
  apt install wireguard
2. 生成秘钥对
2. 生成秘钥对
第14行: 第14行:
3. 配置文件生成
3. 配置文件生成


<b>服务端</b>
==== 服务配置 ====
  <small><nowiki># Server: /etc/wireguard/wg0.conf
  <small><nowiki># Server: /etc/wireguard/wg0.conf
serverip=$(curl ipv4.icanhazip.com)
serverip=$(curl ipv4.icanhazip.com)
第44行: 第44行:
EOF</nowiki></small>
EOF</nowiki></small>


<b>客户端</b>
==== 连接配置 ====
  <small><nowiki># Client: /etc/wireguard/u01.conf
  <small><nowiki># Client: /etc/wireguard/u01.conf
cat > u01.conf <<-EOF
cat > u01.conf <<-EOF
第59行: 第59行:
PersistentKeepalive = 25
PersistentKeepalive = 25
EOF</nowiki></small>
EOF</nowiki></small>
4. 启动
客户端导入此文件或扫描此文件生成的二维码即可。
# apt install qrencode
# 在 Linux ssh 窗口中显示二维码
cat u01.conf | qrencode -o - -t UTF8
 
==== 启动 ====
  wg-quick up wg0
  wg-quick up wg0
  # shutdown
  # shutdown
第66行: 第71行:
  wg
  wg


=== 客户端 ===
[https://www.wireguard.com/install/ Windows 下载](Mac/IOS 从 App Store 下载) wireguard,扫描二维码或导入从服务端创建的客户端文件即可。


[[分类:Develop]]
[[分类:Develop]]
[[分类:Platform]]
[[分类:Platform]]
[[分类:Linux]]
[[分类:Linux]]

2024年12月7日 (六) 11:18的版本

WireGuard 是一种实现加密虚拟专用网络(VPN)的通信协议和免费开源软件,通过 UDP 传递流量,旨在比 IPsec 和 OpenVPN 这两种常见的隧道协议具有更好的性能和更强大的功能,其设计目标是易于使用、高速性能和低攻击面;

服务端

0. Sys Conf

# /etc/sysctl.conf
net.ipv4.ip_forward = 1

wireguard

apt install wireguard

2. 生成秘钥对

wg genkey | tee server_privatekey | wg pubkey > server_publickey
wg genkey | tee u01_privatekey | wg pubkey > u01_publickey
wg genkey | tee u02_privatekey | wg pubkey > u02_publickey

3. 配置文件生成

服务配置

# Server: /etc/wireguard/wg0.conf
serverip=$(curl ipv4.icanhazip.com)
port=17731
eth=$(ls /sys/class/net | awk '/^e/{print}')
wg0=$(cat server_publickey)
wg0p=$(cat server_privatekey)
u01=$(cat u01_publickey)
u02=$(cat u02_publickey)
u01p=$(cat u01_privatekey)
u02p=$(cat u02_privatekey)

cat > wg0.conf <<-EOF
[Interface]
PrivateKey = $wg0p
Address = 10.0.0.1/32
PostUp   = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o $eth -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o $eth -j MASQUERADE
ListenPort = $port
DNS = 8.8.8.8
MTU = 1420

[Peer]
PublicKey = $u01
AllowedIPs = 10.0.0.10/32
[Peer]
PublicKey = $u02
AllowedIPs = 10.0.0.20/32
EOF

连接配置

# Client: /etc/wireguard/u01.conf
cat > u01.conf <<-EOF
[Interface]
PrivateKey = $u01p
Address = 10.0.0.10/24
DNS = 8.8.8.8
MTU = 1420

[Peer]
PublicKey = $wg0
Endpoint = $serverip:$port
AllowedIPs = 0.0.0.0/0, ::0/0
PersistentKeepalive = 25
EOF

客户端导入此文件或扫描此文件生成的二维码即可。

# apt install qrencode
# 在 Linux ssh 窗口中显示二维码
cat u01.conf | qrencode -o - -t UTF8

启动

wg-quick up wg0
# shutdown
wg-quick down wg0
# status
wg

客户端

Windows 下载(Mac/IOS 从 App Store 下载) wireguard,扫描二维码或导入从服务端创建的客户端文件即可。