2Remplacement de la BT Infinity SmartHub avec pfsense

Quand je suis arrivé il y a dans une nouvelle maison un an, j'ai enfin pu se joindre à la 21st siècle et commandé Infinity BT qui est fourni avec un SmartHub. Le SmartHub est en fait le kit raisonnablement décent étant donné qu'il est gratuit, mais comme avec la plupart ISP dispositifs fournis, il est verrouillé à certains égards, par exemple, vous ne pouvez pas utiliser votre propre DNS les serveurs que je préfère faire. Dans les premiers jours de l'ADSL (environ 2001) J'ai couru une boîte de smoothwall en place d'un routeur, et pour diverses raisons (y compris le filtrage Internet contrôlé par moi, au lieu d'un ISP) J'ai décidé de revenir à un routeur pare-feu basé sur Linux.

La petite boîte Celeron J1900 je suis arrivé à faire du côté matériel des choses ne voulait pas installer smoothwall, donc j'ai installé à la place pfsense. Je devais aussi obtenir un VDSL (fibre) modem pour connecter le routeur à la prise téléphonique. Je suis un DM200 netgear qui est en fait un routeur complet qui peut être commuté en mode « modem seulement ». Obtenir l'ensemble du dispositif de travail a pris un certain tripotage, donc je pensais que je tire toutes les ressources en un seul endroit

1. Installation pfsense

Je avais besoin d'installer pfsense via USB, de manière efficace par lecteur flash. Cela a été rendu possible par l'utilisation d'un stylo lecteur vierge, logiciel appelé rufus, et le téléchargement « memstick » de pfsense.

2. Configuration du DM200 netgear

Pour ce faire quoi que ce soit avec le DM200 vous devrez raccorder un câble LAN pour, et la prise téléphonique à ce. Votre PC devrait obtenir une adresse du netgear par DHCP, mais si elle ne vous aura pas besoin de régler manuellement IP adresser à 192.168.5.x (x étant quelque chose de 2 — 254). Vous pouvez ensuite connecter via une interface Web à l'adresse 192.168.5.1. Le nom d'utilisateur de connexion par défaut est administrateur et le mot de passe est mot de passe. Sélectionnez l'onglet « Avancé », puis l'option de menu « Avancé » en bas à gauche de cette page. En vertu de cette sélectionnez l'option « Mode appareil ». Changer le mode de périphérique « Modem (modem uniquement)» Et cliquez sur Appliquer. Vous pouvez voir plus de détails et des captures d'écran sur le pages d'aide netgear

3. Connectez-vous et changer le mot de passe par défaut

Connectez votre boîte pfsense au réseau local et de s'y connecter en utilisant l'interface web via son réseau IP adresse (qui il affichera sur son démarrage par défaut jusqu'à l'écran si vous connectez un écran à ce). Vous devrez peut-être changer votre région IP adresse pour y parvenir. Connectez-vous au pfsense avec le nom d'utilisateur administrateur et mot de passe pfsense. Passez par l'assistant de configuration et quand la possibilité de changer le mot de passe par défaut webui. Pour des informations plus détaillées sur les étapes 1-3 Je recommande un guide sur la tecmint

4. Configuration de la boîte pfsense pour obtenir une connexion de base

J'utilise l'infini BT et obtenir les bons réglages prouvé plus compliqué que je l'avais espéré. Je devais d'abord configurer le WAN les paramètres correctement et après que, définir le profil correct pour le WAN interface. Première, aller à interfaces: WAN et définir les paramètres suivants.

IPv4 type de configurationPPPoE
IPv6 type de configurationDkp6
Utiliser la connectivité IPv4 comme interface parenttic tac
Demande seulement un préfixe IPv6tic tac
Taille DHCPv6 délégation Prefix56
nom d'utilisateurbthomehub@btbroadband.com
mot de passetoute valeur fonctionnera

