이번에는 pfSense를 이용하여 두개(혹은 2개이상)의 사이트를 VPN 터널을 이용하여 연결하는 과정을 알아보도록 하겠다.
아래처럼 Site A와B를 연결하여 사설망인 192.168.100.0 네트워크와 192.168.200.0 네트워크를 연결하여
원격지 네트워크의 리소스(프린터,팩스,전화 등등)을 이용하도록 하는 것이다.
아래 설명되는 IP 주소는 아래 그림을 기준으로 한다.
Site A의 pfSense 가 서버 Site B의 pfSense 가 클라이언트가 되어 서로 연동이 되는 과정을 살펴보도록 하자.
OpenVPN 말고도 ipsec등을 이용해서도 연동이 가능하나 일단 가장 간편하게 구성이 가능한 OpenVPN으로 구성해 보도록 하자.
OpenVPN 서버(Site A)
VPN->OpenVPN-> Servers -> Add 를 선택하여 서버를 추가해준다.
일반설정
Server Mode: Peer to Peer(Shared Key)
참고: OpenVPN의 서버모드
- Peer to Peer (SSL/TLS) – Site to Site 연결모드로 6개 이상의 사이트들을 연동할 때 사용하기를 권장함
- Peer to Peer(Shared Key) – Site to Site 연결모드로 6개 미만의 사이트들을 공유키를 가지고 연결함.
- Remote Access (SSL/TLS) – 원격 접속 모드로 인증서를 이용하여 사이트에 연결
- Remote Access (User Auth) – 원격 접속 모드로 사용자ID와 비번을 이용하여 연결
- Remote Access (SSL/TLS + User Auth) – 인증서와 사용자 정보를 이용하여 연결
기타 나머지는 그대로 두도록 한다.
암호화 설정
공유키를 생성하도록 하며 여기서 생성된 공유키는 OpenVPN 클라이언트(site B)에서 사용된다.
Shared Key: Checked
아래처럼 shared key가 생성이 된다.
터널설정
Site to Site를 연결하기 위한 설정
IPv4 Tunnel Network: 10.0.0.0/24
* site A와 site B에서 사용하지 않는 네트워크를 하나 생성해서 터널네트워크로 사용한다.
IPv4 Remote Network(s): 192.168.200.0/24 (Site B의 사설망을 적어준다)
Compression: 터널을 통과하는 패킷 압축을 사용할 것인지 여부인데 모르면 그냥 기본값으로 둔다.
Save 를 눌러서 설정을 마친다.
마치고 나서 편집모드로 들어가서 암호화 과정에서 생성한 shared Key를 메모장이나 적당한 곳에 복사해두도록 하자.
이것으로 서버쪽 설정은 모두 마무리 되었다.
OpenVPN 클라이언트(Site B)
VPN->OpenVPN->Clients 에 가서 Add를 눌러서 클라이언트를 추가한다.
서버쪽 설정과 동일하게 Server Mode를 선택한다.
Server Mode: Peer to Peer (Shared Key)
Server Host or address: OpenVPN서버의 WAN IP address 또는 도메인
암호화 설정
Auto generate: Uncheck
Shared key: 서버쪽에서 생성된 공유키를 복사해서 그대로 입력한다.(copy & paste)
터널 설정
IPv4 Tunnel Network: 10.0.0.0/24(Site A와 동일하게 적어준다)
IPv4 Remote Network(s): 192.168.100.0/24 (Site A의 사설망을 적어준다)
입력 후 Save 해서 종료한다. 저장 후 VPN->OpenVPN->Clients에 아래와 같이 Client가 추가가 된다.
Site to Site 연결하기
Site A의 pfSense-> Status->OpenVPN 에서 VPN서버 실행확인
Site B의 pfSense-> Status->OpenVPN 에서 VPN Client 실행확인
A와B사이트가 연결이 되면 위처럼 Status up 상태로 되며 에러가 난다면 로그등을 확인해 보도록 하자.
정상적으로 연결이 되었다면 192.168.100.0/24 네트워크와 192.168.200.0/24 네트워크와 통신이 되는 것을 확인할 수 있다.
¿ø·¡ °èȹÀº L2TP,IPsec±îÁö ´Ù·ê±î Çߴµ¥ ¿äÁò Á¤½ÅÀÌ »ê¸¸Çؼ¸®..