VPN (Virtual Private Network) 이란?
가상의 사설 네트워크 망을 구성할 수 있도록 만들어 주는 기능
본사와 지사간에 지리적으로 멀리 떨어져 있는 사설 네트워크 망을 서로 연결된 것처럼
하나의 가상 사설망을 구성하는 기능
지리적으로 떨어져 있는 네트워크를 연결하기 때문에 필연적으로 공공 네트워크 망의 연결이
필요하게 되어 보안에 문제가 발생하는 것으로 보이지만 이는 VPN의 암호화 기능을 통해 데이터를
전송하기에 문제가 발생하지는 않음
VPN 연결 종단의 위치에 따라 Site-to-Site 연결 Client VPN 연결 등으로 구분함
IPSec(IP Security)
VPN 연결에 사용하는 네트워크 보호 기술로 IP 계층에서의 데이터 보안 기능을 제공함
터널 모드와 전송 모드로 나누어 구현을 할 수 있다
터널모드 : 전체 IP 패킷에 대한 암호화를 제공
전송모드 : IP 페이로드(IP데이터) 부분만 암호화를 하게 됨
구축 방법
sudo apt install strongswan # 이 패키지가 VPN연결을 제공함
/etc/sysctl.conf # 에서 다음 두 줄을 주석 해제함
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
# 리눅스로 네트워킹할 때 최적의 경로를 찾아 라우팅을 하게 되는데
# VPN을 사용할 경우 지정한 라우터만을 통해 가야 하기 때문에 주석해제함
/etc/ipsec.secrests
[VPN1주소] [VPN2주소] : PSK "strongswanvpntest"
# (Pre-Shared Key, PSK)를 설정
/etc/ipsec.conf
conn vpn1-to-vpn2 # VPN연결 이름 정의
authby =secret # 인증방법 = 미리 공유된 키
left = 100.1.1.1 # 시스템(라우터 또는 VPN 게이트웨이)의 IP 주소
right = 100.1.1.2 # 대상 시스템(원격 VPN 게이트웨이)의 IP 주소
leftsubnet = 172.16.0.0/16 # 현재 시스템에서보호되는 로컬서브넷의 IP 대역
rightsubnet = 192.168.0.0/16 # 대상 시스템에서보호되는 원격서브넷의 IP 대역
ike = aes256-sha2_256-modp1024! # IKE(Internet Key Exchange) 프로토콜의 설정
# AES-256 암호 SHA-256 해시, MODP 1024 비트 그룹
esp = aes256-sha2_256! # ESP(Encapsulating Security Payload)프로토콜의 설정
auto = start # 시스템이 부팅될 때 자동으로 VPN 연결을 시작
# 위 과정 모두 VPN1, VPN2 에서 진행해야 한다.
# 주의할 점은 주소 관련하여 입력할 때는 현재 서버 기준으로 한다
# 즉, VPN1 기준에서 left 는 100.1.1.1 이지만
# VPN2 기준에서 left 는 100.1.1.2 이다
sudo ipsec restart
# 재시작 하여줌
sudo ipsec status
# 정보가 나온다 정상적으로 연결이 되었을 경우,
# ESTABLISHED 라고 뜬다
'Network' 카테고리의 다른 글
BGP (1) | 2024.02.10 |
---|---|
ACL & NAT (0) | 2024.02.10 |
Linux DNS 서버 구축 (0) | 2023.12.31 |
댓글