WireGuard 配置备忘
内容提要
最近学会了使用WireGuard进行打洞,配置文件写在/etc/wireguard/${name}.conf中,通过wg-quick [up/down] ${name}启停,推荐使用systemctl [enable/disable/start/stop] wg-quick@${name}.service进行管理。
延伸解读
密钥生成与权限管理
文章强调使用 wg genkey 和 wg pubkey 生成密钥对,并立即通过 chmod 600 设置私钥和公钥文件的权限。这提醒读者,WireGuard 的密钥文件是安全基础,必须严格限制访问,避免泄露导致隧道被非法接入。
服务管理方式的选择
文章指出 wg-quick 可用于临时启停,但若需常驻服务,更推荐使用 systemctl 管理 wg-quick@${name}.service。这意味着在生产环境中,systemd 能提供开机自启、进程守护和日志集成,比手动命令更可靠。
配置文件的对称性与角色区分
服务端和客户端配置文件都包含 [Interface] 和 [Peer] 段,但字段侧重不同:服务端指定 ListenPort 和客户端的 AllowedIPs,客户端则需填写 Endpoint 指向服务端公网地址。理解这种对称性有助于正确编写两端配置。
懒人脚本的实用与局限
文章提供的脚本通过变量替换快速生成配置文件并启用服务,适合快速搭建。但脚本中硬编码了内部 IP 和端口,且未涉及防火墙或 NAT 设置,实际部署时需根据网络环境调整,并确保端口可达。
Q&A
WireGuard 的配置文件应该放在哪个路径?
配置文件应放在 /etc/wireguard/${name}.conf 中。
如何生成 WireGuard 的私钥和公钥?
使用命令:wg genkey > private && chmod 600 private 生成私钥,然后 wg pubkey < private > public && chmod 600 public 生成公钥。
怎么启动或停止 WireGuard 接口?
可以使用 wg-quick up ${name} 启动,wg-quick down ${name} 停止。
如何将 WireGuard 配置为常驻服务?
推荐使用 systemctl enable/disable/start/stop wg-quick@${name}.service 来管理。
服务端的 WireGuard 配置需要包含哪些内容?
服务端配置包括私钥、内部 IP 地址和监听端口,以及客户端的公钥和内部 IP。
客户端的 WireGuard 配置需要包含哪些内容?
客户端配置包括客户端的私钥、内部 IP,以及服务端的公钥、公网 IP 和端口。