wiregurad 在openwrt已经时固有安装的了,不用新安装就可以使用,非常强大,但是安装配置起来有些复杂,网上教程也比较少,而且有些步骤被省略导致会踩比较多的坑。
WireGuard密钥生成
1.设置文件权限
mkdir wiregurad
umask 077
2.生成服务端Privatekey和Pubkey
wg genkey | tee sprivatekey | wg pubkey > spublickey
3.生成客户端端Privatekey和Pubkey
wg gen key | tee cprivatekey | wg pubkey > cpublickey
4.生成预共享密钥PresharedKey
wg genpsk > sharekey
用命令cat 或者vi 查看各个公有和私有密钥,记录下来
关键的来了:
1)新建一个wireguard VPN接口
2)这里私钥就写如服务器的私钥sprivate, 监听端口随意填(1024以后的端口),ip地址这里要填写和你现在路由器局域网不同的网段,以免冲突。
3)防火墙这里要把lan 选上,让wireguard和局域网可以相互访问
4) 添加用户peer,相应的填入cpublickey 公钥和sharekey预共享密钥,这里的ip必须时固定的32长度的,是客户端联接用的,后面还要写到配置文件里面
5) 防火墙通讯规则里面,新建一个规则,名字自己取,为了给wireguard出口
这里有个大坑,很多教程都没有提到,按我这里设置才能连接,否则一直连接失败,我就是卡在这里,别的设置都没有问题。
6) 自定义规则,让连入的设备可以访问局域网全部的设备
iptables -t nat -A POSTROUTING -s 192.168.3.1/24 -o br-lan -j MASQUERADE
7) 编辑文件conf 用于导入wireguard 软件
[Interface]
Address = 192.168.3.215 (这个地址必须在peer设置里设置好且一模一样)
PrivateKey = 客户端私钥
DNS = 192.168.2.22 (openwrt的地址)
[Peer]
PublicKey = 服务器公钥
AllowedIPs = 0.0.0.0/
PresharedKey = 共享密钥
Endpoint = dds域名:23456 (申请了域名后可以自己填写)
PersistentKeepalive = 25