Enregistrez les modifications, puis aller à interfaces: affectation. Réglez le WAN interface « PPPOE ... » qui, après l'enregistrement doit montrer l'interface physique entre parenthèses - dans mon cas, il dit « PPPOE (em0)". Enregistrez à nouveau les modifications et j'espère que vous obtiendrez une connexion.

4b. WAN MTU Valeur

Dans l' WAN les paramètres de l'interface que vous pouvez régler vos paramètres MTU pour un fonctionnement optimal avec BT Infinity pour éviter les paquets fragmentés et la perte de paquets possible. J'ai écrit une [int­link id=“4002” type=“post”]article dédié[/intlink] sur cette question.

5. IPv6 Test

Les paramètres ci-dessus devraient être suffisant pour obtenir IPv6 travailler sur vos clients LAN - vous devriez également voir une adresse IPv6 pour l'interface LAN pfsense (i.e. celui qui ne démarre pas fe80). Essayez pinger google.com à partir d'une fenêtre de terminal sur un client LAN - si vous obtenez une réponse de l'adresse IPv6 tout va bien. Vous pouvez également vérifier que tout ce que je correcte à l'aide test-ipv6.com. Merci à Danneh pour les réglages. Pour plus d'informations, je recommande ce fil reddit.

Il y a un tweak plus nécessaire pour vous assurer que fonctionne IPv6 entièrement, vous devez autoriser les paquets ICMPv6 à travers le pare-feu. Accédez au pare-feu, puis Règles. Ajouter une nouvelle règle, définir la famille d'adresse IPv6, modifier le protocole ICMP, La permission « any » choisi comme les sous-types (sauf si vous voulez faire beaucoup plus sur les sous-types de lecture spécifiques). Cliquez sur Enregistrer, puis cliquez sur « Appliquer les modifications ».

6. Activation Intel amélioré la vitesse étape

Je ne veux pas que mon routeur plus faible puissance fonctionnant à plein régime tout le temps - mais pfsense doens't semble malheureusement pour soutenir correctement l'étape de vitesse améliorée intel par défaut au moment. Pour obtenir le fonctionnement le mien (et une température de cpu inférieure pour aller avec elle!) Je devais d'abord pour permettre PowerD en System -> Avancée -> Divers -> activer PowerD. Si vous souhaitez activer les fréquences les plus basses (altho ceux-ci ne sauve pas beaucoup de puissance) vous devrez également faire les modifications suivantes: aller à diagnostics, Modifier le fichier. Ensuite, entrez le chemin du fichier /boot / device.hints. changer le fond 2 entrées 1 à 0 (appelé hint.acpi_throttle.0.désactivée et hint.p4tcc.0.désactivée). Merci à SecondEdge et dreamslacker pour ces conseils. Pour vérifier cela fonctionne, vous devez vous connecter au routeur via SSH, sélectionnez l'option 8 (coquille) et courir sysctl dev.cpu. | grep fréq. Cela a pris ma température de base de cpu de 66C à 57C - pas mal pour un petit système fanless emballé dans près d'un autre PC, le modem, et un commutateur 8 ports.

7. La redirection de port

Aller à pare-feu: NAT puis cliquez sur le bouton Ajouter. Entrer le IP adresse et le port pour la destination et (probablement) le même port pour le port externe. Pour des informations plus détaillées, je recommande un poste par splurben sur les forums de pfSense.

8. réflexion NAT

J'utilise mon ordinateur portable à la maison sur le réseau local et loin de la maison et dans les deux cas veulent accéder à différentes interfaces web sur le réseau local. J'utilise DDNS pour obtenir un nom de domaine et je voulais l'utiliser pour se connecter même lorsqu'il est connecté au réseau local. Cela nécessite une réflexion NAT qui peut être activé sous système: Avancée: NAT mode de réflexion pour les attaquants de port. Tu peux (probablement) doivent aussi permettre 2 d'autres options de cette page: Activer NAT Réflexion pour 1:1 NAT et Activer le NAT sortant automatique pour la réflexion

