Portál AbcLinuxu, 10. května 2025 06:11

Dotaz: NAT router

15.4.2013 19:28 georgo23
NAT router
Přečteno: 378×
Odpovědět | Admin
Zdravim, resim problem v nasi siti a jsem v koncich. Sit ma cca 2500 uzivatelu a cca 300 aktivnich prvku, de facto je temer cela jiz postavena na MRT, az na hranicni cast, kde je HP server a ten natuje cca nejakych 2000 useru do 16 verejnych IP adres. Problem je v tom, ze se nam urcite nahodne casti site zpomalily, a my hledame reseni. Patere jsou na 17 GHz ALcoma, sit je routovana. Vytizenost CPU je cca 15-45 % na obou jadrech. Natovaci tabulka je velmi jednoducha vzdy 4-16 subnetu pod jednou verejnou ip adresu. V ramci nasi site je sit da se rici rychla, rekneme ze dokud nedojde prave k LINUXU, jsou hodnoty na Bandw. testech takove, jake maji byt, pres uz vsak neprojde vse tak jak bychom ocekavali. Rekneme ze klient co ma mit nekde 20 Mb, je rad ze ma 4-6, a jinde treba ob vedle ma to co ma mit. Upozornuji, ze sit neni pretizena, Muj osobni nazor je ten, pruchodnost pres LINUX je ten problem, a tak hledam radu co vse se da doladit na nastaveni NATU ? Zde ukazka jednoho ze 16 pravidel NAT tabulky:

iptables -t nat -A POSTROUTING -s 192.168.1.0/21 -j SNAT --to-source VEREJN.NA.IP.ADRESA

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.4.2013 20:23 ewew | skóre: 40 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: NAT router
Odpovědět | | Sbalit | Link | Blokovat | Admin

Možeš sem vložiť obsah celých iptables ?

Root v linuxe : "Root povedal, linux vykona."
15.4.2013 21:59 georgo23
Rozbalit Rozbalit vše Re: NAT router
root@main:~# iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  192.168.104.173      0.0.0.0/0           tcp dpt:80 to:ip.ip.ip.ip:80
DNAT       tcp  --  192.168.104.198      0.0.0.0/0           tcp dpt:80 to:ip.ip.ip.2:80
DNAT       tcp  --  192.168.104.58       0.0.0.0/0           tcp dpt:80 to:ip.ip.ip.2:80
DNAT       tcp  --  192.168.121.141      0.0.0.0/0           tcp dpt:80 to:ip.ip.ip.2:80
DNAT       tcp  --  192.168.126.14       0.0.0.0/0           tcp dpt:80 to:ip.ip.ip:80
DNAT       tcp  --  192.168.126.5        0.0.0.0/0           tcp dpt:80 to:ip.ip.ip:80
DNAT       tcp  --  192.168.227.13       0.0.0.0/0           tcp dpt:80 to:ip.ip.ip.2:80
DNAT       tcp  --  192.168.244.34       0.0.0.0/0           tcp dpt:80 to:ip.ip.ip.2:80
DNAT       tcp  --  192.168.244.34       0.0.0.0/0           tcp dpt:80 to:ip.ip.ip.2:80
DNAT       tcp  --  192.168.245.16       0.0.0.0/0           tcp dpt:80 to:ip.ip.ip.2:80
DNAT       tcp  --  192.168.54.3         0.0.0.0/0           tcp dpt:80 to:ip.ip.ip.2:80


Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       all  --  192.168.0.0/21       0.0.0.0/0           to:ip.ip.ip.66
SNAT       all  --  192.168.8.0/21       0.0.0.0/0           to:ip.ip.ip.67
SNAT       all  --  192.168.16.0/20      0.0.0.0/0           to:ip.ip.ip68
SNAT       all  --  192.168.40.0/21      0.0.0.0/0           to:ip.ip.ip69
SNAT       all  --  192.168.48.0/21      0.0.0.0/0           to:ip.ip.ip70
SNAT       all  --  192.168.56.0/21      0.0.0.0/0           to:ip.ip.ip71
SNAT       all  --  192.168.64.0/21      0.0.0.0/0           to:ip.ip.ip72
SNAT       all  --  192.168.100.0/23     0.0.0.0/0           to:ip.ip.ip66
SNAT       all  --  192.168.104.0/21     0.0.0.0/0           to:ip.ip.ip73
SNAT       all  --  192.168.120.0/21     0.0.0.0/0           to:ip.ip.ip74
SNAT       all  --  192.168.128.0/20     0.0.0.0/0           to:ip.ip.ip75
SNAT       all  --  192.168.192.0/19     0.0.0.0/0           to:ip.ip.ip76
SNAT       all  --  192.168.224.0/20     0.0.0.0/0           to:ip.ip.ip77
SNAT       all  --  192.168.240.0/20     0.0.0.0/0           to:ip.ip.ip78
SNAT       all  --  192.168.98.0/23      0.0.0.0/0           to:ip.ip.ip66

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

pak je tam jeste pro FORWARD, ale tam je cca 2800 pravidel
15.4.2013 23:11 ewew | skóre: 40 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: NAT router

Máš v reťazi FORWARD aj takéto pravidla ?

  • iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/21 -j ACCEPT
  • iptables -A FORWARD -i eth1 -o eth0 -s ! 192.168.0.0/21 -m state --state ESTABLISHED -j ACCEPT
  • iptables -A POSTROUTING -t nat -s 192.168.20.0/21 -o eth1 -j SNAT ip
  • iptables -I FORWARD -i eth0 -m state --state ESTABLISHED -j ACCEPT

Prvé pravidlo povolí prevádzku vstupujúcu cez eth0 z rozsahu 192.168.0.0/21. Druhe pravidlo povolí prevádzku z eth1, ktorá nie je v rozsahu 192.168.0.0/21 a je už vytvorené spojenie. Tretie je SNAT pre daný rozsah. Posledné pravidlo by malo povoliť prevádzku, ktorá už má záznam v conntrack tabuľke. Skúšal si pozerať prevádzku, ktorá prechádza, či tam nemáš nejake ICMP redirect ?

Root v linuxe : "Root povedal, linux vykona."
15.4.2013 22:41 j
Rozbalit Rozbalit vše Re: NAT router
Odpovědět | | Sbalit | Link | Blokovat | Admin
Trochu malo informaci ... ale prvni nastrel - kolik mas tak otevrenych konexi v NAT tabulce? Kolik to papa RAMky?

Jinak ta sit je IMO dost velka na to, aby si zaslouzila vetsi porci IPcek ... ale ve 4ce to ted uz bude asi problem. Mozna by nebylo od veci NATu lehce ulehcit a nahodit IPv6 (mam na IPv6 kolem 20% trafficu generovanyho BFUckama = zadny spesl pouzivani).

Router na linuxu uroutuje klido desitky Gbit, takze v tom bych problem nehledal. Forward a 2k8 pravidel, to uz problem byt muze, pokud jsou blbe postavena. Nebylo by od veci to prozkoumat, a podivat se na to. Obecne plati, ze je nejlepsi postupovat od obecnych ke konkretnim pravidlum a paket terminovat co nejdriv. Je dobry mit trebas primo ve forwardu jen nejaky omezeny mnoztvi pravidel a dal to rozpadat do chainu. Pokud mas pravidla jako jednu hromadu pekne jedno za druhym ... tak to problem byt muze i zasadni, pokud se nejaky beznejsi nachazi nekde na konci, musi se otestovat vsechna.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.