2Sustitución de la BT Infinity SmartHub con pfSense

Cuando me mudé a una nueva casa hace un año que finalmente fue capaz de unirse a la 21S t siglo y ordenó BT Infinity que se suministra con un SmartHub. El SmartHub está considerando kit realidad bastante decente que viene de forma gratuita, pero como con la mayoría ISP dispositivos suministrados esté bloqueado en algunos aspectos, por ejemplo, no puede utilizar su propio DNS servidores que prefiero hacer. En los primeros días de ADSL (hacia 2001) Me encontré con una caja de paredes lisas en lugar de un router, y para una serie de razones (incluyendo el filtrado de Internet controlado por mí, en lugar de una ISP) Decidí volver a un router firewall basado en Linux.

La cajita Celeron J1900 que tengo que hacer la parte del hardware de lo que no quería para instalar paredes lisas, así que instalé en lugar pfSense. También tuve que conseguir un VDSL (fibra) módem para conectar el router a la toma de teléfono. Tengo una netgear 200 marcos alemanes que en realidad es un router completo que se puede cambiar al modo de “módem sólo”. Conseguir toda la disposición de trabajo tomó bastante tocar el violín, por lo que pensé en tirar de todos los recursos en un solo lugar

1. Instalación de pfSense

Que necesitaba para instalar a través de pfSense USB, con tanta eficacia por unidad flash. Esto fue posible gracias a la utilización de un pen drive en blanco, software llamado Rufus, y la descarga ‘memory stick’ de pfSense.

2. Configuración del netgear 200 marcos alemanes

Para hacer cualquier cosa con el 200 marcos alemanes, tendrá que conectar un cable LAN, tanto a él, y la toma de teléfono a ella. Su PC debe tener una dirección de la NETGEAR mediante DHCP, pero si no lo hace tendrá que establece manualmente IP frente a 192.168.5.x (x es cualquier cosa, desde 2 — 254). A continuación, puede acceder a través de la interfaz web 192.168.5.1. El nombre de usuario de inicio de sesión por defecto es administración y la contraseña es contraseña. Seleccione la pestaña “Avanzado”, y luego la opción de menú “avanzado” en la parte inferior izquierda de la página. En virtud de que seleccionar la opción “Modo de dispositivo”. Cambiar el modo de dispositivo a “Módem (Sólo módem)”Y haga clic en Aplicar. Puede ver más detalles y capturas de pantalla en el páginas de ayuda Netgear

3. Inicio de sesión y cambiar la contraseña por defecto

Conectar el cuadro de pfSense a la LAN y conectarse a él utilizando la interfaz web a través de su LAN IP dirección (la que se mostrará en su arranque por defecto hasta la pantalla si se conecta una pantalla a ella). Puede que tenga que cambiar su local de IP tratar de lograr este. Entrar al pfSense con el nombre de usuario administración y la contraseña pfSense. Ir a través del asistente de configuración y cuando se les da la oportunidad de cambiar la contraseña por defecto webui. Para obtener información más detallada sobre los pasos 1-3 recomiendo una guiará en tecmint

4. Configuración del cuadro de pfSense para conseguir una conexión básica

Yo uso BT infinito y conseguir la configuración correcta resultó más difícil de lo que esperaba. Tuve que configurar la primera WAN configuración correctamente y después de eso, establecer el perfil correcto para el WAN interfaz. Primero, ir Interfaces: WAN y establecer la siguiente.

IPv4 tipo de configuraciónPPPoE
Tipo de configuración de IPv6Dkp6
Utilice la conectividad IPv4 como interfaz principaltictac
Solicitud solamente un prefijo IPv6tictac
tamaño DHCPv6 delegación de prefijo56
nombre de usuariobthomehub@btbroadband.com
contraseñacualquier valor funcionará

Guardar los cambios, y luego ir a Interfaces: asignación. Establezca el WAN interfaz para “PPPoE ...”, que después de guardar debe mostrar con la interfaz física entre corchetes - en mi caso se dice “PPPoE (em0)". Guarde los cambios nuevamente y con suerte obtendrá una conexión.

4b. WAN MTU Valor

En el WAN configuración de la interfaz es posible que desee ajustar la configuración de MTU para trabajar de manera óptima con BT Infinity para evitar los paquetes fragmentados y la posible pérdida de paquetes. He escrito una [int­link id=“4002” type=“post”]artículo dedicado[/intlink] en este tema.

5. IPv6 pruebas

Los ajustes anteriores deben ser suficientes para obtener IPv6 a trabajar en sus clientes LAN - también se debe ver una dirección IPv6 para la interfaz LAN pfSense (es decir. uno que no se inicia fe80). Pruebe a hacer ping google.com desde una ventana de terminal en un cliente de LAN - si se obtiene una respuesta de la dirección IPv6 entonces todo está bien. También puede comprobar que todo lo correcto utilizando test-ipv6.com. Gracias a Danneh para los ajustes. Para obtener más información Recomiendo este hilo reddit.

