반응형

이 글은, Strongswan에서 주요 쓰이는 주요 객체들의 개념을 설명하기 위한 설명글입니다.

 

Strongswan에서 configruation 파일들은 아래와 같이 5개로 구분되어 있는데요.

1) ike_cfg    (IKE 관련 configuration 파일)

2) peer_cfg    (Peer 관련 configuration 파일)

3) child_cfg    (Child SA 관련 configuration 파일)

4) auth_cfg    (Authentication configuration 파일)

입니다.

 

각각을 자세히 알아보겠습니다.

 

참고자료 : https://github.com/strongswan/strongswan/blob/master/src/libcharon/config/peer_cfg.h

                          +-------------------+        +---------------+
   +---------------+      |     peer_cfg      |      +---------------+ |
   |    ike_cfg    |      +-------------------+      |   child_cfg   | |
   +---------------+      | - ids             |      +---------------+ |
   | - hosts       | 1  1 | - cas             | 1  n | - proposals   | |
   | - proposals   |<-----| - auth info       |----->| - traffic sel | |
   | - ...         |      | - dpd config      |      | - ...         |-+
   +---------------+      | - ...             |      +---------------+
                          +-------------------+
                             | 1         0 |
                             |             |
                             v n         n V
             +-------------------+     +-------------------+
           +-------------------+ |   +-------------------+ |
           |     auth_cfg      | |   |     auth_cfg      | |
           +-------------------+ |   +-------------------+ |
           | - local rules     |-+   | - remote constr.  |-+
           +-------------------+     +-------------------+

 

peer의 configuration은 ID로 지정이 되어 있습니다.

 peer configuration(피어 구성)은 주어진 두 ID 간의 연결을 정의합니다.

 그건 초기화에 사용되는 정확히 하나의 ike_cfg_t가 포함됩니다. 그리고, 거기에 어떤 Child SA가 허용되는 지 정의하는 여러 child_cfg_t가 포함되어 있습니다.

 

 중요한건, 하나의 peer는 하나의 ike sa를 갖는 다는 점을 잊으시면 안됩니다.

 

 각각 peer_cfg는 첨부된 두 개의 authentication config를 가지고 있습니다. 여러 Local authentication config들은 어떻게 remote peer로 부터, 우리 자신을 인증해야할 지를 정의합니다.

 각각의 config는 다중 인증 확장(multiple authentication extension) (RFC4739)을 사용하여 시행됩니다.

 

 Remote authentication config들은 제약 조건으로 처리됩니다. peer는 이 룰들 (multiple authentication을 사용하면서, 순서에 관계 없이) 각각을 충족해야만 합니다, configuration에 대한 접근을 얻기 위해서 말이죠.

 

 

(제약조건은, 테이블에 잘못된 데이터의 입력을 막기 위해 일정한 규칙을 지정하는 것이다. 무언가를 제약한다라는 의미로 생각하면 좋다.)

 

 

 

참고자료

 

반응형