9. logiciel antipub

Tous mes webbrowsers PC ont installé adblocked, mais on ne peut pas dire de mes appareils Android que ceux-ci doivent être ancrés à installer des bloqueurs. Donc, être en mesure de bloquer les annonces avec pfsense est l'un des principaux avantages de son utilisation. Première, aller à système: gestionnaire de paquets puis recherchez pfblockerng et l'installer. Vous pouvez ensuite configurer à l'aide Pare-feu: PFBlockerNG. J'ai ensuite utilisé le guide par FredMerc pour le configurer. Un bref résumé des paramètres que j'ai utilisé est le suivant. Aller à Pare-feu: PFBlockerNG puis cliquez sur le DNSBL languette, puis cliquez sur le onglet DNSBL EasyList. Allumez l'alimentation haut EasyList et pointer vers EasyList. Cliquez ensuite sur le bouton Ajouter, et régler la seconde alimentation en EasyList à EasyPrivacy et tourner sur ce trop. Liste des actions devrait être « non consolidé » et je régler la fréquence de mise à jour 1 journée. Cliquez ensuite sur Enregistrer. Ensuite, allez à la DNSBL onglet et activez l'option activer DNSBL. Enfin aller à la général onglet permettre pfBlockerNG.

9b. fixe Adblock

La configuration par défaut PFBlockerNG provoque des problèmes pour l'application Android amazon. Pour éviter cela, et d'autres questions, il est intéressant d'utiliser une liste blanche. Aller à Pare-feu: PFBlockerNG puis cliquez sur le DNSBL languette, faites défiler jusqu'à domaine personnalisé whitelist et entrez les informations suivantes (grâce à bchow sur les forums pfSense)

.amazonaws.com
.amazon-adsystem.com
.amazon.com
.ssl.google-analytics.com
.ssl-google-analytics.l.google.com # CNAME (ssl.google-analytics.com)
.www.google-analytics.com
.www-google-analytics.l.google.com # CNAME (www.google-analytics.com)
.www.googleadservices.com
.plex.tv
.gravatar.com
.thetvdb.com
.themoviedb.com
.googleapis.com # 172.217.3.202 est important pour que l'application amazon fonctionne
.1e100.net # cname? altname? pour googleapis.com
.ad.doubleclick.net # nécessaires pour choc des clans?
.g.doubleclick.net # nécessaires pour choc des clans?
.q1mediahydraplatform.com # nécessaire pour l'application Android Hungryhouse?

Vous pouvez également activer la liste blanche alexa des meilleurs sites.

10. proxy squid transparent

J'ai décidé de mettre en place un proxy squid transparent autant de navigation que nous frappe les mêmes sites à plusieurs reprises sur différents appareils, Je ne m'y attendais pas à faire une énorme différence, mais je ne vois aucune raison valable de ne pas. Utilisation système: gestionnaire de paquets installer calmars. Ensuite aller à services: serveur proxy squid pour le configurer. Ceci est également nécessaire pour SquidGuard si vous voulez l'utiliser, comme je fais.

11. filtrage Web pour la sécurité des enfants avec SquidGuard

J'ai de jeunes enfants dans la maison et que vous souhaitez bloquer les contenus inappropriés. Ceci peut être réalisé avec le paquet SquidGuard et listes noires de Shalla. Installer squidguard de système: gestionnaire de paquets. Ensuite aller à services: filtre proxy squidguard. Allez à la liste noire languette, saisissez l'adresse https://www.shallalist.de/Downloads/shallalist.tar.gz et cliquez sur bas-charge. Ensuite, utilisez l'onglet ACL commune, cliquez sur le bouton plus et sélectionner les catégories que vous souhaitez bloquer. Il est également necesary de mettre en place une catégorie cible factice en raison d'un bug. Pour plus d'informations, voir ce post sur Forum pfsense. Ne pas oublier de mettre la valeur par défaut pour toutes les listes permettre au bas des listes. Merci à networkinggeek sur la forums pfSense pour cette astuce. Enfin - il peut être intéressant éditer quelques options avancées afin que les demandes bloquées ne sont mises en cache pour une courte période de temps - de cette façon si vous décidez de débloquer certains sites que vous avez l'habitude de vider le cache du navigateur pour accéder à ces sites - il y a plus d'informations sur la Forum pfsense. J'ai dû ajouter la catégorie à la liste blanche[blk_BL_sex_lingerie] de sorte que ma femme pourrait acheter des sous-vêtements que le filtre bloquait les sections de sous-vêtements sur les détaillants traditionnels (e.g. Debenhams).

