You are on page 1of 14

IPTABLES

RedHatEnterpriseLinuxcontieneherramientasavanzadasparaelfiltradodepaquetesderedel
procesodentrodelkerneldecontrolarlospaquetesderedalentrar,mientrassemuevenycuandosalen
delared.Loskernelsanterioresal2.4confiabanenipchainsparaelfiltradodepaquetesyusaban
listasdereglasaplicadasalospaquetesencadapasodelprocesodefiltrado.Laintroduccindekernel
2.4trajoconsigoiptables(tambinllamadonetfilter),locualessimilaraipchainsperoexpande
enormementeelmbitoyelcontroldisponibleparaelfiltradodepaquetesdered.
Estecaptulosecentraenlasbasesdelfiltradoesencialdepaquetes,definelasdiferenciasentre
ipchainseiptables,explicalasdiferentesopcionesdisponiblesconcomandosiptablesy
muestracmosepuedenpreservarlasreglasdefiltradodurantereiniciosdelsistema.
Parainstruccionessobrecmoconstruirreglasiptablesoconfiguraruncortafuegos(firewallen
ingls)basadoenestasreglas,consultelaSeccin7
Aviso
Elmecanismopredeterminadodelcortafuegosenlaversin2.4delkernelesiptables,pero
stenosepuedeusarsiyaseestejecutandoipchains.Siipchainsestpresentedurante
elarranque,elkernelemitirunerrorynopodrarrancariptables.

Estoserroresnoafectanlafuncionalidaddelcomandoipchains.

1.Filtradodepaquetes
ElkerneldeLinuxtieneincorporadolacaractersticainternadefiltrarpaquetes,permitiendoaceptar
algunosdeellosenelsistemamientrasqueinterceptayparaaotros.Elnetfilterdelkerneltienetres
tablasolistasdereglasincorporadas.Sonlassiguientes:

filterLatablapordefectoparaelmanejodepaquetesdered.

nat Usada para alterar paquetes que crean una nueva conexin y utilizada para la
Traduccindedireccionesdered(NetworkAddressTranslation,NAT).

mangleUsadaportiposespecficosdealteracindepaquetes.
Sugerencia

Ademsdeestastablasincorporadas,sepuedencreartablasespecializadasyalmacenarlasen
eldirectorio/lib/modules/<kernelversion>/kernel/net/ipv4/netfilter/,donde<kernel-version>
correspondealnmerodelaversindelkernel.

Cadaunadeestastablastieneungrupodecadenasincorporadasquecorrespondenalasacciones
llevadasacaboporelfiltrodelared.

Lascadenasinternasparalatablafiltrosonlassiguientes:

INPUTAplicaalospaquetesrecibidosatravsdeunainterfazdered.

OUTPUTEstacadenasirveparapaquetesenviadospormediodelamismainterfazdered
querecibilospaquetes.

FORWARDEstacadenasirveparapaquetesrecibidosenunainterfazderedyenviadosen
otra.

Lascadenasinternasparalatablanatsonlassiguientes:

PREROUTINGAlteralospaquetesderedcuandoestosllegan.

POSTROUTINGEstacadenaalterapaquetesantesdequeseanenviadospormediodeuna
interfazdered.

POSTROUTINGAlteralospaquetesderedcuandoestossonenviados.

PREROUTINGEstacadenaalterapaquetesrecibidospormediodeunainterfazderedcuando
llegan.

OUTPUTEstacadenaalterapaquetesgeneradoslocalmenteantesdequeseandirigidospor
mediodeunainterfazdered.

POSTROUTINGEstacadenaalterapaquetesantesdequeseanenviadospormediodeuna
interfazdered.

Lascadenasinternasparalatablamanglesonlassiguientes:

PREROUTINGEstacadenaalterapaquetesrecibidospormediodeunainterfazderedantes
dequeseandirigidos.

POSTROUTINGAlteralospaquetesderedcuandoestossonenviados.

CadapaquetederedrecibidooenviadodesdeunsistemaLinuxestsujetoaalmenosunatabla.Sin
embargo,unpaquetepuedeestarsometidoamltiplesreglasdentrodecadatablaantesdeemergeral
finaldelacadena.Laestructuraypropsitodeestasreglaspuedevariar,peronormalmentebuscan
identificarunpaquetequevienedeosedirigehaciaunadirecccinIPenparticular,ounconjuntode
direcciones,cuandoutilizaundeterminadoprotocoloyserviciodered.
Nota

Noutilicenombresdedominiocompletosenlasreglasdelcortafuegosqueseguardanenlos
archivos/etc/sysconfig/iptableso/etc/sysconfig/ip6tables.Enel
ejemplosiguiente:iptables -A FORWARD -s example.com -i eth0 -j DROP
example.comnoesvlidoporqueelservicioiptablescomienzaantesdecualquier
servicioDNSrelacionado,loqueproduceunerror.SolamentelasdireccionesIPsonvlidas
paralacreacindereglasdecortafuegos.

