IPsec은 인터넷 프로토콜 보안 (Internet Protocol Security)의 줄임말입니다. 두 개의 시스템 (host-to-host)이나 두 개의 네트워크 (network-to-network) 간에 암호화된 연결을 성립하는 가상 사설 네트워크 솔루션을 말합니다.
![]() | 힌트 |
|---|---|
IPsec과 관련된 보다 많은 정보를 원하신다면 http://www.ipsec-howto.org/을 참조하시기 바랍니다. |
호스트 간 (host-to-host) IPsec 연결은 동일한 암호키를 사용하여 IPsec을 실행 중인 두 개의 시스템 사이의 암호화된 연결을 의미합니다. IPsec 연결이 활성화되면 두 호스트 간의 네트워크 트래픽이 암호화됩니다.
호스트 간 IPsec 연결을 설정하시려면 각 호스트에서 다음과 같은 절차를 따르십시오:
네트워크 관리 도구를 시작하십시오.
IPsec 탭에서 새로 버튼을 클릭하십시오.
다음 버튼을 클릭하여 호스트 간 IPsec 연결을 설정 시작합니다.
접속에 사용될 별명을 ipsec0과 같이 한 단어로 붙여주시고 컴퓨터가 시작될 때 자동으로 연결을 활성화할 것인지 여부도 선택해주신 후 다음 버튼을 클릭하십시오.
연결 유형으로 호스트 간 암호화를 선택하신 후 다음 버튼을 클릭하시기 바랍니다.
사용할 암호화 유형을 선택해 주십시오: 수동 또는 자동
수동 암호화를 선택하시면 이후 과정에서 암호화 키를 제공하셔야 합니다. 자동 암호화를 선택하시면 racoon 데몬이 암호화 키를 관리합니다. racoon 데몬을 사용하기 위해서는 ipsec-tools 패키지가 설치되어야 합니다.
계속 진행하기 위해 다음 버튼을 클릭해 주십시오.
다른 호스트의 IP 주소를 지정해 주십시오.
다른 시스템의 IP 주소를 모르신다면 다른 시스템에서 /sbin/ifconfig <device> 명령을 실행하십시오. 여기서 <device>는 다른 호스트에 연결하는데 사용된 이더넷 장치를 입력하시면 됩니다. 시스템에는 오직 한 개의 이더넷 카드만 존재하며 장치명은 eth0 입니다. IP 주소는 inet addr: 레이블 다음에 오는 숫자를 말합니다.
계속 진행하기 위해 다음 버튼을 클릭해 주십시오.
6에서 수동 암호화가 선택하셨다면 사용할 암호키를 지정하시거나 암호키를 생성하기 위해 생성 버튼을 클릭하시기 바랍니다.
인증키를 지정하시거나 생성 버튼을 클릭하여 만드십시오. 숫자나 문자를 함께 조합하여 만드시면 됩니다.
계속 진행하기 위해 다음 버튼을 클릭해 주십시오.
IPsec — 요약 화면에 나온 정보를 확인하신 후 적용 버튼을 클릭하십시오.
설정을 저장하기 위해 파일 => 저장을 선택하십시오.
목록에서 IPsec 연결을 선택하신 후 활성화 버튼을 클릭하시기 바랍니다.
다른 호스트에서도 동일한 과정을 반복하십시오. 다른 호스트에서도 반드시 잊지 말고 linkend="st-host-to-host-keys"> 단계에서 사용한 동일한 키를 사용하셔야 합니다. 그렇지 않으면 IPsec이 작동하지 않을 것입니다.
IPsec 연결 설정을 마치면 그림 19-22처럼 IPsec 목록이 나타납니다.
/etc/sysconfig/network-scripts/에 두 개의 파일 — ifcfg-<nickname> 및 keys-<nickname>이 생성되었습니다. 만일 자동 암호화를 선택하셨다면 /etc/racoon/racoon.conf도 만들어 집니다.
인터페이스가 활성화되면 <remote-ip>.conf 그리고 psk.txt are created in /etc/racoon/ 파일에 <remote-ip>.conf가 추가됩니다.
IPsec이 성공적으로 연결되었는지 확인하시려면 19.14.3 절을 참조하시기 바랍니다.
네트워크 간 IPsec 연결은 각 네트워크 당 한개씩 두 개의 IPsec 라우터를 사용합니다. 이 라우터를 통해 사설 서브넷으로 향하는 네트워크 트래픽이 라우트됩니다.
예를 들어 그림 19-23에서 보여진 것처럼 만일 192.168.0/24 사설 네트워크에서 네트워크 트래픽을 192.168.2.0/24 사설 네트워크로 보내려고 한다면 패킷은 gateway0를 먼저 통한 후 ipsec0으로 그 후 인터넷을 통과하여 ipsec1과 gateway1으로 전달된 후 192.168.2.0/24 서브넷에 전송됩니다.
IPsec 라우터는 공개적으로 주소 지정 가능한 IP 주소 및 사설 네트워크에 연결된 다른 이더넷 장치를 갖추고 있어야 합니다. 트래픽은 암호화된 연결이 수립된 다른 IPsec 라우터로 향하는 경우에만 IPsec 라우터를 통해 전송됩니다.
대안 네트워크 설정 옵션에는 각 IP 라우터와 인터넷 간 방화벽 설정과 각 IPsec 라우터와 서브넷 게이트웨이 간 인트라넷 방화벽 설정이 포함됩니다. 서브넷에 사용되는 IPsec 라우터와 게이트웨이는 두 개의 이더넷 장치를 갖춘 하나의 시스템으로 구성될 수 있습니다. 한 이더넷 장치는 IPsec 라우터로 작동하는 공공 IP 주소를 갖고 다른 이더넷 장치는 사설 서브넷에 사요오디는 게이트웨이로 작동하는 사설 IP 주소를 갖습니다. 각 IPsec 라우터는 가상 네트워크에 게이트웨이를 사용하거나 공공 게이트웨이를 사용하여 다른 IPsec 라우터에 패킷을 보낼 수 있습니다.
네트워크 간 IPsec 연결을 설정하시려면 다음 절차를 사용하시기 바랍니다:
네트워크 관리 도구를 시작하십시오.
IPsec 탭에서 새로 버튼을 클릭하십시오.
다음 버튼을 클릭하여 네트워크 간 IPsec 연결 설정을 시작하시기 바랍니다.
접속에 사용될 별명을 ipsec0과 같이 한 단어로 붙여주시고 컴퓨터가 시작될 때 자동으로 연결을 활성화할 것인지 여부도 선택해주신 후 다음 버튼을 클릭하십시오.
네트워크 간 암호화 (VPN)를 선택하신 후 다음 버튼을 클릭하시기 바랍니다.
사용할 암호화 유형을 선택해 주십시오: 수동 또는 자동
수동 암호화를 선택하시면 이후 과정에서 암호키를 제공하셔야 합니다. 자동 암호화를 선택하시면 racoon 데몬이 암호키를 관리합니다. racoon 데몬을 사용되려면 ipsec-tools 패키지가 설치되어 있어야 합니다. 계속 진행하기 위해 다음 버튼을 클릭하십시오.
지역 네트워크 화면에서 다음 정보를 입력하시기 바랍니다:
지역 네트워크 주소 — 사설 네트워크에 연결된 IPsec 라우터에 위치한 장치의 IP 주소.
지역 서브넷 마스크 — 지역 네트워크 IP 주소의 서브넷 마스크.
지역 네트워크 게이트웨이 — 사설 서브넷에 사용되는 게이트웨이.
계속 진행하기 위해 다음 버튼을 클릭해 주십시오.
원격 네트워크 화면에서 다음 정보를 입력하시기 바랍니다:
원격 IP 주소 — 다른 사설 네트워크에 사용되는 IPsec 라우터의 공개적으로 주소 지정 가능한 IP 주소. 이 예시에서는 ipsec0에 ipsec1의 공개적으로 주조 지정 가능한 IP 주소를 입력하시고 ipsec1에서는 그 반대로 ipsec0의 IP 주소를 입력하시면 됩니다.
원격 네트워크 주소 — 다른 IPsec 라우터 뒤에 위치한 사설 서브넷의 네트워크 주소. 이 예시에서는 ipsec1을 설정하는 경우 192.168.1.0을 입력하시고 ipsec0를 설정하신다면 192.168.2.0을 입력하시기 바랍니다.
원격 서브넷 마스크 — 원격 IP 주소의 서브넷 마스크.
원격 네트워크 게이트웨이 — 원격 네트워크 주소에 사용되는 게이트웨이의 IP 주소.
6 단계에서 수동 암호화를 선택하셨다면 사용할 암호키를 지정하시거나 새로 생성하기 위해 생성 버튼을 클릭하시기 바랍니다.
인증키를 지정하시거나 생성 버튼을 클릭하여 만드십시오. 숫자나 문자를 함께 조합하여 만드시면 됩니다.
계속 진행하기 위해 다음 버튼을 클릭해 주십시오.
IPsec — 요약 화면에 나온 정보를 확인하신 후 적용 버튼을 클릭하십시오.
설정을 저장하기 위해 파일 => 저장을 선택하십시오.
목록에서 IPsec 연결을 선택하신 후 활성화 버튼을 클릭하시기 바랍니다.
쉘 프롬프트에서 루트로 로그인하신 후 IP 전송 기능을 활성화하십시오:
/etc/sysctl.conf 파일에서 net.ipv4.ip_forward의 값을 1로 설정하십시오.
변경 사항을 활성화하기 위해 다음 명령을 실행하시기 바랍니다:
sysctl -p /etc/sysctl.conf |
IPsec 연결을 활성화하는 네트워크 스크립트는 필요한 경우 IPsec 라우터를 통해 패킷을 보내도록 네트워크 라우트를 자동으로 생성합니다.
IPsec이 성공적으로 연결되었는지 확인하시려면 19.14.3 절을 참조하시기 바랍니다.
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) |
부팅시 IPsec 연결이 시작되도록 설정되지 않았다면 명령행을 통하여 루트로 로그인하신 후 IPsec 연결을 시작하고 정지하실 수 있습니다.
연결을 시작하시려면 호스트 간 IPsec을 위해서는 각 호스트에서 루트로 로그인하신 후 다음 명령을 실행하시고 네트워크 간 IPsec 연결을 위해서는 각 IPsec 라우터에서 다음 명령을 실행하시기 바랍니다 (<ipsec-nick> 부분을 ipsec0와 같이 앞서 설정하신 한 단어로 구성된 별명으로 대체하시기 바랍니다):
/sbin/ifup <ipsec-nick> |
연결을 멈추려면 호스트 간 IPsec을 위해서는 각 호스트에서 루트로 로그인하신 후 다음 명령을 실행하시고 네트워크 간 IPsec 연결을 위해서는 각 IPsec 라우터에서 다음 명령을 실행하시기 바랍니다 (<ipsec-nick> 부분을 ipsec0와 같이 앞서 설정하신 한 단어로 구성된 별명으로 대체하시기 바랍니다):
/sbin/ifdown <ipsec-nick> |