ADSL + iptables bizonyos dolgok elszallnak idonkent

Fórumok

ADSL + iptables bizonyos dolgok elszallnak idonkent

Hozzászólások

A lokálisan generált csomagok mtu-ja 1492.
Nem is ezekkel van a baj. A baj a nat mögötti gépekkel van, hiszen nekük fogalmuk sem lesz arról, hogy nem jó az 1500, sajna a pmtu-discovery már régen nem működik sok helyen, köszönhetően az icmp-t kitiltó idiótáknak.

Megoldás erre ha átírkálod pl a tcpmss-t:

iptables -o ppp0 --insert FORWARD 1 -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu

Ez az 1400 és 1536 közötti segmensméretű syn/synack csomagoknál írja át az mss-t a kimenő interface mtujára.

Elvileg ezután mennie kell.

Boldog Karácsonyt

[quote:9b5d4717ba="mcray"]A lokálisan generált csomagok mtu-ja 1492.
Nem is ezekkel van a baj. A baj a nat mögötti gépekkel van, hiszen nekük fogalmuk sem lesz arról, hogy nem jó az 1500, sajna a pmtu-discovery már régen nem működik sok helyen, köszönhetően az icmp-t kitiltó idiótáknak.

Megoldás erre ha átírkálod pl a tcpmss-t:

iptables -o ppp0 --insert FORWARD 1 -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu

Ez az 1400 és 1536 közötti segmensméretű syn/synack csomagoknál írja át az mss-t a kimenő interface mtujára.

Elvileg ezután mennie kell.

Boldog Karácsonyt

A NAT-nál autómatikusan kell a csomagkonverziót megcsinálnia az iptables-nek. Ahogy a topiknyitó írja is csak bizonyos dolgokkal van gondja. Nekem a tapasztalatom is az, hogy ilyene külön trükközés nem kell.

Hát azért ez ennél kicsit bonyolultabb:

rfc1063, rfc879

[quote:58f33b6c13="mcray"]Hát azért ez ennél kicsit bonyolultabb:

rfc1063, rfc879

Azt nem mondtam, hogy ez tökegyszerű. Aszondom hogy az iptables automatikusan csinálja, bár lehet hogy kiválasztott vagyok.

Nem kiválasztott, hanem szerencsés :)

[quote:553338b092="mcray"]Nem kiválasztott, hanem szerencsés :)

Igazából lehet ja, de nem az iptables dolga ugye, hanem a kernel tcp/ip-jé. Nemcsak én vagyok szerencsés. :)

Az MTU konverzió az iptablesben egy elég furmányos dolog.
Sokszor megcsinálja automatikusan, sokszor meg nem, és akkor pont ilyen hibákat szokott generálni. A részletekért lásd ezt a szálat: http://www.hup.hu/modules.php?name=Forums&file=viewtopic&t=5612.

A tapasztalat minden esetre azt mutatja, hogy ez verzióról verzióra változhat (szerintem nálam is egy iptables frissítés tolt el annak idején mindent). Minden esetre szerintem javasolt az MTU-t kézzel beállítani ADSL esetén.

Hali!
Kezzel allitom az MTU-t, beirtam a javallott sort is a firewallba. Epp most tesztelem....
Lehet, hogy a regi iptables visszatetele megoldja a gondokat? Hmmm egy probat meg meger az is.
Jelentkezek meg, es koszi az igyekezetet :)

Nah, nezegettem a topicot amit zither javasolt, tenyleg ua. a jelenseg. Beirtam az MTU atiros temat a firewallba, egyenlore most jo. DE! A poen, ha kiszedem belole, es a modult is torlom, tovabbrais mukodik, firewall restart ide v. oda ;)
Birkozok meg vele egy kort azert, de ezekszerint megiscsak az MSS-MTU kornyeken van a bibi...
Koszi az eddigieket!

[quote:ed97d6e889="th"]Hali!
Ja, es megegy. Hiaba irom be a peers-be, hogy az MTU 1452 legyen, az ifconfignal 1492-re van allitva tovabbrais.

Szerintem itt van az eb elasva es a tobbi mar kovetkezmeny hiba.

Figyelembe veve a pppoe man-jaban levo ajanlast.

man pppoe :
..
-m MSS Causes pppoe to clamp the TCP maximum segment size at the specified value. Because of PPPoE overhead, the maximum segment size for PPPoE is smaller than for normal Ethernet encapsulation. This could cause problems for machines on a LAN behind a gateway using PPPoE. If you have a LAN behind a gateway, and the gateway connects to the internet using PPPoE, you are strongly recommended to use a -m 1412 option. This avoids having to set the MTU on all the hosts on the LAN.
...

De a konfigban meg ajanlva van meg az 1452, nekem azzal is mar mukszik.

g