Hay un truco adicional requerida para asegurarse de que funciona de forma completamente IPv6, que necesita para permitir que los paquetes ICMPv6 a través del cortafuegos. Ir a Firewall, y luego Reglas. Añadir una nueva regla, establecer la familia de direcciones IPv6 a, cambiar el protocolo de ICMP, Leave “ninguna” seleccionado como los subtipos (a menos que desee hacer mucho más lectura sobre subtipos específicos). Haga clic en Guardar, y haga clic en “Aplicar cambios”.

6. Activación de Intel una mayor velocidad de paso

No quiero que mi router de menor potencia funcionando a toda velocidad todo el tiempo - pero lamentablemente pfSense doens't parecen apoyar correctamente Intel mejorado la velocidad de paso por defecto en el momento. Para obtener mina de trabajo (y una temperatura más baja de la CPU para ir con ella!) La primera vez que tenía que permitir en PowerD sistema -> avanzado -> Varios -> Habilitar PowerD. Si desea habilitar las frecuencias más bajas (Altho éstos no guarde mucho poder) También tendrá que hacer los siguientes cambios: ir Diagnóstico, Editar archivo. A continuación, introduzca la ruta del archivo /boot / device.hints. cambiar el fondo 2 entradas de 1 a 0 (llamado hint.acpi_throttle.0.discapacitado y hint.p4tcc.0.discapacitado). Gracias a SecondEdge y dreamslacker para estos consejos. Para comprobar esto está funcionando tendrá que iniciar sesión en el router a través de SSH, Seleccionar opción 8 (cáscara) y correr dev.cpu sysctl. | frec grep. Esto llevó a mi cpu temperatura del núcleo de 66C a 57C - no está mal para un sistema sin ventilador pequeño embalado en junto a otro PC, el módem, y un conmutador de 8 puertos.

7. El reenvío de puertos

Ir cortafuegos: NAT y luego haga clic en el botón Añadir. Introducir el IP dirección y el puerto para el destino y (más probable) el mismo puerto para el puerto externo. Para obtener información más detallada recomiendo un mensaje por splurben en los foros pfSense.

8. Reflexión NAT

Yo uso mi portátil tanto en casa como en la LAN y fuera de casa y en ambos casos desea acceder a varios interfaces web en la LAN. Yo uso DDNS para obtener un nombre de dominio y quería usar esto para conectar incluso cuando se conecta a la LAN. Esto requiere reflexión NAT que puede ser habilitada en sistema: avanzado: modo de reflexión NAT para el puerto remite. Puedes (probablemente) necesitará habilitar también 2 otras opciones de esta página: Habilitar NAT de la reflexión por 1:1 NAT y Habilitar NAT saliente automática para Reflection

9. Adblocking

Todos mis navegadores web de PC han instalado adblocked, pero el mismo no puede decirse de mis dispositivos Android ya que estos tienen que tener sus raíces de instalar bloqueadores. Así que ser capaz de bloquear los anuncios con pfSense es una de las principales ventajas de su uso. Primero, ir sistema: gestor de paquetes y luego buscar pfblockerng e instalarlo. A continuación, puede configurarlo utilizando firewall: PFBlockerNG. Luego utiliza la guía por FredMerc configurarlo. Un breve resumen de la configuración que he usado es el siguiente. Ir firewall: PFBlockerNG y luego haga clic en el DNSBL lengüeta, y luego haga clic en el pestaña DNSBL EasyList. Encienda la alimentación EasyList superior y el punto a EasyList. A continuación, haga clic en el botón Añadir, y establecer la segunda alimentación EasyList a su vez que EasyPrivacy y demasiado. acción lista debe ser “sin consolidar” y ajustar la frecuencia de actualización de 1 día. A continuación, haga clic en Guardar. Luego vaya a la DNSBL ficha y activar la opción Habilitar DNSBL. Finalmente, vaya al general ficha y permitir pfBlockerNG.

9b. correcciones de Adblock

La configuración por defecto PFBlockerNG causa problemas para la aplicación de Android Amazon. Para evitar esto, y otras cuestiones, vale la pena el uso de algunas listas blancas. Ir firewall: PFBlockerNG y luego haga clic en el DNSBL lengüeta, desplazarse hacia abajo para Dominio lista blanca personalizada e introduzca la siguiente (gracias a bchow en los foros pfSense)

