WireGuard搭建网络,供整个公司利用

打印 上一主题 下一主题

主题 838|帖子 838|积分 2529

一、清理现有设置(如已有失败实验)

  1. # 停止并删除现有 WireGuard 接口
  2. sudo wg-quick down wg0
  3. sudo rm -rf /etc/wireguard/wg0.conf
  4. # 验证接口已删除 (执行后应该看不到 wg0)
  5. ifconfig
复制代码

二、服务器端完整设置流程

1. 安装 WireGuard

  1. sudo apt update && sudo apt upgrade -y
  2. sudo apt install wireguard resolvconf qrencode -y
复制代码
2. 生成密钥对

  1. # 生成服务器密钥
  2. sudo mkdir -p /etc/wireguard
  3. wg genkey | sudo tee /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key
  4. sudo chmod 600 /etc/wireguard/*.key
复制代码
3. 创建立置文件 /etc/wireguard/wg0.conf

  1. cat << EOF | sudo tee /etc/wireguard/wg0.conf
  2. [Interface]
  3. Address = 10.8.0.1/24
  4. ListenPort = 51820
  5. PrivateKey = $(sudo cat /etc/wireguard/private.key)
  6. PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE
  7. PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o enp1s0 -j MASQUERADE
  8. EOF
复制代码
4. 启用内核转发

  1. sudo sed -i '/net.ipv4.ip_forward/s/^#//g' /etc/sysctl.conf
  2. sudo sysctl -p
复制代码
5. 防火墙设置(告急!)

  1. # 允许 WireGuard 端口
  2. sudo ufw allow 51820/udp
  3. # 允许 NAT 转发
  4. sudo ufw --force enable
  5. sudo ufw default deny incoming
  6. sudo ufw default allow outgoing
复制代码
6. 启动服务

  1. sudo systemctl enable wg-quick@wg0
  2. sudo wg-quick up wg0
  3. # 验证接口 (应该看到 wg0 的 inet 10.8.0.1)
  4. ifconfig wg0
复制代码

三、生成员工客户端设置(以员工 “john” 为例)

1. 生成客户端密钥

  1. CLIENT_NAME="john"
  2. CLIENT_IP="10.8.0.2/32"
  3. # 生成客户端密钥
  4. wg genkey | tee /etc/wireguard/${CLIENT_NAME}_private.key | wg pubkey | sudo tee /etc/wireguard/${CLIENT_NAME}_public.key
复制代码
2. 添加到服务端设置

  1. sudo wg set wg0 peer $(cat /etc/wireguard/${CLIENT_NAME}_public.key) allowed-ips ${CLIENT_IP}
  2. sudo wg-quick save wg0
复制代码
3. 生成客户端设置文件 /root/${CLIENT_NAME}.conf

  1. cat << EOF > /root/${CLIENT_NAME}.conf
  2. [Interface]
  3. PrivateKey = $(cat /etc/wireguard/${CLIENT_NAME}_private.key)
  4. Address = ${CLIENT_IP}
  5. DNS = 8.8.8.8
  6. [Peer]
  7. PublicKey = $(sudo cat /etc/wireguard/public.key)
  8. Endpoint = 139.180.197.84:51820
  9. AllowedIPs = 0.0.0.0/0
  10. PersistentKeepalive = 25
  11. EOF
  12. # 生成二维码(方便移动端)
  13. qrencode -t ansiutf8 < /root/${CLIENT_NAME}.conf
复制代码

四、连接测试验证

1. 在客户端装备实行:

  1. # Windows/Mac:下载官方客户端导入配置文件
  2. # Linux:sudo wg-quick up john.conf
  3. # 连接后验证:
  4. ping 10.8.0.1  # 应该能通
  5. curl ifconfig.me  # 显示服务器IP 139.180.197.84
复制代码
2. 服务端监控:

  1. watch -n 1 wg  # 实时查看连接状态
复制代码

五、高级管理技巧

1. 批量创建用户脚本

  1. #!/bin/bash
  2. for i in {1..20}; do
  3.     CLIENT_NAME="employee${i}"
  4.     CLIENT_IP="10.8.0.$((i+1))/32"
  5.    
  6.     wg genkey | tee /tmp/${CLIENT_NAME}_private.key | wg pubkey | tee /tmp/${CLIENT_NAME}_public.key
  7.    
  8.     sudo wg set wg0 peer $(cat /tmp/${CLIENT_NAME}_public.key) allowed-ips ${CLIENT_IP}
  9.    
  10.     cat << EOF > /root/${CLIENT_NAME}.conf
  11. [Interface]
  12. PrivateKey = $(cat /tmp/${CLIENT_NAME}_private.key)
  13. Address = ${CLIENT_IP}
  14. DNS = 8.8.8.8
  15. [Peer]
  16. PublicKey = $(sudo cat /etc/wireguard/public.key)
  17. Endpoint = 139.180.197.84:51820
  18. AllowedIPs = 0.0.0.0/0
  19. PersistentKeepalive = 25
  20. EOF
  21.    
  22.     rm /tmp/${CLIENT_NAME}_*
  23. done
  24. sudo wg-quick save wg0
复制代码
2. 限制访问范围(示例:仅答应访问服务器内网)

  1. # 修改客户端的 AllowedIPs 为:
  2. AllowedIPs = 10.25.96.0/20  # 根据您的 enp8s0 子网 10.25.96.3/255.255.240.0
复制代码

六、故障排查

1. 连接失败查抄项:

  1. # 确认服务端监听状态
  2. sudo ss -uapn | grep 51820
  3. # 查看防火墙规则
  4. sudo ufw status numbered
  5. # 检查内核转发是否启用
  6. cat /proc/sys/net/ipv4/ip_forward
复制代码
2. 日志查看

  1. journalctl -u wg-quick@wg0 -f
复制代码

以上流程已根据您的服务器IP 139.180.197.84 适配,现实利用时注意:

  • 每个员工的 .conf 文件必要单独分发
  • 若利用企业内网DNS,需修改设置文件中的DNS地址
  • 发起定期备份 /etc/wireguard 目次

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连全瓷种植牙齿制作中心

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表