viernes, 8 de mayo de 2015

Permitir las llamadas de whatsapp a través de un firewall

El día de hoy hice un paréntesis para resolver una situación que estaba afectando los usuarios de whatsapp en una red wifi que tengo dedicada para los celulares; la situación era que a pesar de lograr comunicarse a través de mensajes de texto y notas de voz, no podían hacer uso de la llamada a través de la aplicación. Esto se debía a que a la VLAN que estaba usando dicho wifi estaba restringida al uso de HTTP, HTTPS, DNS y correo (SMTP/IMAP/POP) a ciertos servidores (gmail y el empresarial).

Lo que hice para resolver la situación, después de hacer una captura de las sesiones, fué abrir los siguientes puertos outbound TCP/UDP en el firewall:

5222, 5223, 5228, 3478

Hacia las siguientes direcciones IP e IPv6 (de ser necesario IPv6):


31.13.64.51/32
31.13.65.49/32
31.13.66.49/32
31.13.67.51/32
31.13.68.52/32
31.13.69.240/32
31.13.70.49/32
31.13.71.49/32
31.13.72.52/32
31.13.73.49/32
31.13.74.49/32
31.13.75.52/32
31.13.76.81/32
31.13.77.49/32
31.13.78.53/32
31.13.79.195/32
31.13.80.53/32
31.13.81.53/32
31.13.82.51/32
31.13.83.51/32
31.13.84.51/32
31.13.85.51/32
31.13.86.51/32
31.13.87.51/32
31.13.88.49/32
31.13.90.51/32
31.13.91.51/32
31.13.92.52/32
31.13.93.51/32
31.13.95.63/32
50.22.198.204/30
50.22.210.32/30
50.22.210.128/27
50.22.225.64/27
50.22.235.248/30
50.22.240.160/27
50.23.90.128/27
50.97.57.128/27
75.126.39.32/27
108.168.174.0/27
108.168.176.192/26
108.168.177.0/27
108.168.180.96/27
108.168.254.65/32
108.168.255.224/32
108.168.255.227/32
158.85.0.96/27
158.85.5.192/27
158.85.46.128/27
158.85.48.224/27
158.85.58.0/25
158.85.61.192/27
158.85.224.160/27
158.85.233.32/27
158.85.249.128/27
158.85.249.224/27
158.85.254.64/27
169.44.36.0/25
169.45.71.32/27
169.45.71.96/27
169.45.87.128/26
169.45.169.192/27
169.45.182.96/27
169.45.214.224/27
169.45.219.224/27
169.53.29.128/27
169.53.71.224/27
169.53.250.128/26
169.54.2.160/27
169.54.51.32/27
169.54.55.192/27
169.54.210.0/27
169.54.222.128/27
169.55.69.128/26
169.55.74.32/27
169.55.126.64/26
169.55.210.96/27
169.55.235.160/27
173.192.162.32/27
173.192.219.128/27
173.192.222.160/27
173.192.231.32/27
173.193.205.0/27
173.193.230.96/27
173.193.230.128/27
173.193.230.192/27
173.193.239.0/27
174.36.208.128/27
174.36.210.32/27
174.36.251.192/27
174.37.199.192/27
174.37.217.64/27
174.37.231.64/27
174.37.243.64/27
174.37.251.0/27
179.60.192.51/32
179.60.193.51/32
179.60.195.51/32
184.173.136.64/27
184.173.147.32/27
184.173.161.64/32
184.173.161.160/27
184.173.173.116/32
184.173.179.32/27
184.173.204.32/27
185.60.216.53/32
192.155.212.192/27
198.11.193.182/31
198.11.251.32/27
198.23.80.0/27
208.43.115.192/27
208.43.117.79/32
208.43.122.128/27
2607:f0d0:1301:17d::/64
2607:f0d0:1b01:d4::/64
2607:f0d0:1b02:14d::/64
2607:f0d0:1b04:32::/64
2607:f0d0:2102:229::/64
2607:f0d0:2601:37::/64
2607:f0d0:3003:1bc::/64
2607:f0d0:3004:136::/64
2607:f0d0:3004:174::/64
2607:f0d0:3005:183::/64
2607:f0d0:3005:1a3::/64
2607:f0d0:3006:84::/64
2607:f0d0:3006:af::/64
2607:f0d0:3801:38::/64
2607:f0d0:3802:48::/64
2a03:2880:f000:d:face:b00c::167/128
2a03:2880:f001:d:face:b00c::167/128
2a03:2880:f002:10f:face:b00c::167/128
2a03:2880:f003:c0d:face:b00c::167/128
2a03:2880:f004:11:face:b00c::167/128
2a03:2880:f005:11:face:b00c::167/128
2a03:2880:f005:322:face:b00c::167/128
2a03:2880:f006:11:face:b00c::167/128
2a03:2880:f007:11:face:b00c::167/128
2a03:2880:f008:11:face:b00c::167/128
2a03:2880:f009:11:face:b00c::167/128
2a03:2880:f00a:12:face:b00c::167/128
2a03:2880:f00b:d:face:b00c::167/128
2a03:2880:f00c:12:face:b00c::167/128
2a03:2880:f00c:11e:face:b00c::167/128
2a03:2880:f00d:d:face:b00c::167/128
2a03:2880:f00e:12:face:b00c::167/128
2a03:2880:f00f:11:face:b00c::167/128
2a03:2880:f011:d:face:b00c::167/128
2a03:2880:f012:d:face:b00c::167/128
2a03:2880:f013:d:face:b00c::167/128
2a03:2880:f014:11:face:b00c::167/128
2a03:2880:f015:1c:face:b00c::167/128
2a03:2880:f016:13:face:b00c::167/128
2a03:2880:f017:11:face:b00c::167/128
2a03:2880:f018:f:face:b00c::167/128
2a03:2880:f019:11:face:b00c::167/128
2a03:2880:f01a:11:face:b00c::167/128
2a03:2880:f01b:11:face:b00c::167/128
2a03:2880:f01c:11:face:b00c::167/128
2a03:2880:f01c:215:face:b00c::167/128
2a03:2880:f01f:11:face:b00c::167/128
2a03:2880:f021:11:face:b00c::167/128
2a03:2880:f022:d:face:b00c::167/128

