반응형
OpenVPN의 속도를 최대로 높이는 방법을 정리해보겠습니다.
🔹 OpenVPN 속도를 빠르게 하는 주요 설정
아래 방법들을 조합하면 속도를 최대한 끌어올릴 수 있습니다.
✅ 1. 암호화 & 인증 방식 제거 또는 약화
1-1. 암호화 없음 (No Encryption, cipher none)
- 암호화가 필요 없다면 암호화를 완전히 비활성화하면 속도가 크게 향상됨.
- 설정 방법:
cipher none auth none
- cipher none과 auth none을 설정하면 CPU 부하가 거의 없어지므로 전송 속도가 극대화됨.
1-2. AES-128-GCM 사용 (경량 암호화)
- 암호화를 완전히 끄는 것이 어렵다면, 가장 가벼운 알고리즘인 AES-128-GCM을 사용.
- 설정 방법:
cipher AES-128-GCM
- AES-256-CBC보다 가벼우며, 대부분의 CPU에서 AES-NI 하드웨어 가속 지원.
✅ 2. TCP 대신 UDP 사용
- OpenVPN은 기본적으로 UDP가 속도가 빠름.
- 설정 파일에서 proto tcp를 proto udp로 변경:
proto udp
- TCP는 패킷 손실 시 재전송(overhead)이 많아 속도가 느려짐, UDP가 훨씬 빠름.
✅ 3. 압축 비활성화 (comp-lzo no)
- OpenVPN은 기본적으로 comp-lzo 압축을 지원하지만, 압축 과정에서 CPU 리소스를 많이 사용하여 속도가 떨어짐.
- 설정 파일에서 comp-lzo를 비활성화:
comp-lzo no
✅ 4. OpenVPN 프로세스의 MTU 최적화
- 패킷 크기를 조정하면 속도 향상 가능.
- 기본적으로 OpenVPN은 작은 패킷을 여러 개 보내므로 속도가 느려질 수 있음.
- 아래 설정을 적용하면 MTU 크기를 최대로 증가하여 속도를 높일 수 있음:
tun-mtu 1500 mssfix 1450 fragment 0
- 추가로 적용 가능한 설정:
sndbuf 524288 rcvbuf 524288 push "sndbuf 524288" push "rcvbuf 524288"
- 버퍼 크기를 증가시켜 네트워크 전송 속도 향상.
✅ 5. OpenVPN 멀티스레드 사용 (fast-io)
- 기본적으로 OpenVPN은 단일 스레드로 실행되므로, CPU를 제대로 활용하지 못함.
- fast-io 옵션을 활성화하여 멀티스레드 성능을 향상:
fast-io
- 특히 다중 코어 CPU 환경에서 속도가 크게 향상됨.
✅ 6. TCP 패킷 큐 및 큐 길이 최적화
- 네트워크의 패킷 전송을 최적화하려면 다음 옵션 추가:
txqueuelen 10000
- 네트워크 버퍼 크기를 증가시켜 패킷 손실을 줄이고 성능을 향상.
✅ 7. 서버와 클라이언트의 네트워크 성능 최적화
- 서버 측에서:
- sysctl -w net.core.rmem_max=2097152 sysctl -w net.core.wmem_max=2097152 sysctl -w net.ipv4.tcp_rmem="4096 87380 2097152" sysctl -w net.ipv4.tcp_wmem="4096 87380 2097152"
- 클라이언트 측에서도 동일한 설정 적용.
🔹 추가적인 방법
✅ 8. WireGuard로 변경 (극단적인 성능 차이)
- OpenVPN을 아무리 최적화해도 WireGuard가 훨씬 빠름.
- OpenVPN은 단일 스레드 기반이고 암호화 오버헤드가 많아 성능이 떨어짐.
- WireGuard는 커널 네트워크 스택을 사용하여 OpenVPN보다 3~10배 빠름.
- 속도가 가장 중요하다면 WireGuard로 마이그레이션하는 것이 최선.
💡 결론: OpenVPN 속도를 높이는 최적 설정
아래와 같이 OpenVPN 서버/클라이언트 설정을 적용하면 최대 속도를 얻을 수 있음.
# OpenVPN 설정 파일 수정
proto udp
cipher none
auth none
comp-lzo no
tun-mtu 1500
mssfix 1450
fragment 0
sndbuf 524288
rcvbuf 524288
push "sndbuf 524288"
push "rcvbuf 524288"
fast-io
txqueuelen 10000
✅ 암호화 제거 (보안 X) → 속도 극대화
✅ UDP 사용 → TCP보다 빠름
✅ MTU 최적화 → 패킷 크기 최적화
✅ 압축 비활성화 → CPU 오버헤드 감소
✅ 버퍼 크기 증가 → 데이터 전송 속도 증가
이 설정을 적용하면 OpenVPN 속도를 최대한 높일 수 있음.
하지만 더 빠른 속도가 필요하면 WireGuard로 교체하는 것이 가장 좋은 선택!
반응형
'IT생활' 카테고리의 다른 글
10Gbps SFP+ 케이블로 40GbE 연결이 가능할까? (0) | 2025.02.03 |
---|---|
OpenVPN 클라이언트 연결 시 VPN으로만 통신하게 만들기 (Kill Switch) (0) | 2025.02.03 |
PPTP나 WireGuard에서 OpenVPN TAP 모드(TAP Bridge)와 같은 기능을 사용할 수 있을까? (0) | 2025.02.03 |
공유기의 VPN에서 별도의 서브넷 없이 내부 네트워크의 IP 할당 받는 방법 (OpenVPN TAP 모드) (0) | 2025.02.03 |
동영상 인코딩을 할 때 최대 몇 스레드까지 활용 가능할까? 64스레드 이상 활용 가능할까? (0) | 2025.02.01 |