Publicare server dintr-o retea privata prin port forward

Configurare noua (How To)

Situatie

Daca vreti sa publicati un server web pe un server dintr-o retea privata unde se foloseste NAT, atunci va trebui sa folositi port forwarding.

Solutie

Pasi de urmat

Port forwarding este manipulat de chain-ul PREROUTING al tabelei nat. Ca si in mascaradare, modulul iptables_nat trebuie sa fie incarcat si rutarea sa fie activata ca port forwarding sa functioneze.

In iptables trebuie permisa rutarea cu ajutorul chain-ului FORWARD; aceasta include toate conexiunile NEW inbound din Internet care se potrivesc cu portul pentru port forwarding plus toate pachetele care tin de conexiunea deja ESTABLISHED in ambele directii.

#—————————————————————
# Incarca modulul NAT
#—————————————————————

modprobe iptable_nat

#———————
#Definirea interfetei externe si al IP-ului extern

external_int=”eth0″
external_ip=”Treceti aici adresa IP externa”

#———————
# Activeaza rutarea pachetelor prin modificarea fisierului ip_forward din /proc
#———————


echo 1 > /proc/sys/net/ipv4/ip_forward

#———————
# Permite port forwarding pentru traficul destinat portului 80 de pe firewall
# sa fie redirectionat catre portul 8080 de pe serverul cu adresa IP 192.168.1.200
# – Interfata eth0 este catre internet
# – Interfata eth1 este catre reteaua interna
#———————

iptables -t nat -A PREROUTING -p tcp -i eth0 -d $external_ip \
-dport 80 -sport 1024:65535 -j DNAT -to 192.168.1.200:8080

#———————
# Dupa DNAT, pachetele sunt rutate prin chain-ul FORWARD al tabelei FILTER
#———————

iptables -A FORWARD -p tcp -i eth0 -o eth1 -d 192.168.1.200 \
-dport 8080 -sport 1024:65535 -m state -state NEW -j ACCEPT

iptables -A FORWARD -t filter -o eth0 -m state \
-state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -t filter -i eth0 -m state \
-state ESTABLISHED,RELATED -j ACCEPT

Tip solutie

Permanent

Voteaza

(6 din 15 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?