6.11. IPsec 호스트 간 설정

IPsec을 호스트 간 연결을 통하여 데스크탑이나 워크스테이션들을 연결하도록 설정 가능합니다. 이러한 유형의 연결은 각 호스트가 연결된 네트워크를 사용하여 양 호스트 사이에 보안 터널을 생성합니다. 호스트 간 연결에 필요한 요건은 각 호스트에 IPsec만 설정하면 됩니다. 호스트에서 IPsec 연결을 생성하기 위해서는 공중 네트워크 (예, 인터넷)와 Red Hat Enterprise Linux에 연결할 전용선만 있으면 됩니다.

연결을 생성하는 첫번째 단계는 각 워크스테이션의 시스템 정보와 네트워크 정보를 모으는 것입니다. 호스트 간 연결을 위해서는 다음과 같은 정보를 수집하셔야 합니다:

예를 들어 워크스테이션 A와 워크스테이션 B가 IPsec 터널을 통하여 연결하고자 한다고 가정합니다. foobarbaz 를 이미 공유된 키로 사용하여 연결하고자 하며 양 사용자가 racoon 데몬이 자동으로 인증키를 생성하여 각 호스트 간에 공유하는 것에 동의하여 이 연결을 ipsec0으로 이름 붙였다고 가정합니다.

다음은 워크스테이션 A에서 호스트 간 IPsec 연결에 사용된 ifcfg 파일입니다. 이 예시에서 이 연결을 식별하기 위해 사용된 고유 이름은 ipsec0이므로 결과적으로 파일 이름은 /etc/sysconfig/network-scripts/ifcfg-ipsec0가 됩니다.

DST=X.X.X.X
TYPE=IPsec
ONBOOT=yes
IKE_METHOD=PSK

워크스테이션 A는 X.X.X.X 부분을 워크스테이션 B의 IP 주소로 대체하고, 워크스테이션 B는 X.X.X.X를 워크스테이션 A의 IP 주소로 대체합니다. 이 연결은 부팅시 시작되도록 (ONBOOT=yes) 설정되었으며 이미 공유된 키 인증 방식 (IKE_METHOD=PSK)을 사용합니다.

다음은 이미 공유된 키 파일 (/etc/sysconfig/network-scripts/keys-ipsec0)로서 양 워크스테이션이 상대방을 인증하는데 사용합니다. 이 파일의 내용은 동일해야 하며 루트 사용자만이 이 파일을 읽거나 작성할 수 있습니다.

IKE_PSK=foobarbaz

중요중요
 

keys-ipsec0 파일을 루트 사용자만 읽고 수정할 수 있도록 하시려면, 파일을 만드신 후 다음 명령을 입력하십시오:

chmod 600 /etc/sysconfig/network-scripts/keys-ipsec0

언제든지 인증키를 변경하시려면 양 워크스테이션에서 keys-ipsec0 파일을 수정하시면 됩니다. 양 키가 동일해야만 적절히 연결될 수 있습니다.

/etc/racoon/racoon.conf 파일은 include "/etc/racoon/X.X.X.X.conf" 문장을 제외한 모든 다른 부분이 동일해야 합니다. 이 문장 (및 이 문장이 언급하는 파일)은 IPsec 터널이 활성화된 경우에만 나타납니다. 워크스테이션 A에서 include 문장에 언급된 X.X.X.X는 워크스테이션 B의 IP 주소이며 워크스테이션 B에서는 그 반대입니다. 다음은 IPsec 연결이 활성화되었을때 전형적인 racoon.conf 파일을 보여줍니다.

# Racoon IKE daemon configuration file.
# See 'man racoon.conf' for a description of the format and entries.

path include "/etc/racoon";
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";

sainfo anonymous
{
	pfs_group 2;
	lifetime time 1 hour ;
	encryption_algorithm 3des, blowfish 448, rijndael ;
	authentication_algorithm hmac_sha1, hmac_md5 ;
	compression_algorithm deflate ;
}
include "/etc/racoon/X.X.X.X.conf"

연결을 시작하려면 워크스테이션을 재부팅하거나 각 호스트에서 루트로 로그인하신 후 다음 명령을 실행하시면 됩니다:

/sbin/ifup ipsec0

IPsec 연결을 검사하시려면 tcpdump 유틸리티를 실행하여 호스트 간 (네트워크 간)에 전송되는 네트워크 패킷이 IPsec을 사용하여 암호화되었는지 확인하시기 바랍니다. 패킷은 AH 헤더를 포함해야 하며 ESP 패킷으로 보여져야 하니다. ESP는 패킷이 암호화되었다는 것을 의미합니다. 예를 들면:

17:13:20.617872 pinky.example.com > ijin.example.com: \
	    AH(spi=0x0aaa749f,seq=0x335): ESP(spi=0x0ec0441e,seq=0x335) (DF)