Π€ΡΠ½ΠΊΡΠΈΡ sysctl ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ sysctl Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ:
β ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²;
β ΡΠ°Π±Π»ΠΈΡΠ° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ;
β ΠΊΡΡ ARP.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ API ΡΠΎΠΊΠ΅ΡΠΎΠ², ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ IPv6, Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ². ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ. Π ΠΠ΅ΡΠΊΠ»ΠΈ-ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΡΠΆΠ΅ ΡΠ²ΡΠ·Π°Π½ ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ sysctl.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ
1. Π§ΡΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΡΠΈΡΠ°Π΅ΡΠ΅, Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ»Π΅ sdl_len Π² ΡΡΡΡΠΊΡΡΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΡΠΎΠΊΠ΅ΡΠ° ΠΊΠ°Π½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ eth10, Π°Π΄ΡΠ΅Ρ ΠΊΠ°Π½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ IEEE EUI-64?
2. Π Π»ΠΈΡΡΠΈΠ½Π³Π΅ 18.3 ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎΠΊΠ΅ΡΠ° SO_USELOOPBACK ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ write. Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ?
ΠΠ»Π°Π²Π° 19
Π‘ΠΎΠΊΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ
19.1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π‘ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ IP (IPSec, ΡΠΌ. RFC 2401 [64]) Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠΊΡΠΌΠ΅Π½Ρ RFC 2367 [73] ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ IPSec ΠΈ ΠΈΠ½ΡΠΌΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΡΡΡΠΈΠΌ ΡΠΎΠΊΠ΅ΡΠ°ΠΌ, ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ PF_KEY. Π ΡΡΠΎΠΌ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΠΊΠ΅ΡΡ.
ΠΠ ΠΠΠΠ§ΠΠΠΠΠΠ°ΠΊ ΠΎΡΠΌΠ΅ΡΠ°Π»ΠΎΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 4.2, Π½Π° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° AF_KEY ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ PF_KEY. ΠΠ΄Π½Π°ΠΊΠΎ Π² RFC 2367 ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ΅ΡΠΊΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΡΡΡ, ΡΡΠΎ Ρ ΡΠΎΠΊΠ΅ΡΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° PF_KEY.
ΠΠ»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ΅ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΡΡΠ΅Π±ΡΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ. Π ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ. Π ΠΎΠ±ΡΡΠ½ΡΡ Unix-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΎΠΊΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
IPSec ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π½Π° Π±Π°Π·Π΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (security association, SA). Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ (Π° ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΈ ΠΏΠΎΡΡΠΎΠ²), ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ) ΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ. Π ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΠΎΡΠΎΠΊΡ ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ± Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠΈ). ΠΠ°Π±ΠΎΡ Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (security association database, SADB).
ΠΠ°Π·Π° SADB ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ IPSec. Π Π½Π΅ΠΉ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡΡΡ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ OSPFv2, RIPv2, RSVP ΠΈ Mobile-IP. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π½Π΅Π»ΡΠ·Ρ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΡΠΎΠΊΠ΅ΡΡ PF_KEY ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ IPSec.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ IPSec Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΡΠ°ΠΊΠΆΠ΅ Π±Π°Π·Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (security policy database, SPDB). ΠΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡΠ°ΡΠΈΠΊΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: Β«ΡΡΠ°ΡΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»Π°ΠΌΠΈ Π ΠΈ Π Π΄ΠΎΠ»ΠΆΠ΅Π½ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ IPSec (authentication header, ΠΠ); Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΠΉ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡΒ». ΠΠ°Π·Π° ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΡΠ°ΡΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»Π°ΠΌΠΈ Π ΠΈ Π ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠΎ Π² SADB ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈ ΠΊΠ»ΡΡΠΈ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ SPDB Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. Π‘ΠΎΠΊΠ΅ΡΡ PF_KEY ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π±Π°Π·ΠΎΠΉ SADB, Π½ΠΎ Π½Π΅ Ρ SPDB. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ IPSec Π³ΡΡΠΏΠΏΡ KAME ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ SPDB ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ PF_KEY, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ ΡΡΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ.
Π‘ΠΎΠΊΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠΈ ΡΠΈΠΏΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ:
1. ΠΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠ΄ΡΡ ΠΈ Π²ΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ Ρ ΠΎΡΠΊΡΡΡΡΠΌΠΈ ΡΠΎΠΊΠ΅ΡΠ°ΠΌΠΈ, Π·Π°ΠΏΠΈΡΠ°Π² ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ²ΠΎΠΉ ΡΠΎΠΊΠ΅Ρ. Π’Π°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡΡΡ Π·Π°ΠΏΠΈΡΠΈ Π² Π±Π°Π·Π΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ (ΡΠΈΠΏΠ° OSPFv2), ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΊΠ»ΡΡΠΈ Ρ Π΄Π΅ΠΌΠΎΠ½Π°-ΠΊΠ»ΡΡΠ½ΠΈΠΊΠ° (Π΄Π΅ΠΌΠΎΠ½Π°, ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΠΊΠ»ΡΡΠ°ΠΌΠΈ).
2. ΠΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΈΡΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΡΠ΄ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠΎΠΊΠ΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄ΡΡ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π΄Π΅ΠΌΠΎΠ½Π°-ΠΊΠ»ΡΡΠ½ΠΈΠΊΠ° ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π°Π½ΡΠ° TCP, ΠΊΠΎΡΠΎΡΡΠΉ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ΅, ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π·Π°ΡΠΈΡΠ΅.
3. ΠΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ΄ΡΡ Π·Π°ΠΏΡΠΎΡ Π΄Π°ΠΌΠΏΠ°, ΠΈ ΡΠ΄ΡΠΎ Π² ΠΎΡΠ²Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅ΠΌΡ Π΄Π°ΠΌΠΏ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π±Π°Π·Ρ SADB. ΠΡΠΎ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π΅ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
19.2. Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ
ΠΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΠΊΠ΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π»ΠΈΡΡΠΈΠ½Π³Ρ 19.1[1]. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°Π»ΠΈΡΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΅Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ <net/pfkeyv2.h>. ΠΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°ΡΡΡΡ 64-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΌΡ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ Π΄Π»ΠΈΠ½, ΠΊΡΠ°ΡΠ½ΡΡ 64 ΡΠ°Π·ΡΡΠ΄Π°ΠΌ. ΠΡΠ΅ ΠΏΠΎΠ»Ρ Π΄Π»ΠΈΠ½Ρ ΠΎΠΏΠ΅ΡΠΈΡΡΡΡ 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΌΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ, ΡΠΎ Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ 1 ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π΄Π»ΠΈΠ½Ρ 8 Π±Π°ΠΉΡ. Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΡΡ , Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄ΠΎ Π΄Π»ΠΈΠ½Ρ, ΠΊΡΠ°ΡΠ½ΠΎΠΉ 64 ΡΠ°Π·ΡΡΠ΄Π°ΠΌ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ sadb_msg_type Π·Π°Π΄Π°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· Π΄Π΅ΡΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ. Π’ΠΈΠΏΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΡΠ°Π±Π». 19.1. ΠΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ sadb_msg ΠΌΠΎΠΆΠ΅Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ . Π¨Π΅ΡΡΠ½Π°Π΄ΡΠ°ΡΡ ΡΠΈΠΏΠΎΠ² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Ρ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡ, ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΡ , ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΡΠ°Π±Π». 19.3.
ΠΠΈΡΡΠΈΠ½Π³ 19.1. ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ
struct sadb_msg {
u_int8_t sadb_msg_version; /* PF_KEY_V2 */
u_int8_t sadb_msg_type; /* ΡΠΌ. ΡΠ°Π±Π». 19.1 */
u_int8_t sadb_msg_errno; /* ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ */
u_int8_t sadb_msg_satype; /* ΡΠΌ. ΡΠ°Π±Π». 19.2 */
u_int16_t sadb_msg_len; /* Π΄Π»ΠΈΠ½Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ / 8 */
u_int16_t sadb_msg_reserved; /* Π½ΡΠ»Ρ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅, ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ
ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ */
u_int32_t sadb_msg_seq; /* ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ */
u_int32_t sadb_msg_pid; /* ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ
ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ */
};
Π’Π°Π±Π»ΠΈΡΠ° 19.1. Π’ΠΈΠΏΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
Π’ΠΈΠΏ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π ΡΠ΄ΡΡ ΠΡ ΡΠ΄ΡΠ° ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ SADB_ACQUIRE β’ β’ ΠΠ°ΠΏΡΠΎΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² SADB SADB_ADD β’ β’ ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΏΠΎΠ»Π½ΡΡ Π±Π°Π·Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ SADB_DELETE β’ β’ Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ SADB_DUMP β’ β’ ΠΠ°ΠΌΠΏ SADB (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ) SADB_EXPIRE β’ Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ SADB_FLUSH β’ β’ ΠΡΠΈΡΡΠΊΠ° Π²ΡΠ΅ΠΉ Π±Π°Π·Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ SADB_GET β’ β’ ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ SADB_GETSPI β’ β’ ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ SPI Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ SADB SADB_REGISTER β’ Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΡΠ²Π΅ΡΠ° Π½Π° SADB_ACQUIRE SADB_UPDATE β’ β’ ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ SADBΠ’Π°Π±Π»ΠΈΡΠ° 19.2. Π’ΠΈΠΏΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
Π’ΠΈΠΏ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ SADB_SATYPE_AH ΠΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ IPSec SADB_SATYPE_ESP ESP IPSec SADB_SATYPE_MIP ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (Mobile IP) SADB_SATYPE_OSPFV2 ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ OSPFv2 SADB_SATYPE_RIPV2 ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ RIPv2 SADB_SATYPE_RSVP ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ RSVP SADB_SATYPE_UNSPECIFIED He ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π’Π°Π±Π»ΠΈΡΠ° 19.3. Π’ΠΈΠΏΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ PF_KEY