OpenVPN
오픈VPN · 오픈브이피엔
은 가상 네트워크 장치와 암호화된 통신 경로를 연결하는 VPN 소프트웨어다. 같은 이름의 VPN 프로토콜을 구현하며, 일반적인 모드에서는 상대 인증·키 협상을 수행하는 제어 채널과 사용자 패킷을 전달하는 데이터 채널을 나눈다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
로고: OpenVPN Inc. 공식 자료. 제품 식별을 위해 표시하며 각 상표의 권리는 권리자에게 있습니다.
01무엇이고, 어떤 일을 하나
- 원격 사용자의 IP 통신이나 지점 사이 트래픽을 설정된 가상 인터페이스로 운반한다.
- 인증과 데이터 채널 보호를 결합하되 주소·경로·접근 권한은 별도로 설정하게 한다.
- 또는 기반 외부 연결을 제공하며 · 선택에 따라 운반하는 내부 계층을 구분한다.
02어떤 순서로 동작하나
- 프로필과 외부 경로
서버 주소·포트·전송 방식·가상 장치·인증 자료를 준비한다. 외부 서버로 가는 실제 네트워크 경로와 터널 안 목적지로 가는 경로는 서로 다른 역할이다.
- 상대 확인
모드의 제어 채널에서 상대 인증서와 설정된 인증 조건을 검증한다. 클라이언트는 신뢰 체인뿐 아니라 서버 용도·기대하는 신원에 맞는 검증 정책도 적용한다.
- 데이터 채널 준비
보호된 제어 교환을 바탕으로 데이터 채널 키를 설정한다. 지원 버전의 클라이언트·서버 모드에서는 허용 암호 목록의 공통값을 협상하며 공통값이 없으면 연결을 거부할 수 있다.
- 가상 장치에 입력
OS가 터널 대상 패킷을 으로 보내면 IP 패킷을 처리한다. 구성은 프레임을 처리하므로 양쪽 장치 유형과 네트워크 구성을 맞춰야 한다.
- 암호화 전송과 복원
데이터 채널이 내부 데이터를 암호화·인증하여 외부 또는 연결로 보낸다. 상대는 유효성을 확인하고 복원한 데이터를 가상 장치와 로컬 전달 경로에 넘긴다.
- 갱신과 실제 통신
제어 채널의 키 갱신과 연결 유지가 계속된다. 터널이 성립한 뒤에도 OS 경로·전달 허용·반환 경로· 조건이 맞아야 최종 응용 통신이 된다.
03먼저 알아둘 용어와 구성요소
- 협상과 제어 정보를 교환하는 채널이다. 의 사용자 데이터 채널과 구별한다.
- 협상된 키와 암호 방식으로 실제 터널 데이터를 보호하는 채널이다.
- IP 패킷을 주고받는 계층 3 가상 인터페이스 유형이다.
- 프레임을 주고받는 계층 2 가상 인터페이스 유형이다. 모든 클라이언트가 동일하게 지원하는 것은 아니다.
- 2.5 이후 데이터 채널 협상에 허용할 암호 목록을 정하는 옵션이다. 2.4의 ncp-ciphers에서 이름이 바뀌었다.
- 상대 인증서가 서버 또는 클라이언트 용도에 맞는 키 사용 확장을 갖췄는지 요구하는 옵션이다.
- 제어 데이터와 그 수신 확인을 위한 패킷 유형이다. 에서도 제어 교환의 신뢰성을 지원한다.
- 암호화된 사용자 터널 데이터를 담는 패킷 유형이다.
- 지정한 목적지 경로만 VPN으로 보내고 나머지는 기존 경로로 보내는 방식이다.
- 한 번에 전달할 수 있는 패킷 크기 한계다. 외부 헤더와 암호화 오버헤드 때문에 내부 크기를 조정할 수 있다.
04예제로 따라가기
- 가상 구성에서 192.0.2.0/24만 터널 경로에 넣으면 192.0.2.20으로 가는 패킷은 VPN에 들어가고 다른 목적지는 기존 경로를 사용할 수 있다. 연결 성공 메시지 자체가 전체 트래픽의 우회를 뜻하지 않는다.
- 가상 양쪽이 2.5 이상이고 서버 암호 순서가 -256-, -128-이며 클라이언트가 -128-만 허용하면 공통값 -128-을 선택한다. 공통값이 없다는 오류는 인증서 오류와 다른 원인이다.
- 가상 캡처에서 작은 패킷은 왕복하지만 큰 전송만 멈추면 내부·외부 패킷 크기와 경로 를 비교한다. 모든 환경에 같은 숫자를 적용하기보다 선택한 전송·주소 계층·암호 방식의 오버헤드를 반영한다.
05혼동하기 쉬운 점과 확인 기준
- 을 항상 계층 3 전용이거나 모든 사용자 데이터를 레코드로 운반하는 프로그램이라고 단순화하지 않는다. /과 제어·데이터 채널의 구분이 필요하다.
- 2.x, 3 기반 클라이언트의 지원 옵션과 암호 협상 동작은 같지 않다. 오래된 cipher 설정을 최신 구성에 그대로 적용하면 의도와 다른 결과가 생길 수 있다.
- 연결 성공과 사내 목적지 접근 권한을 같은 상태로 취급하지 않는다. 서버의 전달·방화벽·반환 경로와 이름 해석도 통신 경로의 일부다.
06상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
함께 보는 학습 자료
아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.
OpenVPN: Control·ACK·Data 패킷
제어 교환과 사용자 터널 데이터가 별도 패킷 유형이라는 점을 구조에서 확인한다.
- P_CONTROL과 P_ACK의 제어 신뢰성
- 의 사용자 암호문
- session_id와 key_id의 식별 문맥
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.