Linux ядросындағы IPsec - не болып жатқанын анықтау

Мен микроконтроллер үшін IPsec енгізуді жазып жатырмын және оны Debian Lenny жұмыс істейтін стандартты Linux қорапшасы арқылы тексергім келеді. Екі құрылғыда да IPsec ESP арқылы туннель режимінде байланыс орнатылуы керек. Түймелер setkey арқылы қолмен орнатылады. IPsec бумасын өңдеуге қатысушы пайдаланушылық бағдарлама жоқ (немесе болмауы керек). Енді менің жасаған пакеттерімнің Linux ядросы қалай өңделетінін көргім келеді. Шикізат пакеттерін көру үшін оларды tcpdump арқылы жазамын және оларды wireshark арқылы талдаңыз.

  • IPsec өңдеу туралы ақпаратты жөндеудің ең жақсы тәсілі қандай?
  • Пакетті ядро ​​қабылдағанын қалай білуге ​​болады?
  • Қаптамадан шыққан себебін қалай қарауға болады?
3

1 жауаптар

Оң жақтарында қателерді түзету туралы хаттарды басып шығару үшін XFRM (немесе мүмкін ipv4/esp.c ) ядро ​​кодын құрастыруға болады.

Мысалы, net/ipv4/esp.c -де кейбір қателік оқиғалары бар esp_input() функциясы бар, бірақ сіз қызықты нәрселерді xfrm/*. c кодын енгізіңіз.

Бұл дегеніміз, Linux-мен бірге реттелетін IPSec-пен өзара әрекеттесудің проблемасы болмады. 43xx сипаттамасынан кейін пакеттер дұрыс тексерілгеннен кейін дұрыс шыққан сияқты көрінеді. Егер сізде проблемалар туындаса және ядро ​​құрастырғыңыз келмесе, сіз iptables ережелерін орнатып, әр нүктеде (түрлі түрдегі) пакеттердің санын есептей аласыз.

Ақырында, қауіпсіздік саясатын (SP), сондай-ақ қауіпсіздік қауымдастығы (SA) қосып, брандмауэр ережелерін дұрыс орнатқаныңызға сенімді болыңыз.

2
қосылды