Independientementedesudestino,cuandounpaquetecumpleunareglaenparticularenunadelas
tablas,selesaplicaunobjetivo(target)oaccinaellos.SilareglaespecificaunobjetivoACCEPTpara
unpaquetequecoincida,elpaquetesesaltaelrestodelasverificacionesdelareglaysepermiteque
continehaciasudestino.SiunareglaespecificaunobjetivoDROP,aesepaqueteseleniegaelacceso
alsistemaynoseenvanadadevueltaalservidorqueenvielpaquete.Siunareglaespecificaun

objetivoQUEUE,elpaquetesepasaalespaciodelusuario.Siunareglaespecificaelobjetivoopcional
REJECT,elpaqueteesdescartado,peroseenvaunpaquetedeerroralqueenvielpaquete.
CadacadenatieneunapolticapordefectodeACCEPT,DROP,REJECT,oQUEUE.Siningunadeestas
reglasenlacadenaseaplicanalpaquete,entonceselpaqueteestratadodeacuerdoalapolticapor
defecto.
Elcomandoiptablesconfiguraestastablas,ascomotambinconfiguranuevastablassies
necesario.

2.Diferenciasentreiptableseipchains
Aprimeravista,ipchainsyiptablesparecenserbastantesimilares.Ambosmtodosdefiltrado
depaquetesusancadenasdereglasoperandodentrodelkerneldeLinuxparadecidirquhacerconlos
paquetesquecumplendeterminadasreglas.Sinembargo,iptablesproporcionaunmtodomucho
msextensibledefiltradodepaquetes,proporcionandoaladministradorunniveldecontrolmuchoms
refinadosintenerqueaumentarlacomplejidaddelsistemaentero.
Msconcretamente,losusuariosqueseencuentrencmodosconipchainsdeberantenercuidado
conlassiguientesdiferenciassignificativasentreipchainseiptablesantesdeutilizar
iptables:

Bajoiptables,cadapaquetefiltradoseprocesanicamenteusandolasreglasdeuna
cadenasolamente,enlugardehacerseconmltiples.Porejemplo,unpaqueteFORWARDque
llegaalsistemausandoipchainstendrquepasarporlascadenasINPUT,FORWARD,y
OUTPUTparallegarasudestino.Sinembargo,iptablessloenvapaquetesalacadena
INPUTsisudestinoeselsistemalocalytanslolosenvaalacadenaOUTPUTsielsistema
localesquiengeneralospaquetes.Porestarazn,esimportantequecoloquelaregladesignada
paracapturarunpaqueteparticulardentrodelareglaqueenverdadmanejaelpaquete.

ElobjetivoDENYhasidocambiadoaDROP.Enipchains,lospaquetesquecoincidanuna
reglaenunacadenapodranserdirigidosalobjetivoDENY.Esteobjetivodebesercambiadoa
DROPbajoiptables.

Elordenesimportantecuandoseestencolocandoopcionesenunaregla.Anteriormente,con
ipchains,elordendelasopcionesdeunareglanoimportaba.Elcomandoiptablesusa
unasintaxismsestricta.Encomandosiptables,elprotocol(ICMP,TCPoUDP)debeser
especificadoantesdelpuertofuenteodestino.

Cuandoespecificamoslasinterfacesderedquevamosausarenunaregla,deberemosutilizar
slointerfacesdeentrada(opcin-i)concadenasINPUToFORWARDylasdesalida
(opcin-o)concadenasFORWARDoOUTPUT.Estoesnecesariodebidoalhechodequelas
cadenasOUTPUTnoseutilizanmsconlasinterfacesdeentrada,ylascadenasINPUTnoson
vistasporlospaquetesquesemuevenhacialasinterfacesdesalida.

Estanoesunalistacompletadeloscambios,dadoqueiptablesesfundamentalmenteunfiltrode
redreescrito.Parainformacinmsespecifica,consulteLinuxPacketFilteringHOWTOmencionado
enlaSeccin7.

3.Opcionesusadasencomandosiptables
Lasreglasparaelfiltradodepaquetesseponenenfuncionamientoejecutandoelcomandoiptables.
Confrecuenciaseutilizanlosaspectossiguientesdelpaquetecomoelcriterio:

TipodepaqueteDictaqutipodepaquetesfiltraelcomando.

Fuente/DestinodelpaqueteEspecificaculespaquetesfiltraelcomandobasndoseenel
origenodestinodelpaquete.

ObjetivoIndicaquaccinestomadaenpaquetesquecumplenloscriteriosmencionados
anteriormente.

Paramsinformacinsobreopcionesespecficasqueresuelvenestosaspectosdeunpaquete,consulte
laSeccin3.4ylaSeccin3.5.
Lasopcionesusadasconlasreglasiptablesdadasdebenestaragrupadaslgicamente,basndoseen
elpropsitoyenlascondicionesdelareglageneral,paraquelareglaseavlida.Elrestodeesta
seccinexplicalasopcionesusadascomnmenteparaelcomandoiptables.

3.1.Estructuradelasopcionesiptables
Muchoscomandosiptablestienenlasiguienteestructura:
iptables [-t <table-name>] <command> <chain-name> <parameter-1> \
<option-1> <parameter-n> <option-n>

