router - forward portu zpet do vychozi site
Filip Jirsák
filip.jirsak na centrum.cz
Čtvrtek Červen 13 10:01:31 CEST 2002
Zdravim,
mam nasledujici usporadani: firewall se tremi sitovkami, jedna do
internetu a dve do dvou rouznych podsiti (ktere jsou
zamaskaradovane). Vnejsi rozhrani fw ma vlastni IP adresu
(1.2.3.4). Na tuto adresu je ale v DNS nastaven web a mail
server, ktery je ve skutecnosti umisten v jedne positi (a ja s
tim nic neudelam, spravuji jen firewall a druhou podist). Tj.
pozadavek na 1.2.3.4:80 se ma forwardovat na 192.168.1.20:80.
Forwardovani portu na firewallu mi funguje spravne pro pozadavky
z venku i z druhe site. Nefunguje ale pripad, kdy je pozadavek z
te same site, kde je umisten web a mail server - tj. ma
probehnout to, ze prijde paket z vnitrni site, udela se na nem
DNAT a odesle se zpet do puvodni site (rozhranim, kterym prisel).
Jenze to nefunguje. Musi se nekde specialne nastavit, ze paket
muze byt odeslan stejnym rozhranim, kterym prisel? Nebo je chyba
nekde jinde? Pouzivam Mandrake 8.2, jadro 2.4.x, iptables.
Prikladam relevantni cast skriptu, kterym se nastavuji iptables:
------
#eth0 - internet
#eth1 - 2. vnitrni sit
#eth2 - 1. vnitrni sit
#privátní adresy, které se nikdy nemohou na internetu vyskytnout
iptables -N private
iptables -A private -i eth0 -s 10.0.0.0/8 -j DROP
iptables -A private -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A private -i eth0 -s 192.168.0.0/16 -j DROP
#zakázat privátní adresy na vstupu
iptables -A FORWARD -j private
iptables -A INPUT -j private
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT -
-to 1.2.3.4
#přesměrování 1.2.3.4 na 192.168.1.20 - porty 25,80
# tady se snažím o přesměrování portu, které funguje jen mezi
# internet - 2. sit a 1. sit - 2. sit, nejde 1. sit - 1. sit
iptables -t nat -A PREROUTING -p tcp -d 1.2.3.4 --destination-
port 25 -j DNAT --to-destination 192.168.1.20:25
iptables -t nat -A PREROUTING -p tcp -d 12.3.4 --destination-port
80 -j DNAT --to-destination 192.168.1.20:80
#povolit 1. podsit - internet
iptables -A FORWARD -i eth2 -o eth0 -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth2 -d 192.168.1.0/24 -j ACCEPT
# a tady se snazim o to, aby se pakety mohly vratit zpet do
# 1. podsite
iptables -A FORWARD -i eth2 -o eth2 -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth2 -s 192.168.1.0/24 -j ACCEPT
#defaultní pravidlo DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
echo 1 > /proc/sys/net/ipv4/ip_forward
-----
Predem diky za jakekoliv popostrceni.
Filip Jirsak
--------------------
Chuťová inspirace na http://recepty-maggi.centrum.cz
Další informace o konferenci Linux