.amazonaws.com
.amazon-adsystem.com
.amazon.com
.ssl.google-analytics.com
.ssl-google-analytics.l.google.com # CNAME para (ssl.google-analytics.com)
.www.google-analytics.com
.www-google-analytics.l.google.com # CNAME para (www.google-analytics.com)
.www.googleadservices.com
.plex.tv
.gravatar.com
.thetvdb.com
.themoviedb.com
.googleapis.com # 172.217.3.202 es importante para que la aplicación de Amazon funcione
.1e100.net # cname? altname? para googleapis.com
.ad.doubleclick.net # necesaria para el choque de clanes?
.g.doubleclick.net # necesaria para el choque de clanes?
.q1mediahydraplatform.com # necesaria para la aplicación de Android Hungryhouse?

También es posible que desee habilitar la lista blanca alexa de los mejores sitios.

10. proxy squid transparente

Decidí configurar un proxy transparente squid tanto de la navegación que hacemos golpea en los mismos sitios en varias ocasiones en diferentes dispositivos, No espero que para hacer una gran diferencia, pero no puedo ver ninguna buenas razones para no. Utilizar sistema: gestor de paquetes para instalar el calamar. Luego ve a servicios: servidor proxy squid configurarlo. Esto también es necesario para SquidGuard si desea utilizarlo, como yo lo hago.

11. filtrado web para la seguridad infantil con SquidGuard

Tengo niños pequeños en la casa y desea bloquear contenidos inadecuados. Esto se puede lograr con el paquete SquidGuard y listas negras de Shalla. Instalar desde squidguard sistema: gestor de paquetes. Luego ve a servicios: filtro de proxy squidguard. Ve a la lista negra lengüeta, introduzca la dirección https://www.shallalist.de/Downloads/shallalist.tar.gz y haga clic descargar. A continuación, utilice la ficha Común del LCA, haga clic en el botón más y seleccione las categorías que desea bloquear. También es NECESARIO para establecer una categoría objetivo simulado debido a un error. Para más información ver en este post pfSense foro. No se olvide de establecer el valor predeterminado para todas las listas de permitir en la parte inferior de las listas. Gracias a networkinggeek en el Los foros de pfSense por este consejo. Por último - que puede valer la pena la edición de un par de opciones avanzadas para que las peticiones bloqueadas solamente se almacenan en caché durante un corto período de tiempo - de esa manera si decide desbloquear algunos sitios que no tendrá que borrar la caché del navegador para acceder a esos sitios - hay más información sobre el pfSense foro. Tuve que incluir la categoría en la lista blanca[blk_BL_sex_lingerie] por lo que mi esposa podría comprar la ropa interior ya que el filtro estaba bloqueando las secciones principales minoristas de ropa interior (e.g. Debenhams).

12. Habilitar U-PNP para una gama de servicios (juego de azar, mensajería, torrente, etc)

Ir servicios: UPnP & NAT-PMP, marque la parte superior 2 cajas (Permitir UPnP & NAT-PMP y Permitir UPnP La asignación de puertos), y haga clic en Guardar.

13. bloqueando el tráfico malicioso con SNORT

Para bloquear detectar y bloquear el tráfico potencialmente malicioso puede instalar el paquete de SNORT. Recomiendo ejecutar sin bloquear durante las primeras semanas ya que bloqueará un montón de cosas que no quieres, debido a un gran número de falsos positivos. Recomiendo usar la siguiente lista de supresión para evitar algunos de los falsos positivos más molestos

#Y P2P bittorrent P2P Cliente User-Agent (uTorrent)
suprimir gen_id 1, sig_id 2011706
#Y P2P Solicitud de BitTorrent DHTnoun_peers
suprimir gen_id 1, sig_id 2008585
#(spp_ssl) HOLA de cliente no válido después de que se detecte HOLA del servidor
suprimir gen_id 137, sig_id 1
#Y P2P Solicitud de ping DHT de BitTorrent
suprimir gen_id 1, sig_id 2008581
#(http_inspect) SOLICITUD SIMPLE
suprimir gen_id 119, sig_id 32
#(http_inspect) MÉTODO DESCONOCIDO
suprimir gen_id 119, sig_id 31
#(http_inspect) CONTENIDO NO VÁLIDO-LONGITUD O TAMAÑO DEL CHUNK
suprimir gen_id 120, sig_id 8
#(http_inspect) Contenido de NO-longitud o transferencia de codificación IN HTTP RESPUESTA
suprimir gen_id 120, sig_id 3
#(http_inspect) ATAQUE DE DOBLE DECODIFICACIÓN
suprimir gen_id 119, sig_id 2
#(http_inspect) HTTP RESPUESTA FALLÓ LA DESCOMPRESIÓN GZIP
suprimir gen_id 120, sig_id 6
#(http_inspect) IIS CODIFICACIÓN UNICODE CODEPOINT
suprimir gen_id 119, sig_id 7
#(http_inspect) CODIFICACIÓN UNICODE DE BYTE DESNUDO
suprimir gen_id 119, sig_id 4
#(http_inspect) NIVELES JavaScript ofuscación EXCEDE 1
suprimir gen_id 120, sig_id 9
#(http_inspect) LOS ESPACIOS BLANCOS DE JAVASCRIPT SUPERAN EL MÁXIMO PERMITIDO
suprimir gen_id 120, sig_id 10
#(http_inspect) ESPACIO EN unescaped HTTP URI
suprimir gen_id 119, sig_id 33
#(http_inspect) CODIFICACIÓN U
suprimir gen_id 119, sig_id 3
#(http_inspect) ATAQUE DE DOBLE DECODIFICACIÓN
suprimir gen_id 119, sig_id 2
#(http_inspect) MÚLTIPLES CODIFICACIONES DENTRO DE LOS DATOS OBFUSCADOS DE JAVASCRIPT
suprimir gen_id 120, sig_id 11
#(http_inspect) HTTP LA RESPUESTA TIENE UN CHARSET UTF QUE NO SE NORMALIZÓ
suprimir gen_id 120, sig_id 4
#DirectShow ARCHIVO-IMAGEN GIF intento de desbordamiento de ancho lógico
suprimir gen_id 1, sig_id 27525

