Csomag-limit

Fórumok

Sziasztok!

iptables -A OUTPUT -m limit -i eth1 -p tcp --limit 20/second

találtam egy ilyet valahol, de ez így nekem nem működik. Nekem pont ez kéne. Egy hálókártya csomagforgalmát korlátozni.
Kérlek adjatok ötleteket.

Üdv balazsasd

Hozzászólások

Ez tulképpen sávszélkorlátozás miatt kellene?

Két hiba van benne. Az egyik a -i, az OUTPUT láncban nem vizsgálhatsz input interfészt, csak a kimenetit a -o használatával.

Továbbá lemaradt a végéről a lényeg, az, hogy mit csináljon, ha teljesül a feltétel. Itt egy -j ACCEPT kellene, ha utána az ilyen forgalmat tiltod, vagy a default policy DROP vagy REJECT.

Akkor egy kicsit több információ kellene a rendszeredről. Milyen Debian kiadás, milyen verziójú az iptables, a kerneled, megvannak-e, illetve be vannak-e töltve a szükséges kernelmodulok? Az iptables a hivatalos kiadásból van-e, vagy esetleg külső repositoryból? A kerneled a disztibúció által szállított, vagy saját fordítású?

iptables v1.3.6
Debial Etch
kernel : 2.6.18-6-sparc64-smp

én a következő modulokat töltöm be:
- ip_tables
- ip_conntrack
- ip_conntrack_ftp
- ip_conntrack_irc
- iptable_nat
- ip_nat_ftp

Az internetmegosztáshoz még a következő dolgokat állítom:

echo "Megoszas konfiguralasa"
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

Eddig működik.

Modulként szüksége lesz még a xt_limit és az x_tables modulokra is, de ezeket automatikusan betölti, nem itt lesz a baj.

Fontos részlet a sparc64 architektúra. Ebben az esetben ez valószínűleg egy ismert bug (#468170). Eszerint ez a probléma a 2.6.18-at követően lett megoldva, ezért próbáld meg egy 2.6.19 vagy magasabb verziójú kernellel. A jelenlegi stabil kiadásban, a Lennyben már 2.6.26 (linux-image-2.6.26-1-sparc64-smp) van.

"Mostmár elfogadja"
Kernelcsere lett, vagy egyéb megoldást találtál?

"...de nem csinál semmi korlátot."
Vagy csak nem látod. Miként tesztelted? Fentebb írtam, hogy a limites szabály után a limit feltételnek meg nem felelő csomagokat tiltani kell vagy egy explicit DROP illetve REJECT, vagy a default policy segítségével. Ez megvolt? Az általad leírt szabályokban az OUTPUT lánc átenged mindent. Ha beírtad, akkor a csomagszámlálók mit mutatnak (iptables -nvL OUTPUT)?