Umut ABALI
← Projelere dön

Linux Networking Lab

Linux izolasyonu ve ağ için notlar ve demolar: namespaces, cgroups, iptables/nftables ve hafif bir eBPF geçişi.

Problem

Konteyner izolasyonu ve paket yolu çalıştırılarak daha iyi öğreniliyor. Bu lab, komutları, gözlemleri ve temizliği yazdıran kısa demolar paketler.

Mimari

Linux Networking Lab mimari diyagramıHost / lab imageprivileged Ubuntu container on macOSnamespacesprocess · net · mountcgroupsCPU · mem · IOiptables / nftablesfilter · NATeBPFobservability / policy
README'deki lab yüzeyi: privileged lab imajı arkasında namespaces, cgroups, netfilter ve eBPF.
  • Düzen: notes/ açıklamalar, demos/ kabuk demoları + Dockerfile, Makefile kısayolları (make demo-netns, demo-cgroup, demo-firewall, demo-ebpf, demo-all).
  • Konular: namespaces (process / net / mount), cgroups (CPU / mem / IO limitleri), iptables/nftables (filter ve NAT), eBPF (çekirdeği yeniden yazmadan gözlemlenebilirlik / politika).
  • macOS'ta demolar privileged Ubuntu container içinde çalışır; gerçek cgroups v2, netns, nft ve eBPF Linux çekirdeği ister. Linux host'ta aynı demolar daha doğrudan koşabilir.
  • Demolar docker run --privileged kullanır. Paylaşılan prod host'ta çalıştırmayın; bitince docker rm -f ile kaldırın.

Tasarım kararları

macOS'ta privileged container

make image / make demo-* demoları unshare, cgroupfs, bpf ve netfilter'ın olduğu yerde çalıştırır.

Ödünleşim: Mac host'ta çekirdek özellikleri için gerekli; privileged mod paylaşılan üretim host'larında kapalı kalmalı.

BEGIN/END yazdıran demolar

Her demo === BEGIN/END === ile komutları, gözlemleri ve temizliği basar; koşu kendi kendini açıklar.

Ödünleşim: Öğrenme için iyi; yük veya güvenlik benchmark paketi değil.

Teknolojiler

Linuxnamespacescgroupsiptables/nftableseBPFDocker

Sırada ne var

  • Belirli bir iş yüküne bağlı daha derin eBPF izleme demoları.
  • Host özelliklerini zaten sağlıyorsa isteğe bağlı non-privileged yollar.

Sonuçlar

Demo süre kontrol listesiBenchmark yakında