OpenVPN 접속 불가 연결 실패 해결 방법

OpenVPN의 다양한 오류

보통 유료 VPN이나 VPN Gate를 쓸때 직관적이고 편리한 OpenVPN GUI를 많이 사용한다.

그런데 OpenVPN GUI를 사용하다보면 여러가지 에러 메시지와 함께 인터넷 연결이 되지 않는 경우가 많다.

이러한 OpenVPN의 여러가지 문제들을 해결하는 방법을 지금부터 알려주도록 하겠다.


OpenVPN GUI 2.6의 인터넷 연결이 안되는 현상

문제점

OpenVPN GUI의 버전이 2.5.8에서 2.6.0으로 업데이트 된 후 인터넷 접속이 되지 않는다는 사례가 많다.

보통 OpenVPN의 경우 VPN Gate나 유료 VPN에서 .ovpn 파일을 다운로드 받아서 OpenVPN에 등록해 사용하게 된다.


OpenVPN 2.5 버전부터 --cipher 옵션은 더 이상 데이터 채널 암호화에 사용되지 않으며, --data-ciphers를 사용해야 한다. 이전 버전과의 호환성을 위해 --cipher가 설정되어 있으면 경고 메시지가 표시된다.

OpenVPN GUI 2.5.8 버전의 경우 이렇게 등록을 해서 연결하게 되면 접속 상태창에서

DEPRECATED OPTION: --cipher set to 'AES-128-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore --cipher for cipher negotiations. Add 'AES-128-CBC' to --data-ciphers or change --cipher 'AES-128-CBC' to --data-ciphers-fallback 'AES-128-CBC' to silence this warning.

또는

DEPRECATED OPTION: --cipher set to ‘AES-256-CBC’ but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore --cipher for cipher negotiations. Add ‘AES-256-CBC’ to --data-ciphers or change --cipher ‘AES-256-CBC’ to --data-ciphers-fallback ‘AES-256-CBC’ to silence this warning.

이런 메시지가 뜨게 된다.


메시지를 살펴보면

미래의 OpenVPN 버전은cipher AES-256-CBC이나 cipher AES-128-CBC 옵션을 지원하지 않으니

data-ciphers AES-256-CBC, data-ciphers AES-128-CBC 이렇게 ciphers 앞에 data-를 추가하거나

data-ciphers-fallback AES-256-CBC, data-ciphers-fallback AES-128-CBC 이렇게 ciphers 사이에 data-와 -fallback을 추가하라고 한다.


그리고 드디어 OpenVPN GUI 2.6.0 버전을 쓰게 되면 등록되어 있는 VPN에 연결하려고 하면

OPTIONS ERROR: failed to negotiate cipher with server. Add the server's cipher ('BF-CBC') to --data-ciphers (currently 'AES-256-GCM:AES-128-GCM') if you want to connect to this server.

또는

OPTIONS ERROR: failed to negotiate cipher with server. Configure --data-ciphers-fallback if you want to connect to this server.

이런 메시지가 뜨면서 접속이 되지 않게 된다.


해결책

접속이 되지 않아 인터넷에 검색을 해 여려가지 해결책을 찾아보니


첫번째 방법

.ovpn 파일에 코드를 추가하는 방법인데


cipher BF-CBC

이 코드를 .ovpn 파일을 메모장으로 열고 제일 밑에 붙여 넣어라.

라는 방법이 있으나 실패.

이 방법을 써도 전혀 VPN에 접속되지 않고 문제가 해결되지 않았다.


두번째 방법

OpenVPN 버전의 2.5.8 버전의 안내문구에 나오는대로 .ovpn 파일을 메모장으로 열어


cipher AES-256-CBC
cipher AES-128-CBC

저 둘 중 하나의 코드가 있으면 저 코드 부분에 data-를 추가하여


data-ciphers AES-256-CBC
data-ciphers AES-128-CBC

이렇게 코드가 되도록 만들어라.

라는 방법이 있으나 실패.

이 방법도 전혀 문제를 해결하지 못했고 VPN에 접속되지 않았다.


