2 comments on “pfSense 2.3 – WPAD con ngnix sin revertir GUI a HTTP

  1. Saludos me puedes explicar bien el como adapto el scrip de PAC para mi red en especifico

    Uso una lan para gestionar el pfsense 192.168.56.113/30

    y por dhcp le doy servicio a 2 redes 172.31.0.0/24 y 172.32.0.0 .

    Gracias

    Luis

    • Hola

      Para 3 interfaces del pfSense:

      LAN: 172.31.0.1/24

      LAN1: 172.32.0.1/24

      ADMIN: 192.168.56.114/30
      Red 192.168.56.112/30 /255.255.255.252 solo 2 ips utilizables, 113,114 y 112 de red y 115 de broadcast

      function FindProxyForURL(url, host) {
      var wpad = “PROXY wpad.localdomain.local:3128”;
      //DONDE en unbound se ha declarado en host overrides
      // wpad.localdomain.local < => 172.31.0.1 suponiendo que esa sea la ip lan del pfSense
      //obviamente cambiar localdomain.local por el dominio correspondiente
      // la red 172.32.0.0/24 usará el mismo proxy q la red 172.31.0.0/24
      //no hace falta que squid escuche en LAN1, solo en LAN y localhost (127.0.0.1)
      // crear reglas para permitir tráfico desde red LAN1 net a ip del pfSense de LAN net al puerto del proxy
      //en este ejemplo el puerto del proxy = tcp3128
      host = host.toLowerCase();
      var hostIP = dnsResolve(host);
      if (hostIP == 0) return wpad;
      if (isPlainHostName(host)) return “DIRECT”;
      if (shExpMatch(host, “.local”)) return “DIRECT”;
      //mi dominio localdomain.local;
      if (shExpMatch(host, “.localdomain.local”)) return “DIRECT”;
      //redes privadas;
      if (isInNet(dnsResolve(host), “127.0.0.0”, “255.0.0.0”)) return “DIRECT”;
      if (isInNet(dnsResolve(host), “10.0.0.0”, “255.0.0.0”)) return “DIRECT”;
      if (isInNet(dnsResolve(host), “10.0.0.0”, “255.255.0.0”)) return “DIRECT”;
      if (isInNet(dnsResolve(host), “10.0.0.0”, “255.255.255.0”)) return “DIRECT”;
      //mi red privada;
      if (isInNet(dnsResolve(host), “172.31.0.0”, “255.255.255.0”)) return “DIRECT”;
      if (isInNet(dnsResolve(host), “172.32.0.0”, “255.255.255.0”)) return “DIRECT”;
      if (isInNet(dnsResolve(host), “192.168.56.112”, “255.255.255.252”)) return “DIRECT”;
      //end mi red privada;
      if (isInNet(dnsResolve(host), “192.168.0.0”, “255.255.0.0”)) return “DIRECT”;
      if (isInNet(dnsResolve(host), “192.168.0.0”, “255.255.255.0”)) return “DIRECT”;
      if (isInNet(dnsResolve(host), “172.16.0.0”, “255.240.0.0”)) return “DIRECT”;
      if (shExpMatch(host, “fe80::*”)) return “DIRECT”;
      if (shExpMatch(url, “http:*”)) return wpad;
      if (shExpMatch(url, “https:*”)) return wpad;
      return wpad;
      }

      Salu2

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

dos + Ocho =