配置WARP的网络接口
安装好Cloudflare WARP后,会默认有一个网络接口配置文件,但根据实际使用情况,我们需要进行相关的修改,才能正常使用。
一、双栈支持、IPv4 Only、IPv6 Only三种配置:
1、双栈支持,同时使用WARP的IPv4和IPv6:
默认生成的配置文件是:
[Interface]
PrivateKey = 4G091rYfBKaX+RyeY/7bhmwDzy1fEt22eocVKmfmVn4=
Address = 172.16.0.2/32
Address = fc01:5ca2:ab1e:8bb7:df2b:4a9b:e21b:d9b/128
DNS = 1.1.1.1
MTU = 1280
[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SAtuH0JuVo59h2wPfgyo=
AllowedIPs = 0.0.0.0/0
AllowedIPs = ::/0
Endpoint = engage.cloudflareclient.com:2408
这个配置同时启用IPv4和IPv6,也就是说是双栈支持。由于默认的配置文件没有外部对VPS本机IP网络访问的相关路由规则,一旦直接使用的话VPS就会直接失联,所以我们还需要对配置文件进行修改。路由规则需要添加在配置文件的 [Interface]后面:
[Interface]
PrivateKey = EGivoEIxxkYpSkWT9Q1f9OkoiLl22QYlYu+1l7su6UE=
Address = 172.16.0.2/32
Address = fd01:5ca8:ab1e:8ea4:d426:12b4:c1f3:d23/128
DNS = 1.1.1.1
MTU = 1280
PostUp = ip -4 rule add from <替换IPv4地址> lookup main
PostDown = ip -4 rule delete from <替换IPv4地址> lookup main
PostUp = ip -6 rule add from <替换IPv6地址> lookup main
PostDown = ip -6 rule delete from <替换IPv6地址> lookup main
[Peer]
PublicKey = bmXOC+F1FxEMF9d5dPPH5/1SUtzH0JuVo8Rh2wPfgyo=
AllowedIPs = 0.0.0.0/0
AllowedIPs = ::/0
Endpoint = engage.cloudflareclient.com:2408
2、IPv4 Only启用IPv6支持:
如果你的服务器只有一个仅有的ipv4(IPv4 Only),机器要启用IPv6,则配置是这样的,在[Peer]中去掉IPv4的配置:
[Interface]
PrivateKey = KLlRB0oI22XrRKAvbz34ZzO9Vfwwm7tvPfY3Td0qKUQ=
Address = 172.16.0.2/32
Address = fd01:5ca1:ab2e:19af:12ff:3246:9dc1:4ba9/128
DNS = 9.9.9.9,8.8.8.8,1.1.1.1
MTU = 1420
[Peer]
PublicKey = bmXOC+F1FxKp9dyiK2H5/1SeSzH0Ju76D1h2wPfgyo=
AllowedIPs = ::/0
Endpoint = 162.159.192.1:2408
3、IPv6 Only启用IPv4支持:
如果你的服务器只有一个仅有的IPv6(IPv6 Only),机器要启用IPv4,则配置是这样的,在[Peer]中去掉IPv6的配置:
[Interface]
PrivateKey = SLlRB0oI11XrRKATbzLfSzO9Vfwwk7tv9U43Td9qKUQ=
Address = 172.16.0.2/32
Address = fd01:5ca1:ab1e:81af:22ff:3676:8dc2:4ba9/128
DNS = 9.9.9.9,8.8.8.8,1.1.1.1
MTU = 1420
[Peer]
PublicKey = bmXOC+F1FxEMF9dyi56sH5/1SUtzHiUuVo51h2wPfgyo=
AllowedIPs = 0.0.0.0/0
Endpoint = 162.159.192.1:2408
二、IPv4与IPv6网络优先级设置:
配置好WARP,我们需要的情况是样的:IPv4 Only服务器优先通过新增的WARP IPv6网络去访问外部网络;IPv6 Only服务器优先通过原来的IPv6网络去访问外部网络。
但实际的情况有可能是:IPv4 Only服务器优先通过原来的IPv4网络去访问外部网络;IPv6 Only服务器优先通过原来的IPv6网络去访问外部网络。
遇到此咱情况,我们可以根据实际的需求就要手动去设置优先级。
1、设置IPv4优先:
编辑“/etc/gai.conf”文件,在末尾添加下面这行配置:
precedence ::ffff:0:0/96 100
2、设置IPv6优先:
编辑“/etc/gai.conf”文件,在末尾添加下面这行配置:
label 2002::/16 2
3、验证优先级:
执行 curl ip.p3terx.com 命令,显示IPv4地址则代表IPv4优先,否则为IPv6优先。
$ curl ip.p3terx.com
2a09:bac1:22::824:6190
GB / United Kingdom
AS13335 / CLOUDFLARENET
三、利用WARP实现简单的分流应用:
如果在Only IPv4的服务器上安装了WARP,可以使用IPv6来进行分流,举个例子:
"outbounds":[
{
"tag":"IP4_out",
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIPv4"
}
},
{
"tag":"IP6_out",
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIPv6"
}
}
],
"routing":{
"rules":[
{
"type":"field",
"outboundTag":"IP6_out",
"domain":[
"geosite:google"
]
},
{
"type":"field",
"outboundTag":"IP4_out",
"network":"udp,tcp"
}
]
}