Hali!
Azert inditom ezt a topicot, mert ilyen problemat meg sehol nem olvastam.
Adott 1 debian 2.6.11.10 kernellel (sarge). Bootolas utan az ADSL szepen kapcsolodik, lefut a tuzfal script es latszolag minden rendben van. A NATolt halozatrol viszont nem mukodnek bizonyos dolgok. POP3-as mailok (de csak a letoltes, a list szepen megy), dc, torrent, battlefield szerverkereso, all seeing eye, stb.
A pop3 a kovetkezo jelenseget produkalja, ha betelnetelek:
belepes, user/pass keres ok.
list ok
retr parancs (ez tolti le a mailokat) all es nem tortenik semmi.
A jelenseg csak a NAT mogott levo gepeken van, ha a routerrol telnetelek, akkor mukodik.
Hiaba kapcsolom ki a tuzfalat es hiaba allitok mindent -P ACCEPT-re illetve FORWARD ACCEPT es -t nat -j MASQUERADE, nem valtozik. Ha kiadok egy 'poff -a' -t es utana 'pon'-al ujrakapcsolodok akkor tokeletesen mukodik minden, egeszen a kovetkezo tuzfal ujrainditasig.
Fogalmam sincs mi okozza a gondot, de orulnek, ha tudnatok segiteni, mert elegge idegesit :(.
Az iptables v1.3.1.
Ja, es megegy. Hiaba irom be a peers-be, hogy az MTU 1452 legyen, az ifconfignal 1492-re van allitva tovabbrais.
A pppoe-t a pppoeconfig-al allitottam be.
Legyszi segitsetek!
Koszi!
--
TH

Kuld be a tuzfalscriptedet. Talan ott van a bibi.
De mellesleg most nem karacsonyoznod kellene ;)? Hagyd a fra*cba a nem mukodo dolgokat :).

Mintha te nem itt csucsulnel ;)
Amugy a scriptbe majdnemhogy tokmind1 h. mivan, mert ha mindent accept-re allitok es semmi drop vagy reject nincs, akkorse megy. A poen az, hogy icq, msn, web pl tok jol mukodnek... ezert nem vagom, hogy mi a rak baja van.

#!/bin/bash
#PATH=/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/
case "$1" in
start)
echo "----------------------------------------------"
echo "EMENTALI firewall v2.6 - Inicializalas..."

localnet="192.168.1.0/24"
# net= ppp0
# lan= eth0

# pucolas
iptables -F
iptables -X
iptables -t nat -F
echo "Takaritas"

# default
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
echo "Default"

# loop
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
echo "lo"

# INPUT
# Stealth scan
iptables -A INPUT -i ppp0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
iptables -A INPUT -i ppp0 -p tcp -m tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A INPUT -i ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -i ppp0 -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP
iptables -A INPUT -i ppp0 -p tcp -m tcp --tcp-flags ACK,FIN FIN -j DROP
iptables -A INPUT -i ppp0 -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP
echo "Stealth scan"

# IRC belepes gyorsitas
#iptables -A INPUT -p tcp -i ppp0 --dport 80 -j REJECT
iptables -A INPUT -p tcp -i ppp0 --dport 81 -j REJECT
iptables -A INPUT -p tcp -i ppp0 --dport 113 -j REJECT
iptables -A INPUT -p tcp -i ppp0 --dport 1080 -j REJECT
iptables -A INPUT -p tcp -i ppp0 --dport 3128 -j REJECT
iptables -A INPUT -p tcp -i ppp0 --dport 6588 -j REJECT
iptables -A INPUT -p tcp -i ppp0 --dport 8080 -j REJECT
iptables -A INPUT -p tcp -i ppp0 --dport 8081 -j REJECT
#

iptables -A INPUT -i eth0 -s $localnet -j ACCEPT
iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --dport 22 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --dport 25 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --dport 80 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --dport 123 -j ACCEPT

# bluetooth
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT

echo "INPUT"

# FORWARD
iptables -A FORWARD -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# bluetooth
iptables -A FORWARD -s 192.168.0.2 -j ACCEPT
#
# Punkbaster
#iptables -A FORWARD -j ACCEPT -p tcp -d 69.44.156.109 --dport 80
#
# Bittorrent
iptables -A FORWARD -j ACCEPT -p tcp --dport 6881
iptables -A FORWARD -j ACCEPT -p udp --dport 6881
#

iptables -A FORWARD -s 192.168.1.1 -j ACCEPT
iptables -A FORWARD -s 192.168.1.2 -j ACCEPT
iptables -A FORWARD -s 192.168.1.3 -j ACCEPT
iptables -A FORWARD -s 192.168.1.4 -j ACCEPT
iptables -A FORWARD -s 192.168.1.5 -j ACCEPT
iptables -A FORWARD -s 192.168.1.6 -j ACCEPT
iptables -A FORWARD -s 192.168.1.10 -j ACCEPT

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

