NAT (Network Address Translation) amb FreeBSD 6.0
20-12-2006 > Miquel CasanovasMostrar o escribir comentarios (dudas) sobre este artículo
Sistema:
FreeBSD 6.0 Release
Aquí escric una recepte de com fer NAT (Network Adress Translation) amb FreeBSD. En la versió <= 6.0 es necessari recompilar el kernel amb unes opcions específiques. Els procediment és molt curt però pot tardar una mica segons la CPU.
Primer de tot necessitem tenir les fonts del kernel. Sinó les tenim les podem descomprimir utilitzant SYSINSTALL
> sysinstall
accedir mitjançant el menú a --> post-configure --> distributions --> src --> sys (kernel fonts).
Procedim a crear un nou arxiu de configuració del kernel amb les opcions necessàries a partir del kernel Genèric:
> cd /usr/src/sys/i386/conf
> cp GENERIC MYKERNEL
> vim MYKERNEL (afegim:)
options IPFIREWALL
options IPFIREWALL_FORWARD
options IPDIVERT
Ja podem recompilar el kernel.
> /usr/sbin/config MYKERNEL
> cd ../compile/MYKERNEL
> make depend
> make
> make install
Per fer NAT, necessitarem l'ajut del firewall intern del freebsd, per tant, afegim el rc.conf:
> vim /etc/rc.conf
firewall_enable="YES"
firewall_type="/etc/firewall.rules"
firewall_logging="YES"
firewall_script="/etc/rc.firewall"
natd_program="/sbin/natd"
natd_flags="-config /etc/natd.conf"
natd_enable="YES"
natd_interface="ath0" #Interficie que farà NAT
Creem el arxiu firewall.rules i establim unes regles que permetin passar tot tipus de paquets d'una interfície a l'altre:
> vim /etc/firewall.rules (i afegim:)
-f flush
add divert natd all from any to any via ath0 #on ath0 és la interficie del NAT.
add pass all from any to any
També podem definir algun redireccionament de ports (port forwarding) per si volem que des de una xarxa externa puguin accedir a serveis d'alguna màquina interna.
> vim /etc/natd.conf (i afegim, per exemple)
redirect_port tcp 192.168.0.9:4664 4664
redirect_port udp 192.168.0.9:4665 4665
redirect_port tcp 192.168.0.125:4666 4666
redirect_port udp 192.168.0.125:4667 4667
*.- a la primera línia definim que qualsevol paquet TCP que arribi pel port 4664 ho reenviará al port 4664 de la maquina 192.168.0.9. Les sentencies definides poden ser més complexes segons les nostres necessitats.
Per últim assignem els permisos corresponents:
> chmod 777 /etc/rc.firewall /etc/firewall.rules
> reboot
Ja tenim actiu el NAT en el FreeBSD.