12. Activer U-PNP pour une gamme de services (jeu, Messagerie, torrent, etc)

Aller à services: UPnP & NAT-PMP, cochez la partie supérieure 2 boîtes (Permettre UPnP & NAT-PMP et Permettre UPnP Port Mapping), et cliquez sur Enregistrer.

13. Le trafic malveillant bloquant avec SNORT

Pour bloquer détecter et bloquer le trafic potentiellement malveillant, vous pouvez installer le package SNORT. Je le recommande sans bloquer en cours d'exécution pour les premières semaines car il bloque beaucoup de choses que vous ne voulez pas en raison de grand nombre de faux positifs. Je recommande d'utiliser la liste de suppression suivante pour éviter certains des faux positifs les plus ennuyeux

#ET P2P Bittorrent P2P User-Agent client (uTorrent)
supprimer gen_id 1, sig_id 2011706
#ET P2P Demande d'annonce_peers de BitTorrent DHT
supprimer gen_id 1, sig_id 2008585
#(spp_ssl) Client HELLO non valide après la détection du serveur HELLO
supprimer gen_id 137, sig_id 1
#ET P2P Demande ping BitTorrent DHT
supprimer gen_id 1, sig_id 2008581
#(http_inspect) DEMANDE SIMPLE
supprimer gen_id 119, sig_id 32
#(http_inspect) MÉTHODE INCONNUE
supprimer gen_id 119, sig_id 31
#(http_inspect) LONGUEUR DE CONTENU OU TAILLE DE MORCEAU NON VALIDE
supprimer gen_id 120, sig_id 8
#(http_inspect) Aucun LONGUEUR OU TRANSFERT EN-Encoding HTTP RÉPONSE
supprimer gen_id 120, sig_id 3
#(http_inspect) DOUBLE DÉCODAGE D'ATTAQUE
supprimer gen_id 119, sig_id 2
#(http_inspect) HTTP ÉCHEC DE LA DÉCOMPRESSION DE GZIP
supprimer gen_id 120, sig_id 6
#(http_inspect) IIS CODAGE DE CODEPOINT UNICODE
supprimer gen_id 119, sig_id 7
#(http_inspect) CODAGE UNICODE À OCTOBRE NU
supprimer gen_id 119, sig_id 4
#(http_inspect) NIVEAUX JAVASCRIPT obscurcissement DEPASSE 1
supprimer gen_id 120, sig_id 9
#(http_inspect) LES ESPACES BLANCS DE JAVASCRIPT DÉPASSENT LE MAX PERMIS
supprimer gen_id 120, sig_id 10
#(http_inspect) ESPACE DANS sans échappement HTTP URI
supprimer gen_id 119, sig_id 33
#(http_inspect) CODAGE U
supprimer gen_id 119, sig_id 3
#(http_inspect) DOUBLE DÉCODAGE D'ATTAQUE
supprimer gen_id 119, sig_id 2
#(http_inspect) MULTIPLES CODAGES DANS DES DONNÉES OBFUSCÉES JAVASCRIPT
supprimer gen_id 120, sig_id 11
#(http_inspect) HTTP LA RÉPONSE A UN CHARSET UTF QUI N'A PAS réussi À NORMALISER
supprimer gen_id 120, sig_id 4
#FICHIER-IMAGE DirectShow GIF tentative de dépassement de largeur logique
supprimer gen_id 1, sig_id 27525