세번째 방법

세번째 방법은 결국 내가 찾은 방법인데 .ovpn 파일을 메모장으로 열어


cipher AES-256-CBC
cipher AES-128-CBC

저 둘 중 하나의 코드가 있으면 저 부분 바로 밑줄에


cipher AES-256-CBC
data-ciphers AES-256-CBC
data-ciphers-fallback AES-256-CBC

이 세 줄의 코드를 붙여넣기 한다.

cipher AES-256-CBC가 이미 있다면 그 밑의 두 줄의 코드만 붙여넣기 한다.

붙여넣기 하고 저장을 하면 짜잔 드디어 VPN 접속이 된다. 드디어 문제를 해결하였다.


OpenVPN 서버 인증서 경고

문제점

OpenVPN을 쓰면서 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info. 라는 경고 문구가 뜨는 경우가 있다.

이 메시지는 말 그대로 경고 메시지인데 이 경고 문구가 나온다고 하더라도 인터넷 연결이 안 되거나 하지는 않는다. 그러나 경고 문구가 계속 뜨면 찝찝하기도 하거니와 혹시나 있을지 모르는 보안 문제가 생길 수 있으므로 이 경고 문구 문제를 해결하는 것이 좋다.


해결책

방법은 간단하다. OpenVPN .ovpn 파일에 다음 코드만 추가하면 된다.

remote-cert-tls server

코드의 위치는 대충 아무 코드 밑에다 넣어도 된다.

이 코드를 넣은 뒤에 OpenVPN을 실행해서 넣은 코드의 VPN으로 접속해 보면 No server certificate verification method 경고 문구가 나오지 않고 접속될 것이다.

가끔 remote-cert-tls server 이 코드로 접속되지 않는 VPN이 있을 것이다.

그럴때는 아래의 코드를 remote-cert-tls server 대신에 넣어보자.

key-direction 1 # tls-auth -section
remote-cert-tls server # ca, cert, key -section

이 코드를 넣으면 연결이 될 것이다.

자 이렇게 또 하나의 문제가 해결되었다.


코드 수정 방법

OpenVPN GUI의 .ovpn 파일에 코드를 수정하는 방법에는 두가지가 있다.


첫번째 방법

첫번째 방법은 다운로드 받은 .ovpn 파일에 코드를 수정하는 방법이다.

VPN에서 .ovpn 파일을 다운로드 받은 후 그 .ovpn 파일을 메모장으로 열어서 코드를 추가한 후 파일을 클릭해서 OpenVPN에 VPN을 추가하는 방법이다.


두번째 방법

두번째 방법은 OpenVPN에 등록되어 있는 VPN의 .ovpn 파일에 코드를 수정하는 방법이다.

C:\Users(또는 사용자)\사용자이름\OpenVPN\config 경로로 들어가게 되면 VPN 폴더들이 있고 그 폴더에 들어가면 그에 해당하는 .ovpn 파일이 있다.

그 해당하는 .ovpn 파일을 메모장으로 열어 코드를 수정하면 이미 OpenVPN에 등록되어 있는 VPN의 코드가 수정된다.


결론

오픈소스임에도 불구하고 생각보다 OpenVPN GUI의 버그가 많은것 같다.

OpenVPN의 문제일 수도 있고 VPN에서 배포한 .ovpn 파일의 문제일 수도 있고 서버 문제일 수도 있는데 생각보다 OpenVPN이 불안정한 모습을 보인다.

OpenVPN의 라이벌 앱인 WireGuard도 있는데 WireGuard는 코드 길이가 더 짧아서 보안 취약점이 더 적다고 한다. 그러나 WireGuard는 아직 많은 VPN들이 지원하지 않아서 접근성이 떨어지는 편이다.

OpenVPN 뿐만 아니라 WireGuard도 많은 VPN들이 지원해줬으면 하는 바램이다. 그래야 OpenVPN이 문제가 생겼을때 대처할 수 있기 때문이다.


관련문서

VPN

Next Post Previous Post
No Comment
Add Comment
comment url