# DNAT
#iptables -t nat -A PREROUTING -j DNAT -p tcp --dport 6881 --to-destination 192.168.1.4:6881
#iptables -t nat -A PREROUTING -j DNAT -p udp --dport 6881 --to-destination 192.168.1.4:6881

# MASQ
iptables -t nat -A POSTROUTING -o ppp0 -s $localnet -j MASQUERADE

# bluetooth
iptables -t nat -A POSTROUTING -s 192.168.0.2 -j MASQUERADE

echo "NAT"

echo "A tuzfal kesz!"
echo "----------------------------------------------"
;;
stop)
localnet="192.168.1.0/24"
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A FORWARD -j ACCEPT -s $localnet
iptables -t nat -A POSTROUTING -o ppp0 -s $localnet -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "----------------------------------------------"
echo "EMENTALI firewall v2.6 - A tuzfal kikapcsolva!"
echo "----------------------------------------------"
;;
restart)
$0 stop
$0 start
;;
save)
iptables-save
;;
load)
iptables-restore
;;
version)
echo "EMENTALI firewall v2.6"
echo "Valtozasok v2.0 ota:"
echo "- Attekinthetobb script struktura"
echo "- Tobb logolas"
echo "- Alapertelmezett DROP az INPUT es FORWARD szekciokra"
echo "- Stealth scan elleni vedelem"
echo "- Mentes-visszatoltes funkcio"
echo "- Kommentek atalakitasa"
;;
*)
echo "----------------------------------------------"
echo "EMENTALI firewall v2.6 - A tuzfal hasznalata:"
echo "$0 {start,stop,restart,save,load,version}"
echo "----------------------------------------------"
exit 1
;;
esac
exit 0

[quote:8bd1823a9c="th"]Hali!
Azert inditom ezt a topicot, mert ilyen problemat meg sehol nem olvastam.
Adott 1 debian 2.6.11.10 kernellel (sarge). Bootolas utan az ADSL szepen kapcsolodik, lefut a tuzfal script es latszolag minden rendben van. A NATolt halozatrol viszont nem mukodnek bizonyos dolgok. POP3-as mailok (de csak a letoltes, a list szepen megy), dc, torrent, battlefield szerverkereso, all seeing eye, stb.
A pop3 a kovetkezo jelenseget produkalja, ha betelnetelek:
belepes, user/pass keres ok.
list ok
retr parancs (ez tolti le a mailokat) all es nem tortenik semmi.
A jelenseg csak a NAT mogott levo gepeken van, ha a routerrol telnetelek, akkor mukodik.
Hiaba kapcsolom ki a tuzfalat es hiaba allitok mindent -P ACCEPT-re illetve FORWARD ACCEPT es -t nat -j MASQUERADE, nem valtozik. Ha kiadok egy 'poff -a' -t es utana 'pon'-al ujrakapcsolodok akkor tokeletesen mukodik minden, egeszen a kovetkezo tuzfal ujrainditasig.
Fogalmam sincs mi okozza a gondot, de orulnek, ha tudnatok segiteni, mert elegge idegesit :(.
Az iptables v1.3.1.
Ja, es megegy. Hiaba irom be a peers-be, hogy az MTU 1452 legyen, az ifconfignal 1492-re van allitva tovabbrais.
A pppoe-t a pppoeconfig-al allitottam be.
Legyszi segitsetek!
Koszi!
--
TH

Az MTU-t a PPP confban be tudod lőni a ppp iface-re. Az iptables-ödben van conntrack, illetve kellően statefulok a cabálok, illetve ez a modulok be vannak töltve?

root@zen:~# cat /etc/ppp/peers/dsl-provider
# Minimalistic default options file for DSL/PPPoE connections

noipx
holdoff 30
maxfail 0
noipdefault
defaultroute
replacedefaultroute
hide-password
lcp-echo-interval 30
lcp-echo-failure 4
noauth
persist
mtu 1452
plugin rp-pppoe.so eth1
user "xxx@xxx.xx"

A ppp konfig csak ennyit allit be. Elvileg innen kene szednie kapcsolodaskor az MTU-t. Ehhez kepest:

ppp0 Link encap:Point-to-Point Protocol
inet addr:xxx.xxx.xxx.xxx P-t-P:145.236.238.121 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:963539 errors:0 dropped:0 overruns:0 frame:0
TX packets:894685 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:845429703 (806.2 MiB) TX bytes:228480082 (217.8 MiB)

A tuzfal scriptnek elvileg nem lehet(ne) hibaja, mert mashol tokeletesen mukodik ugyanez a script ugyanilyen DSL-es kozegben. De ha vmi bugot lattok benne szoljatok plz ;)