Laopcin<table-name>permitealusuarioseleccionarunatabladiferentealatabla
predeterminadafilterausarconelcomando.Laopcin<command>indicaunaaccinespecfica
arealizar,talcomoanexaroeliminarlareglaespecificadaporlaopcin<chain-name>.Luegodela
opcin<chain-name>seencuentranunpardeparmetrosyopcionesquedefinenqupasar
cuandounpaquetecoincideconlaregla.
Cuandomiramoslaestructuradeuncomandoiptables,esimportanterecordarque,alcontrarioque
lamayoradeloscomandos,lalongitudycomplejidaddeuncomandoiptablespuedecambiaren
funcindesupropsito.Uncomandoparaborrarunaregladeunacadenapuedesermuycorto,
mientrasqueuncomandodiseadoparafiltrarpaquetesdeunasubredparticularusandounconjuntode
parmetrosespecficosyopcionespuedesermuchomslargo.Alcrearcomandosiptablespuede
serdeayudareconocerquealgunosparmetrosyopcionespuedencrearlanecesidaddeutilizarotros
parmetrosyopcionesparaespecificarmsanlapeticindelaopcinanterior.Paraconstruiruna
reglavlida,estodebercontinuarhastaquetodoslosparmetrosyopcionesquerequieranotro
conjuntodeopcioneshayansidosatisfechos.
Escribaiptables -hparaverunalistadetalladadelaestructuradeloscomandosiptables.

3.2.Opcionesdecomandos
Lasopcionesdecomandosledicenaiptablesquerealiceunaaccinespecfica.Solamenteuna
opcindecomandosepermiteporcomandoiptables.Exceptoelcomandodeayuda,todoslos
comandosseescribenenmaysculas.

Loscomandosdeiptablessonlossiguientes:

-AAadelareglaiptablesalfinaldelacadenaespecificada.Esteeselcomando
utilizadoparasimplementeaadirunareglacuandoelordendelasreglasenlacadenano
importa.

-CVerificaunareglaenparticularantesdeaadirlaenlacadenaespecificadaporelusuario.
Estecomandopuedeserdeayudaparaconstruirreglasiptablescomplejaspidindoleque
introduzcaparmetrosyopcionesadicionales.

-DBorraunaregladeunacadenaenparticularpornmero(comoel5paralaquintaregla
deunacadena).Puedetambinteclearlareglaenteraeiptablesborrarlareglaenlacadena
quecorresponda.

-ERenombraunacadenadefinidaporelusuario.Estonoafectalaestructuradelatabla.

-FLiberalacadenaseleccionada,queborracadaregladelacadena.Sinoseespecifica
ningunacadena,estecomandoliberacadaregladecadacadena.

-hProporcionaunalistadeestructurasdecomandos,ascomotambinunresmenrpido
deparmetrosdecomandosyopciones.

-IInsertaunareglaenunacadenaenunpuntoespecificadoporunvalorenterodefinidopor
elusuario.Sinoseespecificaningnnmero,iptablescolocarelcomandoeneltopedela
cadena.
Atencin

Tengaencuentaquealutilizarlasopciones-Ao-Ielordendelasreglasdentrode
unacadenaesimportanteparadeterminarculreglaaplicaaculespaquetes.

-LListatodaslasreglasdelacadenaespecificadatraselcomando.Paraverunalistade
todaslasreglasentodaslascadenasenlatablapordefectofilter,noespecifiqueninguna
cadenaotabla.Delocontrario,lasintaxissiguientedeberutilizarseparalistarlasreglasen
unacadenaespecficaenunatablaenparticular:
iptables -L <chain-name> -t <table-name>

EnlaSeccin3.6sedescribenopcionesadicionalesparalaopcindecomando-L,que
proporcionannmerosdereglasypermitendescripcionesmsdetalladas.

-NCreaunanuevacadenaconunnombreespecificadoporelusuario.

-PConfiguralapolticapordefectoparaunacadenaenparticular,detalformaque,cuando
lospaquetesatraviesenlacadenacompletasincumplirningunaregla,sernenviadosaun
objetivoenparticular,comopuedanserACCEPToDROP.

-RReemplazaunareglaenunacadenaparticular.Elnmerodelaregladebeser
especificadodespusdelnombredelacadena.Laprimerareglaenunacadenacorrespondeala
reglanmerouno.

-XBorraunacadenaespecificadaporelusuario.Nosepermiteborrarningunadelas
cadenaspredefinidasparacualquiertabla.

-ZPonecerosenloscontadoresdebyteydepaqueteentodaslascadenasdeunatablaen

particular.

3.3.Opcionesdeparmetrosdeiptables
Unavezqueseespecifiquenciertoscomandosiptables,incluyendoaquellosparaaadir,anexar,
eliminar,insertaroreemplazarreglasdentrodeunacadena,serequierenparmetrosparaconstruiruna
regladefiltradodepaquetes.

