Toon posts:

Linux router (stats) voor meerdere websites en webservers?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mensen,

Ik ben al een tijdje aan het denken over een oplossing waarin ik een Linux router/firewall configureer voor een verzameling van 5 Windows servers en 2 Linux servers. In de huidige configuratie hebben de 7 servers ieder een eigen IP (direct op het internet) en draaien allemaal losse firewalls. In de nieuwe situatie moet de Linux firewall tussen "de boze buitenwereld" en de 7 servers komen te staan, terwijl de servers wel hun IP behouden.
Enfin, tot nu toe is het allemaal nog goed te doen, maar nu komt het leuke. Ik wil graag een soort systeem bouwen/gebruiken (Open Source) dat op de Linux firewall/router draait, en het verkeer per *website* (dus niet per server!) aangeeft, het liefst d.m.v. een web interface, maar die kan ik desnoods ook zelf bouwen. Ik heb lang nagedacht, en mijn kennis vertelt me dat dit niet haalbaar is, omdat de firewall/router in een andere netwerklaag werkt (IP) dan de protocollen waarover ik informatie wil verzamelen (HTTP, FTP, etc). Heeft iemand enig idee of dit toch mogelijk is, ik ga er namelijk van uit dat ook anderen hier over nagedacht moeten hebben... Kan iemand mij tips geven hoe dit te maken, of me vertellen welke software dit al kan?

Bedankt!

[ Voor 5% gewijzigd door Verwijderd op 08-01-2005 21:52 ]


  • jvhaarst
  • Registratie: Maart 2000
  • Laatst online: 08-02 23:13

jvhaarst

Eendracht maakt macht

Als het om alleen http verkeer gaat zou ik eens kijken naar apache's mod_proxy proxypass directive.
http://httpd.apache.org/docs/mod/mod_proxy.html .

Maar is het niet veel slimmer om deze twee dingen apart te houden ? Dus 1 bak als bridging firewall, en 1 machine die van alle servers de logs parsed en dat netjes laat zien ?

[ Voor 3% gewijzigd door jvhaarst op 08-01-2005 22:25 ]

If you don’t have enough time, stop watching TV.


Verwijderd

Topicstarter
Nee, het gaat eigenlijk om alle soorten verkeer. Het zou (denk ik?) dus een geavanceerd packet analysing system moeten worden, wat series packets in de gaten houdt en van zo'n serie weet voor welke website (in geval van HTTP) ze bedoeld zijn.
Uiteindelijk wil ik graag kunnen zien welke servers en websites het zwaar hebben en hoeveel dataverkeer klanten genereren.

[ Voor 22% gewijzigd door Verwijderd op 08-01-2005 23:06 ]


Verwijderd

Geef die linuxbak toegang tot de logfiles op die windowsbakken en parse de logzooi met webalizer of iets dergelijks. Moet je per website een config maken voor webalizer om aan te geven waar de logfiles staan en een output dir. Dan voeg je webalizer toe aan een crontab, webservertje erop om de resultaten uit te lezen en klaar :)

Webalizer kan ook logbestanden van non-webservers aan zoals ftpservers.

[ Voor 10% gewijzigd door Verwijderd op 08-01-2005 23:53 ]


Verwijderd

Verwijderd schreef op zaterdag 08 januari 2005 @ 23:05:
Nee, het gaat eigenlijk om alle soorten verkeer. Het zou (denk ik?) dus een geavanceerd packet analysing system moeten worden, wat series packets in de gaten houdt en van zo'n serie weet voor welke website (in geval van HTTP) ze bedoeld zijn.
Uiteindelijk wil ik graag kunnen zien welke servers en websites het zwaar hebben en hoeveel dataverkeer klanten genereren.
kijk eens naar ipac-ng.

Die kan traffic meten op ipnr (src en/of dest) en protocol (via iptables)

[ Voor 3% gewijzigd door Verwijderd op 08-01-2005 23:54 ]


Verwijderd

Verwijderd schreef op zaterdag 08 januari 2005 @ 23:53:
[...]


kijk eens naar ipac-ng.

Die kan traffic meten op ipnr (src en/of dest) en protocol (via iptables)
Kan de TS niet gebruiken, in een packet zit een doeladres (server) en niet de website die samen met bijv 100 andere websites op dezelfde server draait.

Dit is wel te gebruiken om resultaten per server te krijgen.

Verwijderd

Verwijderd schreef op zaterdag 08 januari 2005 @ 23:58:
[...]


Kan de TS niet gebruiken, in een packet zit een doeladres (server) en niet de website die samen met bijv 100 andere websites op dezelfde server draait.

