之前配置过一次,失败了,连不上。因为有时候astrill在多端登陆后,会出现只显示部分线路的异常,观察了这么久wireguard还挺稳,是时候自己试试看了,这周再试一次。
2021-02-22
终于成功了,初试的速度还是不错的,但是会有时快时慢的时候,astrill就完全没有😂。
安装
第一次用的 centos8没成功,这次就换成熟悉的 ubuntu 18 好了。
wireguard
因为用的 18 所以自带了 wireguard,方便的 apt install wireguard
就可以了。
密钥
umask 077 |
配置及配置文件
虽然 wireguard 听来的说不用分客户端还是服务端,谁先发起请求谁就是客户端,但是一般vps路线的都是默认vps服务端
服务端打开端口转发
# 打开转发
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
# 应用规则
sysctl -p查看连接外网的网卡名称
ip addr
,一般是 lo 后面那一个,比如 eth0。新建配置文件
vim /etc/wireguard/wg0.conf
[Interface]
# 服务器私钥, 就是上面生成的 privatekey
PrivateKey = server_private_key_value
# 绑定地址
Address = 10.0.0.1/24
# 是否保存配置, 可以在运行中通过命令行添加新客户端, 并保存到此配置
SaveConfig = true
# 启动动作, 这里就要把 eth0 替换成之前记下的外网网卡名称 , wg0 是等下创建的虚拟网卡名称
# 配置防火墙规则
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -A FORWARD -o wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# 关闭动作, 操作同上
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# 监听端口
ListenPort = 56660
# 客户端配置
[Peer]
# 客户端公钥, 生成步骤同服务器, 两端都可生成
PublicKey = client_public_key_value
# 分配给客户端的地址, 我这里让他随便选, 你也可以指定给他
AllowedIPs = 10.0.0.0/24
#AllowedIPs = 10.0.0.2/32
# 加客户端就在 Peer 节点下加公钥和 IP 就可以了, 操作同上提权, 免得出问题
chmod 777 -R /etc/wireguard
服务端启动
# 启动 |
客户端配置
下载 wireguard 就好了,都到美区下载。
配置文件如下,根据自己做相应修改。
[Interface] |
电脑端还好,手机端折腾了一晚上都不行,后面发现是手输的原因,就算你输入正确也不行,还好有个 qrcode 导入方法,用 qrencode 生成,然后扫码就导入成功了 qrencode -t ansiutf8 < test.conf
参考
很酷的生成qrcode的方式qrencode : 命令行下生成二维码图片
记 WireGuard 部署及注意事项
官方连接