Tópico Oficial pfSense - O que é, como configurar, dúvidas, etc

The WolfMan

1st Folding then Sex
Sempre que se faz um contrato com uma operadora, a mesma disponibiliza os equipamentos para se aceder à internet. Cada um tem as suas necessidades/exigências. Para uns qualquer coisa serve. Para outros, seja porque procuram funcionalidades mais avançadas ou porque por exemplo a performance do Wi-Fi é fraca há muita gente interessada em subsituir o router da operadora por um pessoal que satisfaça as suas necessidades.

Aqui no fórum há muitos tópicos sobre alternativas aos routers das operadoras e das várias soluções existentes, o pfSense é uma delas.

Não sou um especialista no pfSense, sou um mero curioso com vontade em aprender mais. Conto com o contributo de todos e este post pode ir sendo alterando à medida que for necessário. Por exemplo, a instalação é muito simples e directa, mas eu não tirei prints à mesma. Posso instalar o pfSense numa máquina virtual só para isso ou quem quiser pode contribuir com prints seus para o guia de instalação. O meu exemplo também é dado para a MEO, quem tiver outros operadores que falem das especifidades das vossas instalações.

Começando, o que é o pfSense? O pfSense é um sistema operativo baseado no FreeBSD que pode ser instalado num computador e torná-lo num router/firewall.

https://www.pfsense.org/

Para correr o pfSense basta ter um computador x86 de 64 bits com duas portas Ethernet e uma pen USB. Os requisitos de hardware dependem do que vocês vão fazer com o pfSense e quantos utilizadores a vossa rede vai ter, mas para um uso doméstico, em principio qualquer coisa serve. De notar que vão precisar de mais equipamentos individuais como um switch e um ponto de acesso, mas no meu caso, de momento tenho o router da operadora a fazer de switch e ponto de acesso. Apesar de estar a pensar em upgrades, não precisei de ir a correr gastar dinheiro. Fiz tudo a custo zero, visto que tinha um desktop em casa sem uso.

O meu setup consiste num dekstop com um intel i5 650 com 6 GB de RAM. Sou cliente MEO Fibra e o router que a operadora me deu foi um Technicolor TG789vac v2 (e o ONT claro). Há uns anos um vizinho ofereceu-me um router que tinha em casa da MEO também. Um Technicolor TG784n v3. Ele mudou de casa e nunca quiseram o equipamento de volta.

Para quem utiliza o telefone fixo, vão sempre precisar de ter o router da operadora. Para as boxs funcionarem é necessário configurações adicionais no pfSense e se tiverem um switch o mesmo tem de suportar o protocolo IGMP v3. Da última vez que fiz experiências com isto, quer ligado directamente ao pfSense ou através do TG789vac v2 a imagem na televisão estava constantemente a bloquear pelo que a minha abordagem actual é a seguinte:

O ONT está ligado ao TG784n v3. Este router é responsável apenas pela box e pelo telefone. Nas configurações do mesmo activei o modo bridge na porta 4 (a única que é gigabit) e esta porta liga-se ao pfSense que por sua vez se liga ao TG789vac v2 que serve de switch e de ponto de acesso.

Para instalar o pfSense é só fazer o download da versão mais recente aqui (neste momento é a 2.6.0) e usar o Rufus ou semelhante para meter o sistema operativo numa pen. Depois é arrancar através da pen e seguir os passos para fazer a instalação. Eu não alterei nada, foi tudo as definições default. Sei que em versões antigas era opcional, mas agora o sistema de ficheiros padrão é o ZFS. No fim de instalado o computador reinicia-se e no fim é preciso dizer ao pfSense qual é a interface WAN (a que se liga ao ONT/router da operadora) e qual é a interface LAN (a "nossa" rede doméstica do pfSense para a frente). Quando questionados sobre configurar alguma VLAN digam que não.

