So führen Sie eine Netzwerkabrechnung mit cgroups durch


7

Ich versuche, Netzwerkstatistiken für Gruppen von Prozessen abzurufen. Soweit ich weiß, erfolgt die komplexe Netzwerkabrechnung unter Linux normalerweise über die Abrechnungsinfrastruktur von netfilter / iptables.

Da ich eine Vererbung für solche Gruppen haben cgroupsmöchte, wäre das eine gute Ergänzung.

Meine beste Idee wäre, iptables mit classiddenen übereinstimmen zu lassen, die mit dem net_cls-controller eingestellt werden können.

Es scheint jedoch, dass iptables diesen Wert nur über einstellen kann --set--class.

Also: Gibt es eine gute Möglichkeit, eine (komplexe und flexible) Netzwerkabrechnung und -protokollierung für Prozessgruppen unter Linux durchzuführen?


Können Sie spezifische Informationen darüber bereitstellen, was Sie in Bezug auf "Statistiken" sammeln möchten?
Matthew Ife

Antworten:


1

Eine sehr schöne Frage! Vielen Dank. Altes, aber wird den Leuten hier helfen


A. Sie können cgroups mit tc verwenden. Ich habe noch nie davon gehört, aber nach dem googeln habe ich folgendes gefunden:

net_cls - Dieses Subsystem markiert Netzwerkpakete mit einer Klassenkennung (classid), mit der der Linux-Verkehrscontroller (tc) Pakete identifizieren kann, die von einer bestimmten cgroup-Task stammen.

Demnach sollten Sie mit tc arbeiten und Statistiken von dort erhalten (viele Tools verfügbar).

http://patchwork.ozlabs.org/patch/194809/

Kontaktiere Alexey, vielleicht kann er dir dabei helfen :)


B. Sie können SELinux und iptables für Statistiken verwenden, aber die Bandbreite bei cgroups begrenzen - ich mag diesen Ansatz mehr - tc sieht für mich in einigen Fällen hässlich aus und ist für die Integration nicht optimal.

SELinux verfügt über Hooks für das Netzwerk und kann jedem Paket zusätzliche Daten als Label gemäß den Prozess-Labels zuweisen. Es kann sogar an ein anderes System übertragen und Statistiken filtern / protokollieren / abrufen. Mit SECMARK können Sie mit iptables alles tun, was Sie können.

http://selinuxproject.org/page/NB_Networking

Wenn Sie noch nicht mit SELinux vertraut sind, empfehle ich Ihnen, die RedHat / Fedora-Anleitungen "Security-Enhanced Linux" und "SELinux FAQ" zu lesen. Außerdem gibt es sehr schöne Erklärungen und Anleitungen sowie Blog-Beiträge von Daniel J. Walsh (Dan Walsh). - google dafür.

Ein sehr guter (und besserer) Ausgangspunkt für Neulinge sind Videos auf YouTube. Ich bin sicher, dass Sie in etwa drei Stunden damit fertig werden können, um alles zu verstehen, was Sie brauchen:

  • SELinux für alle - Paul Wayper
  • SELinux für Sysadmins - Paul Wayper

SELINUX IST EINFACH, keine Angst


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.