cf的ipv6无效化

cf是两个service的简称。一个是赛博菩萨cloudflare,一个是aws的巨难用的cloudfront。

最近搞网络安全检查,搞网站的ip访问限制(主要是ban),遇到了不少ipv6的事情。

家庭网络或者ISP服务商现在是强制ipv6了,所以基本上默认访问都是ipv6,而我搭建的网站只是通过ipv4来控制访问,这就导致很尴尬的一件事:限制了个寂寞。。。

而且,还有一个诡异的,windows上ipv6的地址会每次开机,自动分配一个临时访问用ipv6的地址,即使我在服务器上定义了ipv6,第二天照样NG。。

原来是CDN也启用了ipv6。因此特定记录一下,两个cf的ipv6无效化的设定作业。

1.cloudflare的ipv6无效化

cloudflare的免费版,只能通过api来设定,因此需要事先调查一下相关的值。

  • api的URL:实际上重要的是zone-id,可以通过“网络”页面取得
  • api-key:可以通过“我的资料页面”的“API令牌”查看
  • email:就是登录cloudflare的email地址

打开windows的cmd窗口,输入如下的curl,基本上一次搞定。

但是要注意json的格式,在windows上,务必转义。

set MY_ZONEID=zone_id
set MY_EMAIL=email
set MY_APIKEY=api_key

curl -X PATCH "https://api.cloudflare.com/client/v4/zones/%MY_ZONEID%/settings/ipv6" \
 -H "X-Auth-Email: %MY_EMAIL%" \
 -H "X-Auth-Key: %MY_APIKEY%" \
 -H "Content-Type: application/json"  --data "{\"value\":\"off\"}"

2.cloudfront的ipv6无效化

这个比较简单,在cloudfront的distrubution(分配)的“常规”页(TAB)的“设置”下面可以关闭。

当然,你也可以用aws 的cli来操作,没调查,就不写了。