A partir de agora podem desligar o monitor e o teclado do computador porque já não são precisos para nada. Agora é tudo a partir do browser. Abram o browser e metam no mesmo https://192.168.1.1. O username default é admin e a password é pfsense.

Depois é só seguir os passos. No primeiro define-se o nome do hostname, do domínio e do servidor de DNS. Deixei os primeiros nos valores default e para o servidor de DNS utilizei o da Google. Num router de um operador isto é impossível de fazer. O servidor de DNS principal é sempre o da operadora. Quem quiser outro tem de ir dispositivo a dispositivo definir manualmente o servidor de DNS.

De seguida é preciso definir o Time Server. Deixei o hostname default e escolhi o timezone correcto.

O próximo passo é a configuração da interface WAN. Eu deixei tudo default.

No próximo define-se a interface LAN. Eu deixei os valores default.

A seguir escolhe-se uma nova palavra passe para o admin e está feito. O passo final é reiniciar a máquina. Em príncipio já está tudo a funcionar. É só abrir um browser e ver se têm acesso à internet!

Para ter atribuído um endereço IPv6 na webgui fui a interfaces -> WAN e marquei/alterei as seguintes opções:

- Visto em "Request only an IPv6";
- "DHCPv6 Prefix Delegation size" com o valor de 56;
- Visto em "Do not wait for a RA".

Isto podia ter sido definido logo na configuração inicial, mas no meu caso só me lembrei uns dias depois de pesquisar sobre como ter um endereço IPv6 :P

Espero que isto seja perceptível e útil. Venham as vossas dúvidas. De seguida vou já colocar uma para ver se alguém me ajuda.
 
Reparei que tinha 7 servidores de DNS quando eu só tinha configurado 4, os primários e secundários da Google tanto em IPv4 como em IPv6.

Dois deles eram da operadora que desapareceram assim que fui a System -> General Setup e tirei o visto da opção "DNS Server Override". Ganhei alguma coisa com isso?

O outro servidor DNS tem o endereço 127.0.0.1. Isto é um servidor local que está no pfSense. Alguma vantagem ou desvantagem em o ter? Eu desliguei-o. Fui outra vez a System -> General Setup e alterei a opção "DNS Resolution Behavior". Meti para usar servidores remotos e ignorar o servidor local. Fiz bem ou mal?

Entretanto como tinha um Raspberry Pi aqui sem fazer nada, decidi instalar-lhe o Pi Hole. No fim, nenhum pedido passava pelo Pi Hole. Nas definições dos servidores de DNS, o endereço do RPi estava em primeiro lugar e tinha internet, mas pedido pelo mesmo está quieto. Fui a Services -> DHCP Server e adicionei nos servidores de DNS o endereço do RPi e a partir daí os pedidos já passam pelo RPi. É assim que se configura?
 
@The WolfMan
A vantagem de usares o servidor local é que os pedidos poderão já estar em cache. Será muito mais rápido obter o IP, caso este já esteja em cache do que ter de ir à internet todas as vezes que é preciso um IP.
 
Viva.

Nao sei que velocidade tens contratada , mas agora experimenta fazer um teste de bufferbloat com o 784 em bridge e uns quantos speed test a ver como se comporta… tinha graça ter melhor performance esse router que o fibregateway.

Se precisares de ajuda com o pfsense apita. Por exemplo….eu tenho DNS por tls configurado ( evita que o ISP ande a cheirar que sites um gajo navega) e tenho o pfblockerNG directamente no pfsense em vez do PIhole …acho inclusive mais robusto..
 
@The WolfMan
A vantagem de usares o servidor local é que os pedidos poderão já estar em cache. Será muito mais rápido obter o IP, caso este já esteja em cache do que ter de ir à internet todas as vezes que é preciso um IP.
Eu sei isso, e faz sentido. Mas se eu activar o servidor de DNS local, os pedidos não aparecem no Pi Hole.
Viva.

Nao sei que velocidade tens contratada , mas agora experimenta fazer um teste de bufferbloat com o 784 em bridge e uns quantos speed test a ver como se comporta… tinha graça ter melhor performance esse router que o fibregateway.