Dit is wel te gebruiken om resultaten per server te krijgen.
ah, ok.

Dan moet TS toch gaan denken aan een centrale syslog server ofzo.
En zorgen dat z'n windows machines (en de server apps die daar opstaan) ook naar syslog kunnen loggen. Er zijn tools voor te krijgen om logs op window naar syslog te "redirecten".

Verwijderd

Je moet goed bedenken dat je klein moet beginnen. Al het verkeer in protocollen gescheiden in statistieken.... is wel erg breed.

Webalizer werkt alleen met apache. Awstats kan dat op zich ook wel. Wellicht is MRTG wel wat voor je...Of juist een combinatie ervan.

Kijk eerst wat je echt wil weten en wat niet perse nodig is. Maak dan een plan.

Verwijderd

Topicstarter
Maar mijn idee was dus iets te enthousiast... Ik zal dus niet het verkeer dat langs die router komt kunnen analyseren, en daaruit m'n conclusies trekken. Realistischer is het om de logfiles van de Windowsservers te parsen en die onder Linux beschikbaar te maken.
Hartelijk dank voor te tips! Wat vinden jullie trouwens van RDDTool? Dat is toch ook iets wat daar voor kunt gebruiken? En kan iemand met uitleggen wat het verschil is tussen RDDTool en MRTG? Het is van de zelfde maker...
Kijk ook eens naar het PHP-pakket cacti voor RDDTool, is een leuke (misschien wel onmisbare) en goed werkende toevoeging!

  • Coen Rosdorff
  • Registratie: Januari 2000
  • Niet online
Je zou op je router een reverse-proxy server kunnen draaien met squid of apache.
De logfile die je daarmee krijgt kan je splitsen per website. Daarna kan je met elk gewenst stats pakket die logfile analyseren.

  • froggie
  • Registratie: November 2001
  • Laatst online: 20-11-2024

froggie

Kwaaak

In de header van http pkgs staat netjes voor welke website ze bedoelt zijn (tenslotte moet apache ook onderscheid kunnen maken tussen alle vhosts). Er is vat wel een programma die kan loggen wat er voorbij komt op het http protocol en deze url eruit kan pikken(misschien kan zelfs iptables dat wel, d'r zijn tegenwoordig zoveel extra modules en toevoegingen). Het resultaat hiervan kun je dan weer netjes laten parsen door bijv MRTG.

Verwijderd

Topicstarter
Ik heb inderdaad al eens zitten kijken naar een soort plugin voor iptables, en er is een mogelijkheid tot het filteren van pakketjes in user-space (dus eigenlijk een soort van chain in user-space) d.m.v. een programma dat je zelf op kunt geven. Als het inderdaad zo is dat HTTP-packets in hun header hebben staan voor welke website het bedoeld is, dan is het relatief makkelijk te bouwen.
Echter twijfel ik daar toch aan... Elk HTTP-request heeft inderdaad zo'n header, maar dat request wordt weer opgesplitst over packets, waarbij de webserver zo slim is om die packets weer samen te voegen. Dit lijkt me echter best ingewikkeld...

  • wica
  • Registratie: Februari 2002
  • Laatst online: 14-01 16:59

wica

De duivel jacht op me

http://l7-filter.sourceforge.net/ Hier heb je waarschijnlijk iets aan.
Dit is en uitbreiding van netfilter van de linux kernel zelf.
Je kan hier mee elk packet afzonderlijk bekijken en aan de hand van regex rules maken.
Dit blijft allemaal op je firewall server. EN heeft geen toegang nodig tot de andere servers.

Ps. dit geeft je voor je interne netwerk ook nog een paar andere leuke optie's zoals blocken van p2p ;)

RFC | The Linux Document Project | gentoo.


  • cavey
  • Registratie: Augustus 2000
  • Laatst online: 16-12-2025
kan mrtg uitkomst bieden?
edit:
8)7 spuitelf :+

[ Voor 40% gewijzigd door cavey op 13-01-2005 12:36 ]


  • Oezie Woezie
  • Registratie: December 1999
  • Niet online

Oezie Woezie

Pim. is de beste

Mod_watch misschien een idee? (http://www.snert.org/Software/mod_watch/index.shtml)
welke de volgende info genereerd: http://haas.oezie.org/watch-table deze info kan je dan weer met een script(http://haas.oezie.org/rrd/apache/apache.pl) uitlezen en er leuke dingen mee doen. zoals: http://haas.oezie.org/rrd/apache/haas.oezie.org/

ik weet niet of dit iets is wat je zoekt, maar misschien is het een duw in de(hopelijk) goede richting.

een mooi Tshirt met Pim. is de beste enzo

Pagina: 1