Hosting tutorial: cum deschizi un port in iptables in linux

Sa presupunem urmatoriul scenariu: Avem un server pe care ruleaza CentOS 5.5 cu firewall activ folosind iptables si se permit standard doar conexiuni pe portul 22 (SSH). Cum facem sa deschidem porturile 80, 110, 143? Chiar daca serviciile respective sunt pornite, intr-o prima faza nu vom reusi sa ne conectam la server.

Iptables-ul stocheaza standard configuratia in fisierul /etc/sysconfig/iptables. Trebuie editat acest fisier si adaugate regulile necesare.

Cum deschidem porturile mai sus mentionate?

Se editeaza fisierul /etc/sysconfig/iptables folosind un editor (vi,vim, joe, pico, nano, etc).
# vim /etc/sysconfig/iptables

Regula pentru deschiderea portului 80
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

Regula pentru deschiderea portului 110
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 110 -j ACCEPT

Regula pentru deschiderea portului 143
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 143 -j ACCEPT

Salvam si inchidem fisierul, de exemplu folosind editorul vim acest lucru se face tastand Esc pentru a iesi din modul Insert si apoi se scrie :wq (comanda write si quit). Daca folositi nano atunci Ctrl + O sau Ctrl + x si apoi confirmati cu y salvarea. Apoi dam restart la iptables
# /etc/init.d/iptables restart

Alternativ se poate restarta iptables folosind comanda
# service iptables restart

Pentru a verifica daca portul este deschis folosim comanda:
# netstat -tulpn | less

Verificati daca iptables permite conectarea pe porturile 80, 110, 143
# iptables -L -n

Pentru mai multe informatii puteti consulta manualul iptables folosind syntaxa:
# man iptables