Se precisares de ajuda com o pfsense apita. Por exemplo….eu tenho DNS por tls configurado ( evita que o ISP ande a cheirar que sites um gajo navega) e tenho o pfblockerNG directamente no pfsense em vez do PIhole …acho inclusive mais robusto..
Tenho 200/100.

Vi este sito no tópico ao lado e corri num desktop ligado por cabo ao 789, que está ligado ao pfSense, que vai ligar ao 784 que por sua vez está ligado ao ONT.

https://www.waveform.com/tools/bufferbloat?test-id=7df657a5-1fd3-46ed-ba0c-fde61b14df9c

O ONT é o preto. Já li aqui queixas de problemas com o mesmo em velocidades acima de 500 Mb durante muito tempo, mas estive agora a olhar para ele e não parece ser muito complicado de abrir para lhe meter um dissipador e talvez uma ventoinha.

Com o pfblockerNG consegues bloquear os anúncios do YouTube? A zwame tem publicidade, mas ela não é intrusiva, mas no YouTube é de mais…

Falas aí de muita coisa que para mim de momento ainda é chinês. Tenho de ir devagarinho :p. De momento estou satisfeito com a minha configuração, mas estou sempre disposto a aprender coisas novas.

Se quiseres dar o teu contributo/conhecimento para o tópico, por mim estás à vontade. Depois até se pode editar o tópico inicial com guias ou a “apontar” para o tópico em questão.
 
Com o pfblockerNG consegues bloquear os anúncios do YouTube? A zwame tem publicidade, mas ela não é intrusiva, mas no YouTube é de mais…
Tanto quanto sei os anúncios do YouTube são impossíveis de bloquear uma vez que os mesmos usam os mesmos endereços do servidores dos vídeos em si. Se tentares bloquear esses endereços bloqueias os vídeos todos!! Até há uns 4 ano
 
Olá!

Bom tópico. Acrescento que seria útil também adicionar à discussão os vários mini-pcs compatíveis, pois usar um computador normal é um desperdício de espaço e energia.
 
para isso metam um mini-pc com 2 portas rj45, instalam o pfsense e siga.

Eu tenho um mini-pc gigabyte j1900 com pfsense para a vpn ipsec + home assistant para o domotica.
 
Tanto quanto sei os anúncios do YouTube são impossíveis de bloquear uma vez que os mesmos usam os mesmos endereços do servidores dos vídeos em si. Se tentares bloquear esses endereços bloqueias os vídeos todos!! Até há uns 4 ano
Eles não são burros…

Falaste em bufferbloat, o que achaste do meu resultado? Ou 200 Mb não são carga suficiente?

Que outras packages utilizas além do pfblockerNG?
Olá!

Bom tópico. Acrescento que seria útil também adicionar à discussão os vários mini-pcs compatíveis, pois usar um computador normal é um desperdício de espaço e energia.
Já que falaste em poupança de energia, fui a System -> Advanced -> Miscellaneous e activei a opção “Enable PowerD”. A frequência do CPU no meu caso varia entre os 1.2 e os 3.2 GHz. Já se poupa alguma coisa.
para isso metam um mini-pc com 2 portas rj45, instalam o pfsense e siga.

Eu tenho um mini-pc gigabyte j1900 com pfsense para a vpn ipsec + home assistant para o domotica.
Já alguma vez te sentiste limitado pelo hardware que tens? O meu sonho era ter um bastidor em casa (não preciso de um muito alto) e ter um chassis 1U da SuperMicro com um Atom a correr o pfSense.

Que packages utilizas? Tens alguma coisa “especial” na tua configuração que queiras ensinar aqui há malta?

O pfSense permite criar um servidor VPN para fora de casa ligarmo-nos à rede não é?

EDIT: Vi agora num instante um tutorial para criar um servidor OpenVPN no pfSense para me ligar remotamente, mas na secção VPN também existe IPSec e L2TP.
 
