subdomains standard google engine domain custom compute change app google-app-engine ip range ip-address whitelist

google-app-engine - standard - google cloud app engine dns



Google App Engine: lista de direcciones IP (6)

Sé que Google App Engine no admite una aplicación que tenga una dirección IP estática, pero me gustaría saber si existe una lista o rango de direcciones IP que una aplicación podría tener. Me gustaría utilizar esa lista como una lista blanca de direcciones IP para otra aplicación desplegada en otro lugar.


A partir del documento de GAE , debe utilizar el comando excavar porque actualmente no proporciona una forma de asignar direcciones IP estáticas a una aplicación, debido a su diseño:

dig -t TXT _netblocks.google.com @ns1.google.com

Si el comando dig no está disponible en su sistema, puede usar un servicio en línea:

A la hora de escribir esta respuesta, consultar http://www.digwebinterface.com/?hostnames=_netblocks.google.com&type=TXT&useresolver=8.8.4.4&ns=self&nameservers=ns1.google.com devuelve:

_netblocks.google.com. 3596 IN TXT "v=spf1 ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16 ?all"

Aquí la lista formateada para la consola API de Google si la necesita:

216.239.32.0/19 64.233.160.0/19 66.249.80.0/20 72.14.192.0/18 209.85.128.0/17 66.102.0.0/20 74.125.0.0/16 64.18.0.0/20 207.126.144.0/20 173.194.0.0/16

Tenga en cuenta que los rangos de IP pueden cambiar en el futuro, por lo que deberá ejecutar esta consulta de vez en cuando.


Además de las otras respuestas, el soporte principal de GAE me dirigió a este nombre, especialmente como la dirección IP de origen para URLFetch llamadas a URLFetch :

$ dig -t txt _cloud-netblocks.googleusercontent.com

que responde:

include:_cloud-netblocks1.googleusercontent.com include:_cloud-netblocks2.googleusercontent.com include:_cloud-netblocks3.googleusercontent.com

Si luego consultas esos, obtienes esta lista de rangos (a partir del 2014-06-26):

8.34.208.0/20 8.35.192.0/21 8.35.200.0/23 23.236.48.0/20 23.251.128.0/19 107.167.160.0/19 107.178.192.0/18 108.170.192.0/20 108.170.208.0/21 108.170.216.0/22 108.170.220.0/23 108.170.222.0/24 108.59.80.0/20 130.211.4.0/22 146.148.16.0/20 146.148.2.0/23 146.148.32.0/19 146.148.4.0/22 146.148.64.0/18 146.148.8.0/21 162.216.148.0/22 162.222.176.0/21 173.255.112.0/20 192.158.28.0/22 199.192.112.0/22 199.223.232.0/22 199.223.236.0/23


Creé un script de ruby ​​para este propósito exacto (súper simple, fácil de actualizar):

https://github.com/stephengroat/whitelist-travisci

Resolv::DNS.open do |dns| ress = dns.getresource "_cloud-netblocks.googleusercontent.com", Resolv::DNS::Resource::IN::TXT ress.data.scan(/(?<=include:)_cloud-netblocks+/d.googleusercontent.com/).each do |r| subress = dns.getresource r, Resolv::DNS::Resource::IN::TXT subress.data.scan(/(?<=ip[4|6]:)[^/s]+/).each do |sr| puts sr end end end


Lancé esto rápidamente, para usarlo con el gcloud create-firewall .

#!/bin/bash netblocks=$(dig TXT _cloud-netblocks.googleusercontent.com @ns1.google.com +short | sed -e ''s/"//g'') for block in $netblocks; do if [[ $block == include:* ]]; then ipblocks=$(dig TXT ${block#include:} @ns1.google.com +short) for ipblock in $ipblocks; do if [[ $ipblock == ip4:* ]]; then printf "${ipblock:4}," fi done fi done


Usar comando:

dig -t txt _netblocks.google.com

para obtener los últimos bloques de google ip, y luego puede agregar el resultado a su lista blanca. Tenga en cuenta que la lista no es estática y se actualiza de vez en cuando.


Y esta es una lista actualizada al 20 de marzo de 2016:

Extraído usando instrucciones en este artículo de KB .

ip4:8.34.208.0/20 ip4:8.35.192.0/21 ip4:8.35.200.0/23 ip4:108.59.80.0/20 ip4:108.170.192.0/20 ip4:108.170.208.0/21 ip4:108.170.216.0/22 ip4:108.170.220.0/23 ip4:108.170.222.0/24 ip4:162.216.148.0/22 ip4:162.222.176.0/21 ip4:173.255.112.0/20 ip4:192.158.28.0/22 ip4:199.192.112.0/22 ip4:199.223.232.0/22 ip4:199.223.236.0/23 ip4:23.236.48.0/20 ip4:23.251.128.0/19 ip4:107.167.160.0/19 ip4:107.178.192.0/18 ip4:146.148.2.0/23 ip4:146.148.4.0/22 ip4:146.148.8.0/21 ip4:146.148.16.0/20 ip4:146.148.32.0/19 ip4:146.148.64.0/18 ip4:130.211.4.0/22 ip4:130.211.8.0/21 ip4:130.211.16.0/20 ip4:130.211.32.0/19 ip4:130.211.64.0/18 ip4:130.211.128.0/17 ip4:104.154.0.0/15 ip4:104.196.0.0/14 ip4:208.68.108.0/23 ip6:2600:1900::/35