14. Obtenir l'accès Web au modem, à travers la zone de pfsense

Mon modem Netgear DM200 (en mode pass-through) est uniquement accessible par l'intermédiaire d'un fixe IP adresse (192.168.5.1). Je voulais être en mesure d'accéder à son interface Web sur les ordinateurs LAN. Il y a quelques instructions du wiki pfsense, mais ceux-ci ne fonctionnent pas pour moi au début. Il y a un poste utile par l'utilisateur Non-sens sur la Forum pfsense

14b. Afficher les statistiques de connexion modem sur le tableau de bord pfsense

Après quelques rayures, j'ai trouvé un moyen d'afficher les statistiques du modem pour mon modem netgear sur mon tableau de bord.
Cela se fait en créant un widget personnalisé avec le code php.
Accédez au diagnostic et éditer le fichier. Créez un nouveau fichier sur le chemin

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

avec le contenu

< ?php $ status = file_get_contents("https://nom d'utilisateur:password@192.168.5.1/RST_statistic.htm"); $status = str_replace("était timereset = "5\";","était timereset = "0\";",$statut); echo $ status ?>

Vous aurez besoin de personnaliser le nom d'utilisateur et mot de passe. Le code ci-dessus fonctionne pour le DM200 Netgear, et probablement d'autres modems et routeurs netgear. Pour les autres marques de matériel que vous aurez besoin d'une adresse différente pour les statistiques et vous devrez peut-être faire une manipulation supplémentaire de la réponse en utilisant php.
Notez que je supplantée l'intervalle d'actualisation par défaut netgear - Je l'ai tourné le tout comme reload brise l'affichage du tableau de bord. Pour obtenir des numéros mis à jour, actualisez simplement le tableau de bord pfsense à l'aide du bouton de rechargement de votre navigateur Web
Maintenant, allez dans le tableau de bord et d'ajouter le widget et vous êtes tous fait.

15. Fixation de la mise en garde du certificat lors de la connexion

Voir ce guide

16. Demandez à utiliser firefox locale DNS via HTTPS, au lieu de passer par nos filtres (ajouté en avril 2020)

Dans les services -> DNS résoudre
Ajouter la ligne suivante au champ «options personnalisées»…

serveur:Zone locale: "use-application-dns.net." always_nxdomain

17. Utiliser le nom de domaine de la boîte pfsense pour la place des ressources bloquées de IP (ajouté en avril 2020)

Services -> Filtre proxy SquidGuard -> ACL commun
Changez le "Mode ReDirect" en "déplacer l'URL ext (entrer URL)"
Dans le champ «Rediriger les informations», définissez «https://votre routeur nom / sgerror.php?url = 403% 20&a =% a&n = n%&i = i%&s =% s&t = t%&u =% u "

Laisser un commentaire

2 commentaires

JJon

Guide fantastique où dois-je placer cela dans des règles flottantes?
Il y a un tweak plus nécessaire pour vous assurer que fonctionne IPv6 entièrement, vous devez autoriser les paquets ICMPv6 à travers le pare-feu. Accédez au pare-feu, puis Règles. Ajouter une nouvelle règle, définir la famille d'adresse IPv6, modifier le protocole ICMP, La permission « any » choisi comme les sous-types (sauf si vous voulez faire beaucoup plus sur les sous-types de lecture spécifiques). Cliquez sur Enregistrer, puis cliquez sur « Appliquer les modifications ».

Veuillez garder les guides à venir!!

Répondre
JSJon Scaife

Merci pour l'info supplémentaire. J'avais en effet activé les paquets ICMPv6 mais j'ai dû oublier que j'avais quand j'ai écrit ceci. Je vais le mettre à jour. Je ne sais pas à quelle partie du guide se réfère votre première question?

Répondre