Üdv!
Egy kis problémám akadt a port forwardingal. Valahogy sehogysem akar összejönni. Fix ip-című külső hállókártyáról akarom a 80as portot átirányítani egy belső hálózaton lévő gépre. Ha csak ennyit írok bele a tüzfal scriptbe, akkor sem megy:
echo "1" > /proc/sys/net/ipv4/ip_forward
itpables -F
iptables -X
iptables -A INPUT -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A FORWARD -s $kulsoip -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i $kulsoif -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80
Tudtok segíteni, mi lehet a hiba?
előre is köszönöm.
- 15530 megtekintés
Hozzászólások
Két probléma is van a szkripttel:
1. FORWARD láncban forrás címnek ne a külső IP-t add meg, hanem inkább szűrj célként a belső gépre (-d 192.168.1.1), ha már mindenképpen filterezni akarod a FORWARD láncot.
2. A válaszcsomagok ha ki is jutnak a külső hálóra (remélhetőleg ez a gép az alapértelmezett átjáró), nem igazán érnek sokat odakint egy 192.168.1.1-es forráscímmel. Csinálj kifele is címfordítást, legegyszerűbben így:
iptables -t nat -A POSTROUTING -o $kulsoif -j SNAT --to $kulsoip
Ha dinamikusan változik a külső IP, akkor meg
iptables -t nat -A POSTROUTING -o $kulsoif -j MASQUERADE
- A hozzászóláshoz be kell jelentkezni
köszi, jövőhéten kipróbálom
- A hozzászóláshoz be kell jelentkezni
A második probléma nem probléma, a DNAT pont ezt teszi. Miért kellene kienegedni a belső gépet az Internetre? Teljesen
felesleges.
- A hozzászóláshoz be kell jelentkezni
A port átirányítás így már megy, köszönöm.
Viszont akadt másik 2 probléma:
1: alhálózatról az ftp kifele csak passzív módban hajlandó müködni ( total commanderben próbálva )
2: az átjáró ftp portja át lett irányítva belső gép ftp portjára. megoldható e az hogy ha az alhálózaton lévő számítógépen az átjáró külső ip címét írom be ftp kapcsolatnak, az át legyen irányítva a belső gépre? Közben az is számít hogy a belső hálózatról továbra is lehesen ftp-zni kifelé....
az iptables -A PREROUTING -i $belsoif -d $kulsoip -p tcp --dport $fw_port -j DNAT --to-destination $fw_ip:$fw_port_to parancs hatására nem történik semmi.
Jelenlegi tüzfal szabály, amivel próbálom belőni az átirányítást:
### alaphelyzetbe mindent ###
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -F
iptables -X
iptables -Z
echo "1"> /proc/sys/net/ipv4/ip_forward
### INPUT ###
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s $belsonet -j ACCEPT
iptables -A INPUT -j DROP
### OUTPUT ###
iptables -A OUTPUT -j ACCEPT
### FORWARD ###
iptables -A FORWARD -s $belsonet -j ACCEPT
iptables -A FORWARD -m state --state NEW -p tcp --dport $fw_port -d $fw_ip -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -j DROP
### port-fw, nat ###
iptables -t nat -A PREROUTING -i $kulsoif -p tcp --dport $fw_port -j DNAT --to-destination $fw_ip:$fw_port_to
iptables -t nat -A POSTROUTING -o $kulsoif -j SNAT --to $kulsoip
echo "----- TÜZFAL KÉSZ -----"
- A hozzászóláshoz be kell jelentkezni
1: alhálózatról az ftp kifele csak passzív módban hajlandó müködni ( total commanderben próbálva )
http://hup.hu/node/44231#comment-426088
--
maszili
- A hozzászóláshoz be kell jelentkezni
az első probléma (aktív fpt) megoldva. a megoldás a köv. 3 sor beszúrása:
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
Ha a második kérdésre van valakinek ötlete? reggel óta keresem már rá a megoldást.... :S
- A hozzászóláshoz be kell jelentkezni
Kicsit egyszerüsítem a második problémát:
a belső hálló kártya 21es és 80as portjára érkező kéréseket szeretném átirányítani egy másik gépre az alhálózaton, abban az esetben ha a cél cím a külső hállókártya ip címe.
erre próbáltam a következő parancsot:
iptables -t nat -A PREROUTING -i $belsoif -p tcp -d $kulsoip --dport 21 -j DNAT -to-destination $másikgép
a szerver mint gateway jól müködik, kintről a port átirányitás is megy. mi lehet a probléma?
próbáltam úgyis a fenti parancsot hogy a -d kapcsolot kihagyva, kulső hálókártyát leállítottam, minden láncban ACCEPT, és nem volt eredmény. Kezdem feladni....
- A hozzászóláshoz be kell jelentkezni
a második kérdésemre is megtaláltam a megoldást:
belső hálózat esetén nem a prerouting/dnat hanem a postrouting/snat szabály kell:
$IPTABLES -t nat -A POSTROUTING -d $fw_ip -s $belsonet -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j SNAT --to $belsoip
részemről téma lezárva. Aki segített annak köszönöm
bye
- A hozzászóláshoz be kell jelentkezni
Kicsit felhozom a témát, mivel beleütköztem egy érdekes forward problémába. Adott egy szerver a neten, rajta egy vpn (éppen pptp), ehhez csatlakozik (neten keresztül) egy kliens. A feladat az lenne, hogy a szerveren keresztül kellene megnyitni egy portot a net felől a vpn-es kliens-nek, hogy vmilyen szolgáltatást el lehessen rajta érni a kintről. Tehát ha valaki csatlakozik netről a szerver_ipje:12345 címen és porton, akkor a kérés forwardolódjon a vpn-es kliens ip-jére és valamilyen portjára. A dologban odáig el is jutok, hogy a külső kérés elmegy a kliens felé (tcpdump szépen mutatja), de válasz már semmi nem érkezik. Ha a szerverről próbálom közvetlenül a vpn-en át a klienset megszólítani, az szépen megy, de netről nem. Valakinek van ötlete, hogy mi lehet a probléma, miért nem válaszol a kliens a forwardolt kérésre?
- A hozzászóláshoz be kell jelentkezni
Könnyebb ha beírod mit csináltál eddig (írd be a szabályaid amik ide tartoznak)
Egyébként itt már le van írva minden.
Szerintem egy POSTROUTING hiányzik, ezért nem talál vissza a csomag, és a forward láncban is engedélyezni kell.
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
Szeretném a segítségeteket kérni az iptables kapcsán, hogy milyen szabállyal tudnám megoldani, azt, hogy a kintről érkező udp 4000-töl 4500-ig terjedő kéréseket átengedje, egy a tűzfal mögötti gépnek a 4000-töl 4500-ig terjedő udp portjára.
Segítségeteket, előre is köszönöm!
üdv,
Dodder
- A hozzászóláshoz be kell jelentkezni
$IPTABLES -t nat -A PREROUTING -i $INET_IFACE -p udp --dport 4000:4500 -j DNAT --to $belsoip
$IPTABLES -A FORWARD -p udp -d $belsoip --destination-port 4000:4500 -j ACCEPT
- A hozzászóláshoz be kell jelentkezni
Oh! Thanks!!!
Rögvest ki is prószálom, de szerintem működni fog!
Köszönöm szépen!
- A hozzászóláshoz be kell jelentkezni