最近买了不少ipv6 的vps,包括撸到VmShell免费提供的美国ipv6服务器,最大的问题就是不是所有的网站都有ipv6地址,所有呢,就是纯ipv6 的vps不能访问所有网站。目前已知的解决方法是,使用dns64 或者就是Cf 的wgcf。多次测试后发现还是wgcf功能强大。简单记录以下,debian下安装wgcf。
大体步骤分为2步。1是生成wgcf 配置文件。2是把配置文件放进客户端里去。
#弄个文件夹方便管理相关文件
mkdir wgcf
cd wgcf
#下载对应程序
wget -O wgcf https://github.com/ViRb3/wgcf/releases/download/v2.2.13/wgcf_2.2.13_linux_amd64
#添加执行权限
chmod +x wgcf
#注册WARP账户
./wgcf register
#生成WireGuard配置文件
./wgcf generate
这里生成的配置文件有两个,wgcf-account.toml和wgcf-profile.conf 。其中一个是账户信息,一个是配置文件,需要修改下配置文件wgcf-profile.conf 。
配置文件大概长下面的样子 。如果是需要ipv4 ,就用下面的配置。需要注释掉第10行,修改第11行,照下面的修改就可以了
[Interface]
PrivateKey = AHINxxVlZxRjKvtqTrvYR9oxOJmorW5JAmct5q/wRkI=
Address = 172.16.0.2/32
Address = fd01:5ca1:ab1e:8e8a:7a8d:919e:bb2:93aa/128
DNS = 1.1.1.1
MTU = 1280
[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
AllowedIPs = 0.0.0.0/0
#AllowedIPs = ::/0
Endpoint = [2606:4700:d0::a29f:c001]:2408
如果需要ipv6的就用下面的配置。注释第9行,修改第11行。
[Interface]
PrivateKey = AHINxxVlZxRjKvtqTrvYR9oxOJmorW5JAmct5q/wRkI=
Address = 172.16.0.2/32
Address = fd01:5ca1:ab1e:8e8a:7a8d:919e:bb2:93aa/128
DNS = 1.1.1.1
MTU = 1280
[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
#AllowedIPs = 0.0.0.0/0
AllowedIPs = ::/0
Endpoint = 162.159.192.1:2408
下面是安装客户端。
#Debian添加unstable源
echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable-wireguard.list
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 150\n' > /etc/apt/preferences.d/limit-unstable
#更新源并安装
apt-get update
apt-get install wireguard-dkms wireguard-tools
#Ubuntu添加库
add-apt-repository ppa:wireguard/wireguard
#更新源并安装
apt-get update
apt-get install wireguard
#安装openresolv 工具
apt install openresolv
然后把wgcf-profile.conf 复制到 /etc/wireguard. 修改文件名为wgcf.conf
mv ./wgcf-profile.conf /etc/wireguard/wgcf.conf
#开启隧道
sudo wg-quick up wgcf
#关闭隧道
sudo wg-quick down wgcf