Última edição:
Eles não são burros…

Falaste em bufferbloat, o que achaste do meu resultado? Ou 200 Mb não são carga suficiente?

Que outras packages utilizas além do pfblockerNG?
Alem pfblocker uso HAproxy para tanto como web proxy interno como externo. Uso tabela WireGuard como VPN.
eu Tenho o pfsense virtualizado no proxmox com uma placa de rede decidica e umas quantas máquinas virtuais.… já é algo um tanto complex0 lol
 
Eu comprei um mini-pc j3455 16gb ram 2ºmão + disco 4tb que tinha do meu mycloud + ssd 240gb, instalei o software truenas para servidor de ficheiros, para substituir o MyCloud. Trabalha lindamente e ficheiros grandes não quebra velocidade. Depois criei uma vm para o pfsnse e montei um servidor vpn ipsec com mutual psk+ Xaut. No net ha montes de videos que explicar como criar.
Agora acedo aos ficheiros fora de casa por vpn e ainda consigo ver meo go.
O meu unico problema é não ter 2 portas de rede, para o pfsense gerir tudo.

E ao todo no mini-pc tenho truenas (principal) + vm pfsense + vm ubuntu server com bitwarden + home assistant.

para pfsense que o requesitos sao muito poucos, qualquer maquina ao desbarato + pci express r45 custa 15€, e a tua rede fica mais segura e com vpn.
 
Boas, uso pfsense há muitos anos, até agora não me arrependi :D
Em relação a hardwares já o instalei em todo o tipo, desde i3 até xeons.
Em relação à vpn, apesar de usar openvpn há largos anos, neste momento estou a começar a usar wireguard que o pfsense tb suporta, só tens de instalar o plugin. A velocidade não tem nada, mas mesmo nada a ver o wireguard chega a ser 5x mais rápido que o openvpn com o mesmo hardware.

0-No-VPN.jpg


1.jpg


2.jpg


3.jpg
 
@kasmafan, podias explicar aqui como criar um servidor VPN em condições no pfSense?

Se tens experiência de anos podes ver se eu e os outros inexperientes estamos a fazer algo de errado ou se há certas coisas que devemos activar.

Segui este tutorial para o OpenVPN:
https://www.comparitech.com/blog/vpn-privacy/openvpn-server-pfsense/

Parece-me que ficou a funcionar, mas só IPv4, amanhã no trabalho experimento a aceder ao painel do pfSense e a fazer um Speedtest. O IST também utiliza isto. É instalar um certificado no dispositivo e fazer login com as credenciais. Como tenho um endereço IPv6 através do IST, também gostava de ter através do meu servidor :p

Fui tentar meter o WireGuard (a ver um tutorial da Lawrence Systems) e embora já tenha o túnel criado, o processo de criação de peers parece ser mais complicado. O meu instrumento remoto de testes também é um iPhone. Com um portátil com certeza que era mais fácil, mas é o que tenho.
 
Boas

Na configuração do teu servidor OpenVPN tens lá uma secção que se chama "Endpoint Configuration" aí escolhes o protocolo IPV4 ou ambos TCP/UDP.
Em "Mode Configuration" também convem teres o "Device Mode" em "tun - Layer 3 Tunnel Mode"
No Fim em "Tunnel Settings" defines o range de ip's IPV4 e IPV6 que queres usar no tunnel, por exemplo o default ipv4 é 10.0.8.0/24 e em IPV6 podes usar FE80::/64.
Depois tens de especificar as redes IPV4 e IPV6 em "Local Networks", isto serve para quem estiver através da VPN poder aceder a essas redes remotamente.


Em relação ao Wireguard, é um protocolo novo, ainda não há grande aceitação e sim é um pouco chata a configuração, mas o ganho de velocidade para mim bate isso.

Um exemplo de configuração do cliente Wireguard num pc.

