Jump to content
!_30

Linux : iptables: in limba romana

Recommended Posts

Posted

Un mic tutorial celor nou veniti in acest domeniu , pe intelesul tuturor

service iptables stop/restart/status/start ( respectiv stoparea , restartarea statusu ( ce scrie prin cele trei tabele de decizi ) si pornirea iptables , bineinteles daca le avem compilate , instalate prin kernel).

Iptables sunt folosite pentur mai multe servici precum : translatare de adrese sursa sau destinatie (NAT) , port forwading sau pur si simplu rejectare sau forwadare de pachete .

Iptables folosesc default trei tabele : FILTER ( default table) , NAT si MANGLE.

FILTER : INPUT , OUTPUT , FORWARD.

NAT : PREROUTING , POSTROUTING,OUTPUT

MANGLE : PREROUTING , POSTROUTING , INPUT , OUTPUT

argumente folosite in structura comenzilor iptables

-t ( specifica tabelul folosit : NAT , MANGLE sau FILTER , daca nu este specificat nici un tabel se considera default FILTER).

-j ( pentru punerea anumitor concluzi , etc de genu : ACCEPT , REJECT , DROP , TTL)

-F ( sterge toate regulile din tabel),-L ( afiseaza toate reglule din tabel)

-A ( apendeaza regula , adica o pune la sfarsitul chainului respectiv cu reguli , chain este per example INPUT din tabelul FILTER).

-D ( sterge regula) -R ( modifica regula) , -I ( insereaza regula) , -Z ( reseteaza la zero counterele , cu erori , cu pachtete trimise , primite , etc) -N ( nou chain) , -X (sterge chain ),-E ( rename chain) , chain = un set de reguli

-p procotocol ( tcp , udp , icmp), -s sursa , -d destinatie , -i interfata de intrare , -o interfata de iesire

pentur a specifica un port sau o grupa de orturi de la un anumit protocol dintre cele specificate mai sus ( TCP, UDP , ICMP) -p tcp --sport 22 ( port sursa ) sau --dport 22 ( port destinatie) sau mai multe protocoale -p udp --sport 22:100 sau --dport 45:130

pentru detalii man iptables

pentru salvarea regulilor iptables-save -c -t ( din ce tabel vrem sa salvam) > fisier

pentru restore : iptables-restore -c < fisier

Pentru marcarea unei anumite adrese MAC :

iptables -A INPUT -m mac --mac-source ....... ( match pachete cu sursa MAC denumita)

DNAT : rescrie destinatia pachetului :

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.1 --dport 80 -j DNAT --to-destination 10.10.10.3

aceasta are rolul de a retrimite toate datele care vin la 192.168.1.1 ( presupunem ca asta e serverul ) , care vin pe portul 80 ( HTTP ) , la IP-ul 10.10.10.3 , normla ca tot la portul 80 ( se schimba din header numai IP-ul destinatie nu si portul , TCP care este la Layer 4 ).

SNAT : rescrie sursa IP pachetului :

iptables -t nat -A POSTROUTING -p tcp -o eth0 - SNAT --to-source 195.13.12.1

( este folosit atunci cand avem una sau mai multe adrese publice si dorim sa folosim mai multe computere odata pe Internet de cate IP-uri publice avem )

P.S. daca la --to-source 193.1.1.1-193.1.1.4 avem mai multe IP-uri publiceun stream de pachete va avea mereu acelasi IP sursa , insa acelasi host , nu va avea de fiecare data aceasi adresa sursa translatata.

SAME : rescrie sursa IP pachet :

ceva de genu SNAT ( insa va incerca ca acelasi host , sa aiba mereu aceasi adresa sursa trasnaltata in afara , cu acelasi IP public , spre deosebire de SNAT),P.S. aceasta regula se pune in tabelul mangle.

IPTABLES -t mangle -A PREROUTING -s 192.168.1.0/24 -j SAME --to 193.1.1.1-192.1.1.4 ( la fel ca la SNAT se pot translata cu unul sau mai multe IP-rui publice , IP-urile interne din reteaua privata).

MASQUERADE : rescrie sursa IP pachet :

tot ca SNAT , insa difera prin faptul ca SNAT , are de la inceput ''pe veci'' pana schimba regula --to-source un Ip sau mai multe . pe cand MASQUERADE se va uita mereu la configuratie sa vada cu ce IP sa faca transatarea ( procesul mai lent insa folsitor cand adresa publica cu care se face trasnalatarea se schimba des , si nu stam sa o schimbam si noi la fel de des , per example dial-up (PPP , SLIP ) , sau chiar DHCP )).

iptabables -t nat -A POSTROUTING -p tcp -j MASQUERADE

NETMAP : rescrie sursa IP pachet :

ceva de genu SNAT  , insa de aceasta data NAT se face unu la unu , default avem atatea IP-uri publice , cat private , ( bine , bine o sa spuneti , dar de ce nu punem ip-uri publice direct, sa zicem ca avem o retea de 10.000 de insi , stam sa schimbam la fiecare IP-uir , mai bine facem NETMAP , si se schimba 1:1 fiecare IP intern cu unul Public , asociat lui

-dinnou ca si la SAME , aceasta regula se pune in tabelul mangle :

iptables -t mangle -A PREROUTING -s 192.168.1.0/24 -j NETMAP --to 193.1.2.0/24

REDIRECT : redirecteaza pachete primite pe un anume port de LOCALHOST ,catre al port de pe LOCALHOST , spre deosebire de DNAT , care redirectioneaza pachete primite pe un anume prt de server , pe acelasi port pe alta masina.

iptables -t nat -A PREROUTING -p tcp -dport 80 -j REDIRECT --to-port 8080 ( redirectionaza toate pachetele primite de server e portul 80 pe portul 8080 de pe acelasi server ).

-j REJECT diferit fata de -j DROP , REJECT trimite si mesaj de eroare pe cand DROP , arunca pachetul fara sa mai trimita nici un mesaj de eroare

Daca aveti ISP-uri mai nesimtite , care vad ca folsoiti acelasi IP pe mai multe pc-uri ( dupa TTL stiti cand trece printr-un server , FW per example la noi care translateaza pachetele , schimba sursa sau destinatia pachetului se modifica TTL-ul default scade cu 1 ).

iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64 / --ttl-dec n / --ttl-inc n

prima regula modifa TTL-ul inapoi la 64 , cealalta scade TTL-ul cu n , si cealalta creste TTL-ul cu n

Deasemenea pentru a scapa , cum alti zic ''pingul morti'' cand se trimite d la un terminal 65000 de bytes pe secunda , putem sa numai aceptam aceste pachete ase de mari , defualt un pachet normal are de la 1400 la 150 de bytes :

iptables ... -m length --length 1400:1500 ( sunt aceptate numai pachete intre 1400 si 1500 de byte's).

Toate exemplele sunt demonstratii , pentru o ma buna functionare a acestui procedeu , nu ma fac responsabil pentru anumite greseli  . Bafta !

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...