-cResetealoscontadoresdeunareglaenparticular.Esteparmetroaceptalasopciones
PKTSyBYTESparaespecificarqucontadorhayqueresetear.

-dConfiguraelnombredelamquinadestino,direccinIPoreddeunpaqueteque
coincideconlaregla.Cuandosecoincidaunared,sesoportanlossiguientesformatosde
direccionesIPomscarasdered:

N.N.N.N/M.M.M.MDondeN.N.N.NeselrangodedireccionesIPyM.M.M.M
eslamscaradelared.

N.N.N.N/MDondeN.N.N.NeselrangodedireccionesIPyMeslamscarade
bit.

-fAplicaestareglasloalospaquetesfragmentados.
Usandolaopcin!despusdeesteparmetro,nicamenteseharncoincidirlospaquetesno
fragmentados.

-iConfiguralainterfazderedentrante,talcomoeth0oppp0.Coniptables,este
parmetroopcionalpuedeserusadosolamenteconlascadenasINPUTyFORWARDcuandoes
usadoconlatablafilterylacadenaPREROUTINGconlastablasnatymangle.
Esteparmetrotambinsoportalassiguientesopcionesespeciales:

Elcarcterdeexclamacin!Invierteladirectriz,esdecir,seexcluyedeestaregla
cualquierinterfazespecificada.

Elcarterdesuma+Uncaractertipocomodnutilizadoparacoincidirtodaslas
interfacesconunacadenadecaracteresespecificada.Porejemplo,elparmetro-i
eth+aplicarestareglaacualquierinterfazEthernetperoexcluircualquierotra
interfaz,talcomo,ppp0.

Sielparmetro-iseutilizasinespecificarningunainterfaz,todaslasinterfacesestarn
afectadasporlaregla.

-jSaltaaunobjetivoparticularcuandounpaquetecoincideconunareglaparticular.Los
objetivosvlidosausardespusdelaopcin-jincluyenlasopcionesestndar(ACCEPT,
DROP,QUEUEyRETURN)ascomotambinlasopcionesextendidasqueestndisponiblesa
travsdelosmduloscargadospordefectoconelpaqueteRPMdeRedHatEnterpriseLinux
iptables,comoLOG,MARKyREJECT,entreotros.Consultelapginadelmanualde
iptablesparamsinformacinsobreestoyotrosobjetivos.
Puedetambindirigirunpaquetecoincidiendoestareglaaunacadenadefinidaporelusuario
fueradelacadenaactual,paraaplicarotrasreglasalpaquete.
Sinoespecificaningnobjetivo,elpaquetepasalareglasinllevaracaboningunaaccin.A

pesardetodo,elcontadorparaestareglasesigueincrementandoenuno.

-oConfiguralainterfazdereddesalidaparaunareglaypuedeserusadasolamenteconlas
cadenasOUTPUTyFORWARDenlatabladefiltroylacadenaPOSTROUTINGenlas
tablasnatymangle.Estosparmetrosdeopcionessonlosmismosqueaquellosdelainterfaz
deentrada(-i).

-pConfiguraelprotocoloIPparalaregla,elcualpuedesericmp,tcp,udp,oall,para
coincidirtodoslosprotocolossoportados.Adems,sepuedeusarcualquierprotocololistadoen
/etc/protocols.Siestaopcinesomitidacuandoseestcreandounaregla,laopcinall
eslaopcinpordefecto.

-sConfiguralafuenteparaunpaqueteparticularusandolamismasintaxisqueelparmetro
(-d).

3.4.Opcionesdecoincidenciaparaiptables
Diferentesprotocolosderedproporcionanopcionesespecializadaslascualessepuedenconfigurarpara
coincidirunpaqueteparticularusandoeseprotocolo.Sinembargo,primerosedebeespecificarel
protocoloenelcomandoiptables.Porejemplo,-p tcp <protocol-name>(donde
<protocol-name>eselprotocoloobjetivo),hacedisponibleslasopcionesparaeseprotocolo
especificado.

18.3.4.1.ProtocoloTCP
EstasopcionesdeidentificacinestndisponiblesenelprotocoloTCP(opcin-p tcp):

--dportConfiguraelpuertodedestinoparaelpaquete.Usebienseaunnombrede
servicio(talcomowwwosmtp),nmerodepuerto,oelrangodenmerosdepuertospara
configurarestaopcin.Parahojearlosnombresyaliasdelosserviciosderedylosnmerosque
ellosusan,visualiceelarchivo/etc/services.Laopcin--destination-portes
sinnimocon--dport.
Paraespecificarunrangodenmerosdepuertos,separelosdosnmeroscondospuntos(:),tal
como-p tcp --dport 3000:3200.Elrangomsgrandeaceptablees0:65535.
Useuncaracterdeexclamacin(!)despusdelaopcin--dportparacoincidirtodoslos
paquetesquenoutilizanelservicioderedopuerto.

--sportConfiguraelpuertofuentedelpaqueteusandolasmismasopcionesque
--dport.Laopcin--source-portessinnimocon--sport.