[Interface]
PrivateKey = Private_key_auto_gerada_pelo_cliente
Address = 192.168.70.2/32 #Ip do cliente no tunnel VPN
DNS = 1.1.1.1, 8.8.8.8, 8.8.4.4

[Peer]
PublicKey = Public_key_do_servidor_vpn
AllowedIPs = 0.0.0.0/1 #basicamente todo o tráfego irá para o servidor wireguard. Se quiseres apenas a rede 70 ficaria "AllowedIIPs = 192.168.70.0/24"
Endpoint = 192.168.1.186:51820 // IP público do servidor Wireguard


Se o teu servidor VPN não for o gateway dessas redes tens de fazer NAT ou então adicionar rotas no gateway da rede para os pedidos chegarem de volta aos clientes da VPN. (Válido para qualquer servidor vpn)

qq coisa apita!
 
Para ter atribuído um endereço IPv6 na webgui fui a interfaces -> WAN e marquei/alterei as seguintes opções:

- Visto em "Request only an IPv6";
- "DHCPv6 Prefix Delegation size" com o valor de 56;
- Visto em "Do not wait for a RA".

Isto podia ter sido definido logo na configuração inicial, mas no meu caso só me lembrei uns dias depois de pesquisar sobre como ter um endereço IPv6 :P

Espero que isto seja perceptível e útil. Venham as vossas dúvidas. De seguida vou já colocar uma para ver se alguém me ajuda.

Consegues routear ipv6 pelos cliente da LAN? Ou seja, num cliente da LAN, podes publicar o resultado?

ping6 google.com

Aproveitando o tópico.

Para uma largura de banda de 1Gbps/200Mbps, que hardware estão a usar?

No mínimo, um i5 de 4ª geração.

500/100, i5 4670K, 8GB RAM: https://www.waveform.com/tools/bufferbloat?test-id=7496fe06-7aeb-442e-927b-5f22926255d0
 
Consegues routear ipv6 pelos cliente da LAN? Ou seja, num cliente da LAN, podes publicar o resultado?

ping6 google.com



No mínimo, um i5 de 4ª geração.

500/100, i5 4670K, 8GB RAM: https://www.waveform.com/tools/bufferbloat?test-id=7496fe06-7aeb-442e-927b-5f22926255d0
Código:
Pinging www.google.com [2a00:1450:4003:80c::2004] with 32 bytes of data:
Reply from 2a00:1450:4003:80c::2004: time=10ms
Reply from 2a00:1450:4003:80c::2004: time=11ms
Reply from 2a00:1450:4003:80c::2004: time=11ms
Reply from 2a00:1450:4003:80c::2004: time=11ms

Ping statistics for 2a00:1450:4003:80c::2004:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 10ms, Maximum = 11ms, Average = 10ms

Em termos de HW, eu tenho um i5 650 com 6 GB de RAM. Era o que tinha aqui em casa e acho que até agora tem chegado.

O meu Pi-Hole não estava a funcionar muito bem. Configurei o pfBlocker NG através deste vídeo:

Impecável até agora.
 
Código:
Pinging www.google.com [2a00:1450:4003:80c::2004] with 32 bytes of data:
Reply from 2a00:1450:4003:80c::2004: time=10ms
Reply from 2a00:1450:4003:80c::2004: time=11ms
Reply from 2a00:1450:4003:80c::2004: time=11ms
Reply from 2a00:1450:4003:80c::2004: time=11ms

Ping statistics for 2a00:1450:4003:80c::2004:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 10ms, Maximum = 11ms, Average = 10ms

Em termos de HW, eu tenho um i5 650 com 6 GB de RAM. Era o que tinha aqui em casa e acho que até agora tem chegado.

O meu Pi-Hole não estava a funcionar muito bem. Configurei o pfBlocker NG através deste vídeo:

Impecável até agora.
Podes partilhar as configurações de ipv6 no interface "WAN" e "LAN", sff?
 
Back
Topo