Sziasztok,
Van egy adsl kapcsolatom es egy naboxom idehaza. Korabban egy masik szolgaltatonal volt elofizetesem es problemamentesen mukodott vele az ip forwarding. Kb. ket hete csereltem szolgaltatot, atallitottam a login-t dns-t, mailszervert, majd tovabbra is zavarmentesen uzemelt egeszen nehany nappal ezelottig, amikor is a belso geprol valo forward napkozben leallt. A dolog egyik delutan tunt fel, amikor is a kimeno leveleim bent alltak az outboxban. (ezt kesobb ideiglenesen megoldottam). Netet csak proxy-n keresztul tudom elerni es termeszetesen csak bongeszni tudok bentrol.
Az erdekes az, hogy a natboxon a nem valtoztattam meg semmilyen beallitast, ahogy be volt allitva a valtaskor ugy is lett hagyva, majd napokig mukodott. A szabalylanca a kovetkezokeppen alakul:
# cat /var/lib/iptables/rules-save
# Generated by iptables-save v1.3.4 on Sun Mar 26 17:54:15 2006
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [1:54]
:OUTPUT ACCEPT [61:3954]
-A PREROUTING -d 80.189.196.28 -p tcp -m tcp --dport 4662 -j DNAT --to-destination 10.0.0.13:4662
-A PREROUTING -d 80.189.196.28 -p udp -m udp --dport 4672 -j DNAT --to-destination 10.0.0.13:4672
-A PREROUTING -d ! 10.0.0.21 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 80
-A PREROUTING -p tcp -m tcp --dport 1222 -j DNAT --to-destination 10.0.0.21:22
-A POSTROUTING -s 10.0.0.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Sun Mar 26 17:54:15 2006
# Generated by iptables-save v1.3.4 on Sun Mar 26 17:54:15 2006
*mangle
:PREROUTING ACCEPT [9:660]
:INPUT ACCEPT [9:660]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5:692]
:POSTROUTING ACCEPT [5:692]
-A PREROUTING -i eth0 -m mac --mac-source 00:00:00:00:00:00 -j MARK --set-mark 0x1 # a valodi mac addr torolve
-A INPUT -i eth0 -m mark ! --mark 0x1 -j DROP
-A FORWARD -i eth0 -m mark ! --mark 0x1 -j DROP
COMMIT
# Completed on Sun Mar 26 17:54:15 2006
# Generated by iptables-save v1.3.4 on Sun Mar 26 17:54:15 2006
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [80:5200]
:dosattack - [0:0]
:fake_ip - [0:0]
:fake_ip_for_firewall - [0:0]
:forward_ext - [0:0]
:forward_int - [0:0]
:input_ext - [0:0]
:input_int - [0:0]
:reject_func - [0:0]
:security - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.0.0 -i ppp0 -j fake_ip
-A INPUT -s 192.168.0.0/255.255.0.0 -i eth0 -j fake_ip
-A INPUT -s 172.16.0.0/255.240.0.0 -j fake_ip
-A INPUT -s ! 10.0.0.0/255.255.255.0 -i eth0 -j fake_ip
-A INPUT -s 10.0.0.21 -i eth0 -j fake_ip_for_firewall
-A INPUT -s 80.189.196.28 -i ppp0 -j fake_ip_for_firewall
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j security
-A INPUT -j dosattack
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -m limit --limit 2/min -j LOG --log-prefix "FW HIDDEN-SCAN (AT)-H " --log-tcp-options --log-ip-options
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -p icmp -m state --state RELATED -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -i eth0 -p icmp -j ACCEPT
-A INPUT -i ppp0 -j input_ext
-A INPUT -i eth0 -j input_int
-A INPUT -j DROP
-A FORWARD -s 192.168.0.0/255.255.0.0 -i ppp0 -j fake_ip
-A FORWARD -s 192.168.0.0/255.255.0.0 -i eth0 -j fake_ip
-A FORWARD -s 172.16.0.0/255.240.0.0 -j fake_ip
-A FORWARD -s ! 10.0.0.0/255.255.255.0 -i eth0 -j fake_ip
-A FORWARD -s 80.189.196.28 -i eth0 -j fake_ip_for_firewall
-A FORWARD -s 10.0.0.21 -i eth0 -j fake_ip_for_firewall
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ppp0 -j security
-A FORWARD -i ppp0 -j dosattack
-A FORWARD -i ppp0 -o ppp0 -j ACCEPT
-A FORWARD -i eth0 -o eth0 -j ACCEPT
-A FORWARD -i ppp0 -j forward_ext
-A FORWARD -i eth0 -j forward_int
-A FORWARD -j LOG --log-prefix "FW FORW-ERR (EE)-F " --log-tcp-options --log-ip-options
-A FORWARD -j DROP
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 127.0.0.1 -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT
-A OUTPUT -d 127.0.0.1 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -d 62.6.40.178 -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT
-A OUTPUT -d 62.6.40.178 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -d 194.72.0.98 -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT
-A OUTPUT -d 194.72.0.98 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -d 212.56.108.16 -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT
-A OUTPUT -d 212.56.108.16 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -d 212.56.108.17 -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT
-A OUTPUT -d 212.56.108.17 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -p tcp -m owner --uid-owner squid -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 21 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 25 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 43 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 110 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 873 -m state --state NEW -j ACCEPT
-A OUTPUT -p udp -m udp --dport 873 -m state --state NEW -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 6881 -m state --state NEW -j ACCEPT
-A OUTPUT -p udp -m udp --dport 123 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 123 -m state --state NEW -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -j LOG --log-prefix "FW OUTPUT-ERROR (EE)-O " --log-tcp-options --log-ip-options
-A OUTPUT -j DROP
-A dosattack -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 8/sec -j RETURN
-A dosattack -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 2/min -j LOG --log-prefix "FW DoS (AT)-D " --log-tcp-options --log-ip-options
-A dosattack -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A fake_ip -m limit --limit 2/min -j LOG --log-prefix "FW INV-SRC (AT)-F " --log-tcp-options --log-ip-options
-A fake_ip -j DROP
-A fake_ip_for_firewall -m limit --limit 2/min -j LOG --log-prefix "FW INV-SRC (AT)-F " --log-tcp-options --log-ip-options
-A fake_ip_for_firewall -j DROP
-A forward_ext -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "FW HIDDEN-SCAN (AT)-H " --log-tcp-options --log-ip-options
-A forward_ext -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A forward_ext -d 10.0.0.13 -p udp -m udp --dport 4672 -m state --state NEW -j ACCEPT
-A forward_ext -d 10.0.0.13 -p tcp -m tcp --dport 4662 -m state --state NEW -m limit --limit 2/min -j LOG --log-prefix "FW ACCEPT-REV_MASQ (AC)-R " --log-tcp-options --log-ip-options
-A forward_ext -d 10.0.0.13 -p tcp -m tcp --dport 4662 -m state --state NEW -j ACCEPT
-A forward_ext -d 10.0.0.13 -p udp -m udp --dport 4662:4665 -m state --state NEW -j ACCEPT
-A forward_ext -d 10.0.0.13 -p udp -m udp --dport 32764:32767 -m state --state NEW -j ACCEPT
-A forward_ext -d 10.0.0.13 -p tcp -m tcp --dport 32764:32767 -m state --state NEW -j ACCEPT
-A forward_ext -o eth0 -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A forward_ext -o eth0 -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 11 -j ACCEPT
-A forward_ext -o eth0 -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 8 -j ACCEPT
-A forward_int -p tcp -m tcp --dport 80 -j reject_func
-A forward_int -o ppp0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A forward_int -o ppp0 -p icmp -j ACCEPT
-A input_ext -p tcp -m tcp --dport 21 -m state --state NEW -m limit --limit 1/sec -j ACCEPT
-A input_ext -p tcp -m tcp --dport 21 -m state --state NEW -j DROP
-A input_ext -p tcp -m tcp --dport 80 -m state --state NEW -m limit --limit 1/sec -j ACCEPT
-A input_ext -p tcp -m tcp --dport 80 -m state --state NEW -j DROP
-A input_ext -d 127.0.0.1 -p udp -m udp --sport 53 -j ACCEPT
-A input_ext -d 62.6.40.178 -p udp -m udp --sport 53 -j ACCEPT
-A input_ext -d 194.72.0.98 -p udp -m udp --sport 53 -j ACCEPT
-A input_ext -d 212.56.108.16 -p udp -m udp --sport 53 -j ACCEPT
-A input_ext -d 212.56.108.17 -p udp -m udp --sport 53 -j ACCEPT
-A input_int -p tcp -m tcp --dport 22 -j ACCEPT
-A input_int -p tcp -m tcp --dport 5432 -j ACCEPT
-A input_int -p udp -m udp --dport 5432 -j ACCEPT
-A input_int -p tcp -m tcp --dport 3690 -j ACCEPT
-A input_int -p udp -m udp --dport 3690 -j ACCEPT
-A input_int -p tcp -m tcp --dport 53 -j ACCEPT
-A input_int -p udp -m udp --dport 53 -j ACCEPT
-A input_int -p tcp -m tcp --dport 8080 -j ACCEPT
-A input_int -p tcp -m tcp --dport 123 -j ACCEPT
-A input_int -p udp -m udp --dport 123 -j ACCEPT
-A input_int -p tcp -m tcp --dport 80 -j ACCEPT
-A input_int -p tcp -m tcp --dport 21 -j ACCEPT
-A input_int -p tcp -m tcp --dport 2049 -j ACCEPT
-A input_int -p udp -m udp --dport 2049 -j ACCEPT
-A input_int -p tcp -m tcp --dport 111 -j ACCEPT
-A input_int -p udp -m udp --dport 111 -j ACCEPT
-A input_int -p tcp -m tcp --dport 4001 -j ACCEPT
-A input_int -p udp -m udp --dport 4001 -j ACCEPT
-A input_int -p tcp -m tcp --dport 694 -j ACCEPT
-A input_int -p udp -m udp --dport 694 -j ACCEPT
-A input_int -p tcp -m tcp --dport 32764 -j ACCEPT
-A input_int -p udp -m udp --dport 32764 -j ACCEPT
-A input_int -p tcp -m tcp --dport 32765 -j ACCEPT
-A input_int -p udp -m udp --dport 32765 -j ACCEPT
-A input_int -p tcp -m tcp --dport 32766 -j ACCEPT
-A input_int -p udp -m udp --dport 32766 -j ACCEPT
-A input_int -p tcp -m tcp --dport 32767 -j ACCEPT
-A input_int -p udp -m udp --dport 32767 -j ACCEPT
-A input_int -p tcp -m tcp --dport 631 -j ACCEPT
-A input_int -p udp -m udp --dport 631 -j ACCEPT
-A input_int -p tcp -m tcp --dport 636 -j ACCEPT
-A input_int -p udp -m udp --dport 636 -j ACCEPT
-A input_int -p tcp -m tcp --dport 3631 -j ACCEPT
-A input_int -p udp -m udp --dport 3631 -j ACCEPT
-A input_int -p tcp -m tcp --dport 3632 -j ACCEPT
-A input_int -p udp -m udp --dport 3632 -j ACCEPT
-A input_int -p tcp -m tcp --dport 10000 -j ACCEPT
-A input_int -p udp -m udp --dport 10000 -j ACCEPT
-A reject_func -p tcp -j REJECT --reject-with tcp-reset
-A reject_func -p udp -j REJECT --reject-with icmp-port-unreachable
-A reject_func -j REJECT --reject-with icmp-proto-unreachable
-A security -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j LOG --log-prefix "FW Xmas-tree scan (AT)-X " --log-tcp-options --log-ip-options
-A security -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A security -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j LOG --log-prefix "FW Null scan (AT)-N " --log-tcp-options --log-ip-options
-A security -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A security -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j RETURN
-A security -p icmp -m icmp --icmp-type 8 -m limit --limit 2/min -j LOG --log-prefix "FW PoD (AT)-P " --log-tcp-options --log-ip-options
-A security -p icmp -m icmp --icmp-type 8 -j DROP
COMMIT
# Completed on Sun Mar 26 17:54:15 2006
termeszetesen a proc-ban az ip_forward 1-re van allitva
van valakinek otlete? Koszi elore is :-)
- 1234 megtekintés
Hozzászólások
Kiastam tegnapi rovatocskamat ujra; csinaltam egy masik tesztet ahol a szuron minden csomag ACCEPT-re van allitva es forwardolok mindent, tehat a fenti szabalylanc nem mervado. Igy sem megy!
Igy lenne meg tovabba ket kerdesem:
1. Nem lehet az, hogy a szolgaltato szuri meg a belulrol jovo csomagokat? Egyaltalan tartalmaznak a csomagok alapbol ilyen informaciot?
2. Ha igen le lehetne tiltani vhogy?
koszi megegyszer. :)
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
"# cat /proc/sys/net/ipv4/ip_forward" mit mond?
- A hozzászóláshoz be kell jelentkezni
termeszetesen 1, de ezt fentebb is irtam :)
Nem volt rajta semmi allitgatva, csesztetve, nem szakadt meg a kapcsolat sem, egyszeruen napkozben leallt es csak este vettem eszre, mivel bongeszni tudtam a proxy-n keresztul.
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
Ja igen, nem olvastam végig az első leveledet, azt hittem, végig ip_tables konfiguráció van.
Esetleg a lehalás idejéből nincs valami log, amin el lehetne indulni?
Egyéb tippem nincsen, mert bár nem egyszer állítottam már be tűzfalat, mindig csak 2 dolog kellett hozzá, és rögtön működött: néhány ip_tables parancs, meg az "echo 1 > ip_forward".
Szerk: 3 dolog - az előző 2, meg a "modprobe ip_tables"
- A hozzászóláshoz be kell jelentkezni
meg a "modprobe ip_tables"
ez nem kell mert annak idejen beleforgattam a kernelmagba
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
Kozben megcsinaltam megegyszer a "teljes forwardolas" es "nyitva minden" manovert:
# cat /var/lib/iptables/rules-save
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [1:54]
:OUTPUT ACCEPT [61:3954]
-A POSTROUTING -s 10.0.0.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
*mangle
:PREROUTING ACCEPT [9:660]
:INPUT ACCEPT [9:660]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5:692]
:POSTROUTING ACCEPT [5:692]
COMMIT
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# cat /proc/sys/net/ipv4/ip_forward
1
(ppp0 az adsl, eth0 pedig a belso ip fele nez)
Semmi nem valtozott. Ugyanugy nem lehet forwardolni belso geprol. Csak csatlakozni tudok a natboxhoz, de azon semmi nem megy at a proxy kivetelevel.
Valaki tudna valami biztatot mondani?
Segitsetek legyszi, se cvs-t se maileket nem tudom napok ota elerni.
Koszi megegyszer. :-)
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
hi,
ha inditasz egy tcpdump-ot a ppp0-on, ott láthatsz befele jovo tcp connecteket, icmp szemetet, ha nincs semmi (gyanusan nagy a csend) akkor az isp szur valamit...
mondjuk akar fel is hivhatnad az uszi-t :)
- A hozzászóláshoz be kell jelentkezni
Koszi megneztem "tcpdump -i ppp0"-val. Mivel minden le van tiltva befele - kiveve a 80 es 21-es portokat, amiket kizarolag en hasznalok - igy befele nem johet semmi. Ami erdekesebb, hogy elindiottam egy pinget a natbox-rol kifele, szepen meg is jelennek az ICMP csomagok, viszont amikor a benti host-rol inditottam ugyanoda a pinget, nem jelentkezett csomagforgalom a ppp0-n! Tehat elvileg a natboxon nem megy at a forgalom.
A fejtoro most kezd erdekesse valni. Ha betoltom a mindent forwardolo acceptelo scriptet, a helyzet akkor sem valtozik, /proc/sys/net/ipv4/ip_forward erteke 1 es a kernelbe bele van forgatva minden. A kernelt kb 2 honapja forgattam ezekkel a beallitasokkal azota nem lett hozzanyulva.
Most nekiallok a logot tanulmanyozni, aztan forgatok hozza egy uj kernelt is.
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
ok, meg (akar a nat-ot leveve) megnezheted h a natboxig eljut-e a csomag a hostrol.
- A hozzászóláshoz be kell jelentkezni
Igen, ezt mar probaltam. Meg igazabol be tudok csatlakozni barmelyik portjara, 8080-ra fokent. Ha nem igy lenne nem tudnek most irni ide :-)
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
Gondolom a naboxot újraindítottad, nem lehet, hogy valamelyik modul leállt benne?
Átmeneti megoldás talán lehetne egy tcpproxy.
- A hozzászóláshoz be kell jelentkezni
Igen, tegnap ujrainditottam, de semmi nem valtozott. Utana ujraforgattam kernelt is, (kapott egy legfrissebbet) de semmi nem valtozott. ;-(
tcpproxy-t megnezem. Koszi :-)
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
Ugyanígy jártam ma. Hogy oldottad meg?
- A hozzászóláshoz be kell jelentkezni