FreeBSD. Jalur paket jaringan di dalam kernel

  1. FreeBSD PF Firewall
  2. FreeBSD. Memfilter lalu lintas PF
  3. FreeBSD. aliran, tag dan jangkar di PF
  4. FreeBSD. Perutean Bersyarat PF
  5. FreeBSD. Jalur paket jaringan di dalam kernel. <- Kamu di sini


Pada artikel sebelumnya, kami membahas PF, fitur utamanya, dan mencoba menerapkan firewall ini dalam berbagai situasi. Namun, pengetahuan sederhana tentang aturan mana dan dalam urutan apa yang harus dimasukkan ke dalam konfigurasi tidak selalu cukup untuk mencapai tujuan. Banyak yang menjadi jelas hanya jika Anda melihat sedikit lebih dalam: pada tingkat kernel OS, dan bagaimana firewall berinteraksi dengannya.









Kami tidak akan menganalisis level driver kartu jaringan (level 2 dari model OSI), tetapi segera naik ke level 3, di mana tumpukan kernel tcp / ip bekerja.







mbuf. , , : a , (next hop), ttl, , . . . mbuf .







:


ip_input()



ip_input().







  • ttl .
  • ALTQ ( ), .
  • IPSEC_CAPS(), ipsec, , , , . ipsec ip_input(), .
  • pfil. . , , . rc.conf PF, .
  • . — IP, ip_forward(). .
  • (reassemble), .
  • IPSEC_INPUT().
  • , . — icmp error ip_output().


, .







ip_forward()



.







  • ipsec — IPSEC_FORWARD().
  • . , net.inet.ip.forwarding 1. - , icmp error ip_output().
  • , , icmp_redirect, .
  • ttl.
  • ip_output().


ip_output()



.







  • . , .
  • ipsec — IPSEC_OUTPUT().
  • pfil — .
  • , (dst), (fib) . , . , .
  • , .
  • .




, . , . , . , , , . mbuf.







, pf in out.







pass in on re0 inet...
      
      





ip_input. out — ip_output.







pass out quick on $ExtIf2 ...
      
      





anchors .







route-to reply-to next hop :







pass in quick on $ExtIf2 reply-to ($ExtIf2 $ExtIf2Gw ) tagged DSTNAT
pass in quick on $IntIf1 route-to ( $Tun1 $Tun1Gw ) from ($IntIf1:network)
      
      





rtable:







pass in quick on $IntIf2 from { $IntIf2Net } rtable 1 tag PASS
      
      







FreeBSD, , , , .







— . , , , , , VPN , , ftp-, web- jabber-, IP-… , . 35 , 9 .








All Articles