我看到的 Wireguard 示例通常让服务器为客户端指定 IP,但我不希望这样。我希望 N 个客户端能够连接并获取 IP,并通过服务器路由所有流量。就像 OpenVPN 连接一样。
wg0.conf
请问有什么好的服务器和客户端示例?
答案1
这是wireguard 目前的主要缺点之一:它仅支持静态配置。然而有工作组动态,但发展似乎陷入停滞
答案2
有许多广泛使用的“公路战士”设置食谱并不适用。它通过 WireGuard 服务器路由所有流量。其他人可能已经为多个客户端设置了它。抱歉,不是我。
试试这个,它可以运行并经过测试。跳过第一部分,进入第二部分:
第 1 部分摘要版本,第一部分功能不完整。请继续阅读下面的“分步指南...”以了解完整的过程。
要在 OPNsense 上配置 WireGuard,需要执行以下步骤:
通过导航到系统 -> 固件 -> 插件,搜索“os-wireguard”并安装插件,在 OPNsense 防火墙上安装 WireGuard 插件。
为服务器和客户端生成加密密钥对(公钥和私钥)。
通过导航到接口 -> 分配、选择 WireGuard 设备、添加描述、启用接口并应用更改,在服务器和客户端上配置 WireGuard 隧道接口。
在 OPNsense WireGuard VPN 服务器上配置防火墙规则,以允许客户端连接到服务器并访问内部网络。
通过在 OPNsense Web GUI 上导航到 VPN -> WireGuard -> 常规,启用 WireGuard 服务器,添加新的本地配置,将对等点添加到本地配置,然后启用 WireGuard 服务器,在服务器和客户端上启用 WireGuard 隧道接口。
有关更多详细信息,请参阅来源 [https://www.sunnyvalley.io/docs/network-security-tutorials/how-to-setup-wireguard-on-opnsense ''[1]'']。
==== 来源:====
[''https://www.sunnyvalley.io/docs/network-security-tutorials/how-to-setup-wireguard-on-opnsense'']
第 2 部分 在 OPNsense 上安装和配置 WireGuard 的分步指南:
与许多过时的程序相反,这一程序已经过验证。有用!
请遵循 [''https://www.sunnyvalley.io/docs/network-security-tutorials/how-to-setup-wireguard-on-opnsense''] 上的指南。当您在 VPN-WireGuard-Local 选项卡中清空公钥和私钥字段时,将自动生成 WireGuard 服务器实例的加密密钥。
HOME Network Local Configuration:
Name = homefwwg
Private key = <see Bitwarden, homefw, WG private key>
Public key = <see Bitwarden, homefw, WG public key>
Tunnel Address = 10.250.0.8/29
Listen Port = 51820
Peers = client1, client2
End Points Configuration:
Clients
Name = client1 (Android)
Public key =
AllowedIPs = 10.250.0.11/32
[WireGuard Interface]
IP Address = 10.250.0.11/32
DNS = 10.x.x.1, 10.x.x.2
Private key = <see Bitwarden, client1, WG private key>
[Peer]
Public key = <see Bitwarden, homefw, WG public key>
AllowedIPs = 0.0.0.0/0
Endpoint = home-public-ip-address:51820
Name = client2 (Windows)
Public key =
AllowedIPs = 10.250.0.10/32
[WireGuard Interface]
IP Address = 10.250.0.10/32
DNS = 10.x.x.1, 10.x.x.2
Private key = <see Bitwarden, client2, WG private key>
[Peer]
Public key = <see Bitwarden, homefw, WG public key>
AllowedIPs = 0.0.0.0/0
PersistentKeepAlive = 25
Endpoint = home-public-ip-address:51820
除了 SunnyValley 指南中推荐的步骤之外,还可以根据 OPNsense 安装 WireGuard 指南执行以下操作 (https://docs.opnsense.org/manual/how-tos/wireguard-client.html):
创建防火墙规则
这将涉及两个步骤
首先,在 WAN 接口上创建防火墙规则,以允许客户端连接到 OPNsense WireGuard 服务器,然后
创建防火墙规则以允许客户端访问他们想要访问的任何 IP。转至防火墙 ‣ 规则 ‣ WAN。
单击添加以添加新规则
配置规则如下(如果下面未提及选项,请将其保留为默认值):
行动=通过
快速=已检查
接口=广域网
方向在
TCP/IP 版本 IPv4 或 IPv4+IPv6(根据需要,取决于您希望客户端连接到服务器的方式;请注意,这与建立隧道后允许的流量类型不同)
协议 UDP 源/反转 未选中
来源 wg1.net(“wg1”是 OPNsense 在添加 WireGuard 服务实例时自动生成的 WireGuard 接口名称。它可以是“wg0”、“wg1”或其他。)
目的地/反转未选中
目标广域网地址
目标端口范围 步骤 2 中本地配置中指定的 WireGuard 端口
说明 如果您愿意,请添加一项
保存规则,然后单击“应用更改”
然后转到 Firewall ‣ Rules ‣ [在步骤 5(a) 中分配的接口名称] - 如果您没有分配此接口,请参阅下面的注释
单击添加以添加新规则
配置规则如下(如果下面未提及选项,请将其保留为默认值):
行动通行证
快速检查
接口 无论您在哪个接口上配置规则(例如 HomeWireGuard ) - 请参阅下面的注释 TCP/IP 版本中的方向 IPv4 或 IPv4+IPv6(如适用)
协议任何源/反转未选中
源 如果您在步骤 5(a) 下分配了接口,请选择为接口子网生成的别名(例如 HomeWireGuard net ) - 如果您未分配此接口,请参阅下面的注释
目的地/反转未选中
目的地 指定客户端应能够访问的 IP,例如“任何”或特定 IP/子网
目的端口范围任意
说明 如果您愿意,请添加一项
保存规则,然后单击“应用更改”
我将这些说明更新在:OPNsense 上的 WireGuard 安装和配置 -https://codeberg.org/kpiq/Tech-Space/wiki/WireGuard-install-and-configuration-on-OPNsense