--synProvocaquetodoslospaquetesdesignadosdeTCP,comnmentellamadospaquetes
SYN,cumplanestaregla.Cualquierpaquetequeestllevandounpayloaddedatosnoser
tocado.Sisesitaunpuntodeexclamacin(!)comobanderatraslaopcin--synseprovoca
quetodoslospaquetesnoSYNseanseleccionados.

--tcp-flagsPermitealospaquetesTCPconbitsespecficosobanderas,sercoincididos
conunaregla.Laopcin--tcp-flagsaceptadosparmetros.Elprimerparmetroesla
mscara,lacualconfigurabanderasaserexaminadasenelpaquete.Elsegundoparmetrose
refierealabanderaquesedebeconfigurarparapodercoincidir.

Lasbanderasposiblesson:

ACK

FIN

PSH

RST

SYN

URG

ALL

NONE

Porejemplo,unareglaiptablesquecontenga-p tcp --tcp-flags ACK,FIN,SYN


SYNtansloseleccionarlospaquetesTCPquetenganlabanderaSYNactivoylasbanderas
ACKyFINsinactivar.
Usandoelcaracterdeexclamacin(!)despusde--tcp-flagsreversaelefectodela
opcindecoincidencia.

--tcp-optionIntentaseleccionarconopcionesespecficasdeTCPquepuedenestar
activasenunpaqueteenparticular.Estaopcinsepuederevertirconelpuntodeexclamacin
(!).

3.4.2.ProtocoloUDP
EstasopcionesdeseleccinestndisponiblesparaelprotocoloUDP(-p udp):

--dportEspecificaelpuertodestinodelpaqueteUDP,usandoelnombredelservicio,
nmerodepuerto,orangodenmerosdepuertos.Laopcindecoincidencia
--destination-portessinnimocon--dport.

--sportConfiguraelpuertofuentedelpaqueteUDP,usandoelnombredepuerto,nmero
depuertoorangodenmerosdepuertos.Laopcin--source-portessinnimocon
--sport.

3.4.3.ProtocoloICMP
LassiguientesopcionesdecoincidenciaestndisponiblesparaelProtocolodemensajesdeInternet
(ICMP)(-p icmp):

--icmp-typeSeleccionaelnombreoelnmerodeltipoICMPqueconcuerdeconla
regla.SepuedeobtenerunalistadenombresvlidosICMPtecleandoelcomandoiptables
-p icmp -h.

3.4.4.Mdulosconopcionesdecoincidenciasadicionales
Opcionesadicionalesdecoincidenciaestndisponiblesatravsdelosmdulosporelcomando
iptables.Parausarunmdulodeopcionesdecoincidencia,cargueelmdulopornombreusandola
opcin-m,talcomo-m <module-name>(reemplazando<module-name>conelnombredel

mdulo).
Ungrannmerodemdulosestndisponiblespordefecto.Hastaesposiblecrearsusmdulospara
proporcionarfuncionalidadesdeopcionesdecoincidenciaadicionales.
Losiguiente,esunalistaparcialdelosmdulosusadosmscomnmente:

limitmodulePermitecolocarunlmiteencuntospaquetessoncoincididosaunaregla
particular.EstoesespecialmentebeneficiosocuandoseusaenconjuntoconelobjetivoLOG,
puespuedeprevenirqueunainundacindepaquetescoincidentessobrecarguenelregistrodel
sistemaconmensajesrepetitivosousenlosrecursosdelsistema.Paramsinformacinsobreel
objetivoLOG,refirasealaSeccin3.5.
Elmdulolimithabilitalasopcionessiguientes:

--limitConfiguraelnmerodecoincidenciasenunintervalodetiempo,
especificadoconunnmeroyunmodificadordetiempoordenadosenelformato
<nmero>/<tiempo>.Porejemplo,siusamos--limit 5/hourslodejaremos
queunareglaseaefectivacincovecesalahora.
Sinoseutilizaningnnmeronimodificadordetiempo,seasumeelsiguientevalorpor
defecto:3/hour.

--limit-burstConfiguraunlmiteenelnmerodepaquetescapacesdecumplir
unareglaenundeterminadotiempo.Estaopcindeberserusadajuntoconlaopcin
--limit,yaceptaunnmeroparaconfigurarelintervalodetiempo(threshold).
Sinoseespecificaningnnmero,tanslocincopaquetesserncapacesinicialmentede
cumplirlaregla.

mdulostateHabilitalacoincidenciadeestado.
Elmdulostatetienelassiguientesopciones:

--statecoincideunpaqueteconlossiguientesestadosdeconexin:

ESTABLISHEDElpaqueteseleccionadoseasociaconotrospaquetesenuna
conexinestablecida.

INVALIDElpaqueteseleccionadonopuedeserasociadoaunaconexin
conocida.

NEWElpaqueteseleccionadoobienestcreandounanuevaconexinobien
formapartedeunaconexindedoscaminosqueantesnohabasidovista.

RELATEDElpaqueteseleccionadoestiniciandounanuevaconexinenalgn
puntodelaconexinexistente.