Después de hacer esta excepción en el firewall los usuarios pudieron hacer y recibir llamadas sin problemas en whatsapp. Debido a la naturaleza dinámica de las aplicaciones de internet y de los servidores que prestan el servicio, estaré actualizando cualquier cambio que pueda surgir.

############## Actualización 24 de Febrero 2016 ##############################

Gracias a Anónimo 24 de Febrero 2016, 4:57, tenemos la lista de todas las direcciones IP e IPv6 actualizadas. Se pueden encontrar en el siguiente enlace:

https://www.whatsapp.com/cidr.txt




13 comentarios:

  1. Muchas gracias , en mi caso funciona a medias, habra que agregar mas servidores imagino.

    ResponderEliminar
  2. Muy buen aporte. Por si necesitáis todas las direcciones ipv4 cidr y las ipv6 cidr de whatsapp: https://www.whatsapp.com/cidr.txt
    Saludos, Jose LT

    ResponderEliminar
  3. Gracias compadre, tu aporte me ayudo mucho

    ResponderEliminar
  4. Muchas gracias, he abierto los puertos en el firewall y todo marcha ok!

    ResponderEliminar
  5. como puedo hacer para abrir los puertos en pfsense tengo problemas con los clientes no logran hacer video llamadas

    ResponderEliminar
    Respuestas
    1. Saludos Henaldi,

      1- Creas un ALIAS tipo PORT con los números 5222, 5223, 5228, 3478.
      2- Importas un ALIAS con las direcciones ubicadas en https://www.whatsapp.com/cidr.txt
      3. Creas una regla en el firewall que permita TCP y UDP. La dirección de origen es tu red lan, el destination es alias de las direcciones de whatsapp que creaste en el paso 2 y en el destination port range pones el alias de los puertos que creaste en el paso 1.

      A mi me funcionan correctamente las videollamadas. Recuerda que esta es una comunicación de doble vía por lo que debes verificar si el problema se origina del otro lado de la llamada.

      Eliminar
  6. como hago para restringir las llamadas wasaap en mi red wifi

    ResponderEliminar
    Respuestas
    1. Saludos Jose:

      En este caso tendrías que invertir la acción en la regla de tu firewall; en vez de ser un "PERMIT" sería un "DENY" usando los mismos puertos y direcciones IP.

      Eliminar
  7. Ya no esta la lista de ip´s en el sitio de Whatsapp, ahora se encuentra en el portal de facebook pero solicita ser parthe de un grupo de parthers o algo así. Ayuda :´(

    ResponderEliminar
  8. Lamentablemente ya no son publicas en https://www.whatsapp.com/cidr.txt

    WhatsApp is currently providing special pricing campaign service for Mobile operators, the IP pool is only available for those operators. Please note that we have migrated the latest IP pools of WhatsApp to Facebook Mobile Partner Portal and the IP pool update process has been fully automated.

    Unfortunately, we are not able to share any IP pools manually since now on as they are dynamically generated per partner.

    *We are not currently providing support for pricing campaigns with WhatsApp for non-mobile operators.*

    If your network is a mobile operator, feel free to browse to the Settings page of the portal and download the latest WhatsApp IP pool: https://fb.me/mpp_support

    IP pool updates are provided exclusively through the portal and are no longer distributed via email or through the WhatsApp web site.

    If YOU ARE A MOBILE OPERATOR AND you have not yet registered on the Mobile Partner Portal or have difficulties accessing it - please request access through the following form and we'll be happy to assist: https://fb.me/mpp_access For any technical requests please contact us through the Support section of the portal: https://fb.me/mpp_support

    WhatsApp team

    ResponderEliminar