14. Conseguir Web de acceso al módem, a través de la caja de pfsense

El módem 200 marcos alemanes Netgear (en el modo de paso a través) sólo se puede acceder a través de un fijo IP dirección (192.168.5.1). Yo quería ser capaz de acceder a su interfaz web en los computadores LAN. Hay algunas instrucciones del pfSense wiki, pero éstos no funcionan para mí al principio. Hay un puesto como útiles por los Tonterías usuario en el pfSense foro

14b. Mostrando las estadísticas de conexión de módem en el salpicadero pfSense

Después de rascarme la cabeza, descubrí una manera de hacer que las estadísticas del módem de mi módem netgear se mostraran en mi tablero..
Esto se hace mediante la creación de un widget personalizado con código php.
Ir a los diagnósticos y editar archivos. Crear un nuevo archivo en el camino

/usr / local / www / widgets / widgets / modemstatus.widget.php

con el contenido

< ?php $ status = file_get_contents("https://nombre de usuario:password@192.168.5.1/RST_statistic.htm"); $estado = str_replace("fue timereset = "5\";","fue timereset = "0\";",$estado); $ status de eco ?>

Tendrá que personalizar el nombre de usuario y contraseña. El código anterior funciona para el Netgear 200 marcos alemanes, y, probablemente, otros módems y routers Netgear. Para otras marcas de hardware que necesitará una dirección diferente para las estadísticas y es posible que tenga que hacer la manipulación adicional de la respuesta utilizando php.
Tenga en cuenta que he sobre-montado el intervalo de actualización predeterminado NETGEAR - Me he convertido a medida que la recarga se rompe la pantalla del salpicadero. Para obtener números actualizados, simplemente actualice el panel de pfsense usando el botón de recarga de su navegador web
Ahora ve al tablero de instrumentos y añadir el widget y ya está todo hecho.

15. La fijación de la advertencia del certificado al iniciar la sesión

Ver esta guía

16. Pedir a Firefox para utilizar locales DNS a través de HTTPS, en lugar de pasar por nuestros filtros (añadido en abril de 2020)

En servicios -> DNS Resolver
Agregue la siguiente línea al campo "opciones personalizadas" ...

servidor:Local-zona: "use-application-dns.net." always_nxdomain

17. Utilizar el nombre de dominio del cuadro de pfSense de recursos bloqueados en lugar de IP (añadido en abril de 2020)

Servicios -> Filtro Proxy SquidGuard -> ACL común
Cambie "ReDirect Mode" a "ext url move (entrar URL)"
En el campo "Redirigir información" establezca "https://su nombre de enrutador / sgerror.php?url = 403% 20&a =% una&n =% n&i = i%&s =% s&t = t%&u =% u "

Deja una respuesta

2 comentarios

JJon

Fantástica guía donde coloco esto en reglas flotantes?
Hay un truco adicional requerida para asegurarse de que funciona de forma completamente IPv6, que necesita para permitir que los paquetes ICMPv6 a través del cortafuegos. Ir a Firewall, y luego Reglas. Añadir una nueva regla, establecer la familia de direcciones IPv6 a, cambiar el protocolo de ICMP, Leave “ninguna” seleccionado como los subtipos (a menos que desee hacer mucho más lectura sobre subtipos específicos). Haga clic en Guardar, y haga clic en “Aplicar cambios”.

Por favor, sigan viniendo las guías!!

Respuesta
JSJon Scaife

Gracias por la información extra. De hecho, había habilitado los paquetes ICMPv6 pero debí haber olvidado que lo tenía cuando escribí esto. Lo actualizaré. No estoy seguro de a qué parte de la guía se refiere su primera pregunta?

Respuesta