Estosestadosdeconexinsepuedenutilizarencombinacinconotrosseparndolos
mediantecomascomoen-m state --state INVALID, NEW.

mdulomacHabilitalacoincidenciadedireccionesMACdehardware.
Elmdulomacactivalasopcionessiguientes:

--mac-sourceCoincideunadireccinMACalatarjetaderedqueenviel
paquete.ParaexcluirunadireccinMACdelaregla,coloqueunsmbolodeexclamacin
(!)despusdelaopcin--mac-source.

Paravisualizarotrasopcionesdisponiblesatravsdelosmdulos,consultelapginadelmanualde
iptables.

3.5.Opcionesdelobjetivo
Unavezqueunpaquetehacoincididoconunaregla,lareglapuededirigirelpaqueteaunnmerode
objetivosdiferentesquedecidensusuertey,posiblemente,tomanaccionesadicionales.Cadacadena
tieneunobjetivopordefecto,elcualesusadosiningunadelasreglasenesacadenacoincidenconun
paqueteosiningunadelasreglasquecoincidenconelpaqueteespecificaunobjetivo.
Lossiguientessonlosobjetivosestndar:

<user-defined-chain>Reemplace<user-defined-chain>conelnombrede
unacadenadefinidaporelusuariodentrodelatabla.Esteobjetivopasaelpaquetealacadena
objetivo.

ACCEPTPermitequeelpaquetesemuevahaciasudestino(ohaciaotracadena,sinohasido
configuradoningndestinoparaseguiraestacadena).

DROPDejacaerelpaquetesinresponderalsolicitante.Elsistemaqueenviaelpaquetenoes
notificadodeestafalla.

QUEUEElpaqueteseponeenunacolaparasermanejadoporunaaplicacinenelespaciode
usuario.

RETURNParalaverificacindelpaquetecontralasreglasdelacadenaactual.Sielpaquete
conundestinoRETURNcumpleunaregladeunacadenallamadadesdeotracadena,elpaquete
esdevueltoalaprimeracadenapararetomarlaverificacindelareglaalldondesedej.Sila
reglaRETURNseutilizaenunacadenapredefinida,yelpaquetenopuedemoversehaciala
cadenaanterior,elobjetivopordefectodelacadenaactualdecidequaccinllevaracabo.

Ademsdeestosobjetivosstandard,sepuedenusarotrosmsconextensionesllamadasmdulosde
objetivos(targetmodules).Paraobtenermsinformacinsobrelosmdulosdeopcionesde
coincidencias,mireenlaSeccin3.4.4.
Existenvariosmdulosextendidosdeobjetivos,lamayoradeloscualestansloseaplicanatablaso
situacionesespecficas.Unpardeestosmdulos,delosmspopulareseincluidospordefectoenRed
HatEnterpriseLinuxson:

LOGRegistratodoslospaquetesquecoincidenestaregla.Puestoquelospaquetesson
registradosporelkernel,elarchivo/etc/syslog.confdeterminadndeestasentradasde
registrosernescritas.Pordefecto,soncolocadasenelarchivo/var/log/messages.
SepuedenusarvariasopcionesadicionalestraselobjetivoLOGparaespecificarlamaneraenla
quetendrlugarelregistro:

--log-levelConfiguraelniveldeprioridaddelregistrodeeventos.Unalistade
losnivelesdeprioridadsepuedeencontrarenlapginadelmanualdesyslog.conf.

--log-ip-optionsCualquieropcinenlacabeceradeunpaqueteIPseguardaen
elregistro.

--log-prefixColocaunacadenadehasta29caracteresantesdelalneade
registrocuandoesescrita.Estoesmuytilparalaescrituradefiltrosdesyslogpara

usarlosenconjuntoconelregistrodepaquetes.

--log-tcp-optionsCualquieropcincolocadaenlacabeceradeunpaquete
TCPesregistrada.

--log-tcp-sequenceEscribeelnmerodesecuenciaTCPdelpaqueteenel
registrodelsistema.

REJECTEnviaunpaquetedeerrordevueltaalsistemaremotoydejacaerelpaquete.
ElobjetivoREJECTacepta--reject-with <tipo>(donde<tipo>eseltipode
rechazo)elcualpermitedevolverinformacinmsdetalladaconelpaquetedeerror.Elmensaje
port-unreachableesel<tipo>deerrorpordefectodadosinoseusaotraopcin.Para
unalistacompletadelos<tipo>sdeopcionesquesepuedenusar,consultelapginadel
manualdeiptables.

Otrasextensionesdeobjetivos,incluyendomuchasquesontilesparaelenmascaramientodeIP
usandolatablanatoconalteracindepaquetesusandolatablamangle,sepuedeencontrarenla
pginadelmanualdeiptables.

3.6.Opcionesdelistado
Elcomandopredeterminadoparalistar,iptables -L,proporcionaunavistamuybsicadelos
filtrospordefectodelascadenasactualesdelatabla.Lasopcionesadicionalesproporcionanms
informacin:

