
IPsec의 Linux 커널 구현 및 사용자 공간 인터페이스와 관련된 몇 가지 문제(질문)가 있습니다.
- 가장 큰 질문은 Linux 커널 IPsec 구현을 위한 실제 공식 프로젝트가 무엇인지입니다. 내가 이해한 바에 따르면 구현은 Kame 프로젝트의 포크이지만 친구는 이것이 사실이 아니라고 말했습니다. 공식 웹사이트와 저장소는 어느 것입니까?
- 커널 문서 소스의 어디에서 관련 참고 사항을 찾을 수 있습니까?
- 어떤 사용자 공간 프런트엔드가 주로 사용됩니까? ip-tools 또는 iproute2 패키지? 이 두 가지 접근 방식이 동일합니까, 아니면 둘 중 하나가 더 큰 오버헤드를 가지고 있습니까?
- 내가 본 바로는 iproute2 IPsec 전송 모드에 대한 튜토리얼은 구성 파일을 로드하기 위한 "setkey" 유틸리티와 관련이 있습니다. "setkey"가 실제로 iproute2 패키지에 사용됩니까, 아니면 제가 오해한 것입니까? "setkey"가 ip-tools의 "racoon"에 붙어 있습니까, 아니면 구성 로딩을 위한 일반 애플리케이션입니까? "setkey"는 실제로 무엇을 합니까(저는 이것에 대해 매우 혼란스럽습니다)?
답변1
- 2.6(NETKEY) 이후 Linux 커널에 통합된 IPsec 스택은 원래 KAME 스택(적어도 API와 관련하여)을 기반으로 했습니다. 소스 코드는 다음의 일부입니다.커널 저장소
net/xfrm
, Netlink/XFRM 구성 인터페이스 구현을 포함하여 주요 구성 요소가 폴더에 있습니다 . 대안과표준화된(그러나 다소 확장됨) PF_KEYv2 인터페이스 구현은 폴더에 있습니다net/key
. - 문서가 많지 않습니다. 하지만
Documentation/networking
폴더를 확인해보세요. - IPsec SA 및 정책을 수동으로 구성하는 경우(수동 키잉) 권장합니다.iproute2. 더 강력한 Netlink/XFRM 인터페이스를 사용하며 패키지는 기본적으로 대부분의 배포판에서 설치됩니다. 그러나 일반적으로 사용자 영역에서 제공하는 자동 키잉을 사용합니다.이케StrongSwan, Open/libreswan 또는 racoon(ipsec-tools)과 같은 데몬을 사용하면 SA 및 정책을 수동으로 설치할 필요가 없으며 IKE 중에 Diffie-Hellman을 통해 임시 암호화/무결성 키가 설정됩니다. 키 재설정이라고 하는 새 키의 정기적인 자동 협상도 가능합니다.
setkey
에 의해 제공됩니다IPsec 도구수동 키잉용 패키지는 해당 패키지와 관련이 없습니다.iproute2패키지. 와 함께iproute2ip xfrm
SA와 정책을 수동으로 구성하려면 이 명령을 사용합니다 . 두 명령 모두 SAD 및 SPD와 직접 상호 작용합니다(참조:RFC 4301)를 커널에서 IPsec SA 및 정책을 수동으로 관리합니다.setkey
,racoon
기타 BSD 기반 도구와 마찬가지로 PF_KEYv2 인터페이스를 사용하므로ip xfrm
명령보다 강력하지 않습니다. 예를 들어 확장된 시퀀스 번호 또는 표시는 Linux에서 PF_KEYv2를 사용하여 구성할 수 없습니다.