Versão utilizada: pfsense-2.4.3-amd64
* Como orientação para uso do pfsense é que cada serviço é independente das configurações próprias do pfsense, por exemplo:
- Quando configurar o pfsense para utilizar usuarios do LDAP/AD na administração do pfsense, essa configuração é somente para o pfsense e não influenciará ou integrara a outro serviço instalado. O squid tem as configurações de acesso LDAP/AD, o FreeRadius também, e entre outros
* Configuração inicial
- Em modo console ajustar as interfaces conforme necessário, para o meu caso foi o abaixo
* Ajustar as interfaces de rede
0 como WAN1(bge0) e 1 como WAN2(bge1)
2 como LAN(em0) e 3 como WLAN(em1)
* Caso necessário ajustar o IP
- Acessar http://IP e iniciar o Wizard
Hostname: <NOME>
Domain: domain.local
Timeservers: a.ntp.br b.ntp.br c.ntp.br 0.pfsense.pool.ntp.org
Timezone: America/Sao_Paulo
DNS: <DNS_PRI> <- Caso for usar serviço de Autenticação LDAP configurar para os servidores internos de DNS.
<DNS_SEC> <- Caso não configure com o IP do modem
WAN1: DHCP
LAN: <IP>
<MASK>
Inserir nova senha de acesso
* System > General Setup
DNS Server Override: uncheck
Disable DNS Forwarder: check
* System > Advanced
Secure Shell Server: Enable Secure Shell
Save
Nota: Configurar o servidor DNS interno utilizando Forwards para os servidores da Google ou OpenDNS.
Nota: O serviço de roteamento deve utilizar sequencia logica de uso por exemplo, inicialmente utiliza a rota default e na sequencia cadastrar as proximas rotas utilizadas.
* Acesse System > Routing
* Caso a rede interna possua roteador adicionar em Gateway o IP deste roteador.
Add
Interface: LAN
Name: LAN_GW
Gateway: <IP_DO_ROTEADOR>
Save
* Acesse System > Routing > Static Routes
Add
Destination network: <IP_REDE_DESTINO> / <MASK>
Gateway: <IP_DO_ROTEADOR>
Save
* Acesse Interfaces > (assign), escolha qual interface e clique em Add para adicionar mais interfaces ao pfSense.
* Acesse Interfaces > interface de rede e ajuste
Description: LAN/WAN/WLAN
IPv4 Configuration Type: Static IPv4 / DHCP
IPv6 Configuration Type: Static IPv6 / DHCP
IPv4 Address: <IP> e selecione a mascara
IPv4 Upstream gateway: Clique em Add a new gateway
Gateway name: <Insira um nome>
Gateway IPv4: <Insira o ip do roteador>
Add
IPv4 Upstream gateway: <Selecione o GW criado anteriormente>
Save
Nota: Para uma WAN em múltiplas LAN's é necessário configurar o campo IPv4 Upstream gateway em Interfaces > WAN com o IP do modem, caso esteja configurado como Static a interface WAN, desta maneira o acesso a internet para as interfaces de LAN adicionais é funcional.
Para existir o roteamento entre as redes VPN e LAN, o campo de configuração de GW é necessário ser configurado.
NOTA: Crie um backup com a estrutura atual, isso facilita pois versões futuras basta restaurar até o padrão atual das configurações pfSense e depois instalar o pf2ad.
* Antes da instalação configurar os campos abaixo que são necessários
* System > General Setup
Hostname
Domain
Config DNS para resolver nomes na rede
DNS Server Override - Disable
Disable DNS Forwarder - Enable
Timezone - America/Sao_Paulo
Nota: A data e hora devem estar sincronizadas com o servidor LDAP/AD
* Install pacote pf2ad. Usar o shell é uma boa pedida para acompanhar o andamento da instalação. Utilize o github do projeto como referencia.
[root@pfSense.localdomain]/root: fetch -q -o - https://raw.githubusercontent.com/pf2ad/pf2ad/2.4.3-SAMBA4/pf2ad.sh | sh
O pacote do Squid será baixado do repositório do pfSense. Ao final da instalação acima execute os comandos abaixo para avaliar a instalação:
[root@pfSense.localdomain]/root: rehash
[root@pfSense.localdomain]/root: squid -f /usr/local/etc/squid/squid.conf -k parse
[root@pfSense.localdomain]/root: pkg info | grep <samba ou squid>
* Atualize a GUI page para atualizar os novos link's de configuração.
* Verificar se existe o nome do host pfSense na lista de Computers do LDAP/AD, caso sim apague antes de realizar a integração.
* Services > Samba(AD)
Enable
Listen interface: LAN
Active Directory Type: Windows 2008 +
Domain: domain.local
Workgroup: DOMAIN
Username Administrator: <usuario para consulta>
Passsord:
Save
* Reboot pfsense ou Status > Services > Samba start
# service samba onestop
# service samba onestart
* Acesse o console do pfSense ou Diagnostics > Command Prompt e teste a integração com LDAP/AD com os comandos abaixo
root@pfSense.localdomain]/root: net ads info
[root@pfSense.localdomain]/root: wbinfo -t
[root@pfSense.localdomain]/root: wbinfo -g
[root@pfSense.localdomain]/root: wbinfo -u
* Consultar o AD na OU=Computer se foi adicionado o host. Caso sim, é possível configurar o modulo NTLM para o Squid em Authentication.
Nota: Foi necessário adicionar manualmente no serviço de DNS do AD o nome Hostname do pfSense.
* Acesse Services > Squid Proxy Server > Authentication e ajuste o método NTLM em conjunto com o pacote pf2ad
Authentication Method: Winbind NTLM
NTLMSSP Negotiate: check
NTLMSSP Auth processes: 100
NTLM Default Domain: domain.local
Save
Nota: Até a versão do Squid 3.5.26 e pfSense 2.3.4 a função de filtrar usuários por grupos do LDAP/AD utilizando método de autenticação NTLM em conjunto com o script pf2ad não é funcional, porem, utilizando o método de autenticação LDAP é funcional fazer filtro de grupo do LDAP/AD mas será solicitado login e senha caso o browser seja carregado novamente.
Quando instalado como VM no XCP ajuste conforme abaixo.
Install Guest Utilities "Xentools" no pfsense. Abra o CLI do pfsense por ssh e execute os abaixo:
pkg install xe-guest-utilities
echo 'xenguest_enable="YES"' >> /etc/rc.conf.local
ln -s /usr/local/etc/rc.d/xenguest /usr/local/etc/rc.d/xenguest.sh
service xenguest start
# xe vm-list
uuid ( RO) : 999a3da5-3859-f75f-8cbc-576839a0f4a3 <- UUID da VM pfsense
# xe vif-list vm-uuid=999....4a3 | grep -e "uuid ( RO) " <- List interface da VM
uuid ( RO) : 2bb05220-4920-cc1a-3d04-07ca2f4aa3d3
uuid ( RO) : fbfada04-7f0a-5a49-2b11-b58ce3d3d2a7
- Execute em todas interfaces
# xe vif-param-set uuid=2bb0....a3d3 other-config:ethtool-tx="off"
# xe vif-param-set uuid=2bb0....a3d3 other-config:ethtool-rx="off"
# xe vif-param-set uuid=2bb0....a3d3 other-config:ethtool-sg="off"
# xe vif-param-set uuid=2bb0....a3d3 other-config:ethtool-tso="off"
# xe vif-param-set uuid=2bb0....a3d3 other-config:ethtool-ufo="off"
# xe vif-param-set uuid=2bb0....a3d3 other-config:ethtool-gso="off"
Link: 1 /
Acesse Diagnostic > Edit File, insira na caixa Path do file to be edited /etc/inc/interfaces.inc e clique no botão Load.
Localize a função is_jumbo_capable.
Insira no final da função is_jumbo_capable //hack for XenServer xn interfaces
/****f* interfaces/is_jumbo_capable
....
function is_jumbo_capable($iface) {
....
//hack for XenServer xn interfaces
if (substr($iface, 0, 2) == "xn")
return true;
return false;
}
Clique no botão Save.
Acesse Interfaces > Assign > VLAN e verá que é possível criar vlans.
Link: 1
* Habilite o repositório FreeBSD
[root@pfSense]/root: vi /usr/local/etc/pkg/repos/FreeBSD.conf
De
FreeBSD: { enabled: no }
Para
FreeBSD: { enabled: yes }
[root@pfSense]/root: vi /usr/local/etc/pkg/repos/pfSense.conf
De
FreeBSD: { enabled: no }
Para
FreeBSD: { enabled: yes }
[root@pfSense]/root: pkg update
* Instale o pacote do samba
[root@pfSense]/root: pkg install -r FreeBSD samba46 krb5 (heimdal)
* Pre-requisitos antes de adicionar a maquina ao domínio
- Configurar os servidores DNS
- Configurar o hostname
- Configurar o NTP
* Adicione o pfSense ao domínio
[root@pfSense]/root: vi /etc/krb5.conf
[libdefaults]
default_realm = DOMAIN.LOCAL
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = yes
[root@pfSense]/root: /usr/local/etc/smb4.conf
[global]
workgroup = DOMAIN
security = ADS
realm = DOMAIN.LOCAL
encrypt passwords = yes
interfaces = <IP_LAN_DOMINIO>
idmap config *:backend = tdb
idmap config *:range = 70001-80000
idmap config EXPOENTE:backend = ad
idmap config EXPOENTE:schema_mode = rfc2307
idmap config EXPOENTE:range = 500-40000
winbind nss info = rfc2307
winbind trusted domains only = no
winbind use default domain = yes
winbind enum users = no
winbind enum groups = no
[root@pfSense]/root: vi /etc/nsswitch.conf
group: files winbind
passwd: files winbind
[root@pfSense]/root: vi /etc/rc.conf
samba_server_enable="YES"
[root@pfSense]/root: samba-tool
[root@pfSense]/root: testparm
reboot pfSense ou
[root@pfSense]/root: /usr/local/etc/rc.d/samba_server start
[root@pfSense]/root: /usr/local/bin/net ads join -U <user>@DOMINIO.LOCAL
[root@pfSense]/root: wbinfo -t
[root@pfSense]/root: wbinfo -g
[root@pfSense]/root: wbinfo -u
[root@pfSense]/root: getent group
[root@pfSense]/root: getent password
[root@pfSense]/root: net ads info
[root@pfSense]/root: net ads testjoin