-vMuestralasalidaporpantallacondetalles,comoelnmerodepaquetesybytesquecada
cadenahavisto,elnmerodepaquetesybytesquecadareglahaencontradoyquinterfacesse
aplicanaunareglaenparticular.

-xExpandelosnmerosensusvaloresexactos.Enunsistemaocupado,elnmerodepaquetes
ybytesvistosporunacadenaenconcretooporunareglapuedeestarabreviadousandoK
(miles),M(millones),yG(billones)detrsdelnmero.Estaopcinfuerzaaquesemuestreel
nmerocompleto.

-nMuestralasdireccionesIPylosnmerosdepuertosenformatonumrico,enlugarde
utilizarelnombredelservidorylaredtalycomosehacepordefecto.

--line-numbersProporcionaunalistadecadacadenajuntoconsuordennumricoenla
cadena.Estaopcinpuedesertilcuandoestintentandoborrarunareglaespecficaenuna
cadenaolocalizardndeinsertarunareglaenunacadena.

-tEspecificaunnombredetabla.

4.Guardarreglasiptables
Lasreglascreadasconelcomandoiptablessonalmacenadasenmemoria.Sielsistemaes
reiniciadoantesdeguardarelconjuntodereglasiptables,seperderntodaslasreglas.Paraquelas
reglasdefiltradoderedpersistanluegodeunreiniciodelsistema,estasnecesitanserguardadas.Para
hacerlo,conctesecomorootyescriba:

/sbin/service iptables save

Estoejecutaelscriptdeinicioiptables,elcualejecutaelprograma/sbin/iptables-savey
escribelaconfiguracinactualdeiptablesa/etc/sysconfig/iptables.Elarchivo/etc/
sysconfig/iptablesexistenteesguardadocomo/etc/sysconfig/iptables.save.
Laprximavezqueseinicieelsistema,elscriptdeiniciodeiptablesvolveraaplicarlasreglas
guardadasen/etc/sysconfig/iptablesusandoelcomando/sbin/iptables-restore.
Ancuandosiempreesunabuenaideaprobarunaregladeiptablesantesdeconfirmarloscambios
alarchivo/etc/sysconfig/iptables,esposiblecopiarreglasiptablesenestearchivo
desdeotraversindelsistemadeestearchivo.Estoproporcionaunaformarpidadedistribuir
conjuntosdereglasiptablesamuchasmquinas.
Importante
Siseestdistribuyendoelarchivo/etc/sysconfig/iptablesaotrasmquinas,escriba
/sbin/service iptables restartparaquelasnuevasreglastomenefecto.

5.Scriptsdecontroldeiptables
HaydosmtodosbsicosparacontrolariptablesbajoRedHatEnterpriseLinux:

Herramientadeconfiguracindeniveldeseguridad(system-configsecuritylevel)Unainterfazgrficaparacrear,activaryguardarreglasbsicasde
cortafuegos.Paramsinformacinsobrecomoutilizarestaherramienta,consulteelcaptulo
llamadoConfiguracinbsicadelcortafuegosenelManualdeadministracindelsistemade
RedHatEnterpriseLinux.

/sbin/service iptables <opcion>Uncomandoejecutadoporelusuarioroot


capazdeactivar,desactivaryllevaracabootrasfuncionesdeiptablesatravsdesuscript
deinicio.Reemplace<opcion>enelcomandoconalgunadelasdirectivassiguientes:

startSisetieneuncortafuegosofirewall(esdecir,
/etc/sysconfig/iptablesexiste),todoslosiptablesenejecucinson
detenidoscompletamenteyluegoarrancadosusandoelcomando/sbin/iptablesrestore.Ladirectrizstartslofuncionarsinosecargaelmdulodelkernel
ipchains.

stopSielcortafuegosestenejecucin,sedescartanlasreglasdelcortafuegosque
seencuentranenmemoriaytodoslosmdulosiptablesyayudantessondescargados.
SisecambialadirectivaIPTABLES_SAVE_ON_STOPdentrodelarchivode
configuracin/etc/sysconfig/iptables-configdesuvalorpordefectoa
yes,seguardanlasreglasactualesa/etc/sysconfig/iptablesycualquier
reglaexistentesemoveralarchivo/etc/sysconfig/iptables.save.
Paramsinformacinsobreelarchivodeconfiguraciniptables-config,refirase
aSeccin5.1.

restartSielcortafuegosestenejecucin,lasreglasdelmismoqueseencuentran
enmemoriasedescartanysevuelvaainiciarelcortafuegossiestconfiguradoen
/etc/sysconfig/iptables.Ladirectrizrestartslofuncionarsinoest
cargadoelmdulodelkernelipchains.
SiladirectivaIPTABLES_SAVE_ON_RESTARTdentrodelarchivodeconfiguracin/
etc/sysconfig/iptables-configsecambiadesuvalorpordefectoayes,las
reglasactualessonguardadasa/etc/sysconfig/iptablesycualquierregla
existentesemovernalarchivo/etc/sysconfig/iptables.save.
Paramsinformacinsobreelarchivodeconfiguraciniptables-config,refirase
aSeccin5.1.

statusImprimeelestadodelcortafuegosunalistadetodaslasreglasactivasal
indicadordecomandos.Sinosecarganoconfiguranreglasdelcortafuegos,tambin
indicaestehecho.
Unalistadelasreglasactivas,conteniendodireccionesIPdentrodelistasdereglasa
menosqueelvalorpordefectoparaIPTABLES_STATUS_NUMERICseacambiadoa
nodentrodelarchivodeconfiguracin/etc/sysconfig/iptables-config.
ConsultelaSeccin5.1paramsinformacinsobreelarchivoiptables-config.

panicDescartatodaslasreglasdelcortafuegos.Lapolticadetodaslastablas
configuradasestestablecidaaDROP.

saveGuardalasreglasdelcortafuegosa/etc/sysconfig/iptablesusando
iptables-save.Paramsinformacin,consultelaSeccin4.

Sugerencia
ParautilizarlosmismoscomandosinitscriptparacontrolarelfiltradodelaredparaIPv6,
sustituyaip6tablesporiptablesenloscomandos/sbin/servicelistadosenesta
seccin.ParamsinformacinsobreIPv6yelfiltradodered(netfilter),consultelaSeccin6.

5.1.Archivodeconfiguracindescriptsdecontroldeiptables
Elcomportamientodelosscriptsdeiniciodeiptablesescontroladoporelarchivodeconfiguracin
/etc/sysconfig/iptables-config.Acontinuacinsepresentaunalistadelasdirectivas
contenidasdentrodeestearchivo:

IPTABLES_MODULESEspecificaunalistaseparadaporespaciosdemdulosiptables
adicionalesacargarcuandoseactivauncortafuegos.Estopuedeincluirseguimientode
conexionesyayudantesNAT.

IPTABLES_MODULES_UNLOADLimpialosmdulosaliniciarodetenerse.Estadirectiva
aceptalosvaloressiguientes:

yesElvalorpordefecto.Estareglasedebeconfigurarparaquealcanceunestado
correctoparaeliniciooparadadelcortafuegos.

noEstaopcinsolamentedeberaserconfiguradasihayproblemasparalimpiarlos
mdulosdefiltradodepaquetesdered.

IPTABLES_SAVE_ON_STOPGuardalasreglasdelcortafuegosactualesa
/etc/sysconfig/iptablescuandosedetieneelcortafuegos.Estadirectivaaceptalos
valoressiguientes:

yesGuardalasreglasexistentesa/etc/sysconfig/iptablescuandese
detieneelcortafuegos,moviendolaversinanterioralarchivo
/etc/sysconfig/iptables.save.

noElvalorpordefecto.Noguardalasreglasexistentescuandosedetieneel
cortafuegos.

IPTABLES_SAVE_ON_RESTARTGuardalasreglasactualesdelcortafuegoscuandoeste
sereinicia.Estadirectivaaceptalosvaloressiguientes:

yesGuardalasreglasexistentesa/etc/sysconfig/iptablescuandose
reiniciaelcortafuegos,moviendolaversinanterioralarchivo
/etc/sysconfig/iptables.save.

noElvalorpordefecto.Noguardalasreglasexistentescuandosereiniciael
cortafuegos.

IPTABLES_SAVE_COUNTERGuardayrestauratodoslospaquetesycontadoresdebytes
entodaslascadenasyreglas.Estadirectivaaceptalosvaloressiguientes:

yesGuardalosvaloresdelcontador.

noElvalorpordefecto.Noguardalosvaloresdelcontador.

IPTABLES_STATUS_NUMERICMuestradireccionesIPenunasalidadeestadoenvezde
dominiosynombresdehost.Estadirectivaaceptalosvaloressiguientes:

yesElvalorpordefecto.SolamentedevuelvedireccionesIPdentrodeunasalidade
estado.

noDevuelvedominiosonombresdehostenlasalidadeestado.

6.ip6tablesyIPv6
Siestainstaladoelpaqueteiptables-ipv6,elfiltradodelaredbajoRedHatEnterpriseLinux
puedefiltrarlaprximageneracindelprotocolodeInternetIPv6.Elcomandoutilizadopara
manipularelfiltradodereddeIPv6esip6tables.Lamayoradelasdirectivasparaestecomando
sonidnticaaaquellasusadasporiptables,exceptoquelatablanatannoescompatible.Esto
significaquetodavanoesposiblerealizartareasdetraduccindedireccionesderedIPv6,talescomo
enmscaradoyreenviodepuertos.
Lasreglasguardadasparaip6tablessonalmacenadasenelarchivo
/etc/sysconfig/ip6tables.Lasreglasviejasguardadasporlosscriptsdeiniciode
ip6tablessonguardadasenelarchivo/etc/sysconfig/ip6tables.save.
Elarchivodeconfiguracinparalosscriptsdeiniciodeip6tableses
/etc/sysconfig/ip6tables-configylosnombresparacadadirectrizvarianligeramente.
Porejemplo,ladirectriziptables-configIPTABLES_MODULESesIP6TABLES_MODULES
enelarchivoip6tables-config.