GNOME의 VPN 목록에 전달받은 프로필과 맞는 항목이 하나도 없을 수 있고, 보통은 이 데스크톱이 OpenVPN을 못 한다고 결론 내린다. 하지만 할 수 있다. 빠진 것은 플러그인 패키지이며, 같은 머신에 있는 명령줄 클라이언트는 메뉴와 아무 관계가 없다. 먼저 없애야 할 통념이 바로 이것이다. 그것이 사람들을 잘못된 것을 재설치하도록 보내기 때문이다.

메뉴는 프로토콜이 아니라 플러그인을 나열한다

GNOME은 네트워크 관리자가 보고하는 연결 유형을 그리며, 관리자는 설치된 플러그인을 보고한다. 따라서 빈 목록은 프로토콜의 능력이 아니라 설치된 플러그인 집합을 설명한다. 작동하는 openvpn 바이너리가 패널에서 아무것도 바꾸지 않는 이유가 여기에 있다.

이 구분이 중요한 이유는 패널에서 보면 두 고장이 똑같아 보이기 때문이다. 빠진 플러그인과 망가진 플러그인은 둘 다 도움이 될 수 없는 대화 상자를 내놓고, 무언가를 설치해 고쳐지는 것은 첫 번째뿐이다. 무엇이든 설치하기 전에 관리자에게 무엇을 아는지 물으면 둘이 갈린다. 그 질문은 명령 하나면 되고 한 시간의 추측을 대신한다.

대화 상자는 어느 패키지의 것인가

Ubuntu 18.04에서 패키지에는 구체적인 이름이 있고, 더 새로운 릴리스도 같은 분할을 유지했다. 이것들을 대안이 아니라 역할로 읽어야 한다. 하나만 설치해서는 문제가 좀처럼 풀리지 않기 때문이다. 한 패키지는 데몬과 명령줄 클라이언트를 담고 있고, 둘 다 설정 대화 상자를 알지 못한다.

네트워크 관리자가 OpenVPN 연결을 만들고 저장하고 시작할 수 있게 하는 것이 플러그인 패키지다. 편집기 패키지는 양식과 그 필드, 패널이 호출하는 저장 경로를 제공한다. 플러그인은 있지만 편집기가 없는 머신은 설정할 수 없는 유형을 보여 주고, 편집기는 있지만 플러그인이 없는 머신은 아무것도 보여 주지 않는다. 세트를 함께 설치하면 모호함이 사라진다.

sudo apt install openvpn network-manager-openvpn network-manager-openvpn-gnome
nmcli --version

18.04에서 그것들은 대체품이 아니라 실제 아카이브 이름이다. KDE 데스크톱은 자체 편집기 패키지가 필요하고 플러그인도 여전히 필요하며, GNOME 전용 안내서가 빠뜨리는 부분이 바로 그것이다.

재시작도 설치의 일부다

패널은 서비스가 시작될 때 관리자에게 지원하는 유형을 묻고, 이미 그려진 목록은 설치로 새로 고쳐지지 않는다. 따라서 서비스가 실행 중일 때 설치하면 설치가 성공했는데 대화 상자는 그대로인 답답한 조합이 생긴다. 재시작은 선택적인 정리가 아니라 설치를 눈에 보이게 만드는 단계다.

재시작은 몇 초 동안 연결을 끊고, 같은 인터페이스를 타는 SSH 세션도 함께 끊기므로 머신이 원격이라면 그것을 계획해야 한다. 그런 다음 패널을 다시 열고 관리자에게 지원하는 것을 직접 물어라. 직접 조회가 캐시되었을 수 있는 메뉴보다 나은 증거다.

sudo systemctl restart NetworkManager
nmcli -f NAME,TYPE connection show
nmcli connection add type vpn

마지막 명령이 구별하는 시험이다. 플러그인이 있으면 인자 부족으로 실패하고, 없으면 알 수 없는 VPN 유형이라고 보고한다. 한 결과는 채울 양식이고, 다른 하나는 여전히 패키징 문제다. 대비가 뚜렷하길 원하면 설치 전후로 실행하라.

.ovpn 파일은 nmcli가 읽게 하라

받은 프로필을 컨트롤마다 다시 만들 강제는 없다. 관리자는 .ovpn 파일을 직접 읽고 그 지시자를 저장된 연결로 바꾸며, 인라인 인증서도 포함한다. 가져오기는 정확성에서 베껴 쓰기를 능가하는데, 암호를 잘못 입력하거나 키가 잘리면 서버 문제처럼 보이는 고장이 생기기 때문이다.

저장이 끝날 때까지 프로필을 그것이 참조하는 키나 인증서 옆에 두어라. 파일 경로만 저장하는 연결은 그 파일들이 옮겨지면 깨지기 때문이다. 그런 다음 연결을 이름으로 시험하고, 자격 증명 프롬프트에는 전면에서 답해 무엇을 원하는지 보라. 한 번도 활성화하지 않은 저장된 연결은 아무 증거도 아니다.

nmcli connection import type openvpn file ~/Downloads/office.ovpn
nmcli --ask connection up office
nmcli -f NAME,TYPE,STATE connection show --active

그 세 번째 명령은 터널이 기대한 이름으로 올라와 있음을 확인한다. 실패한 연결과 한 번도 활성화하지 않은 연결도 구분한다.

메뉴가 말해 줄 수 없는 것

유형이 없다는 것은 게이트웨이에 대해 아무것도 말하지 않으며, 서버가 OpenVPN을 거부한다는 뜻도 아니다. 메뉴 항목이 보이게 하려고 무관한 프로토콜 플러그인을 설치할 이유는 아니다. 그 두 번째 실수에는 실무에서 이름이 있다. 제공되던 항목이 그것이었기 때문에 사람들은 PPTP나 AnyConnect 프로필을 OpenVPN 서비스로 겨누게 된다.

먼저 패키징을 고쳐라. 서버 질문은 그다음이다. 깔끔하게 가져와지고 한 번도 인증하지 않는 프로필은 편집기 문제가 아니라 인증서, TLS, 자격 증명 문제에서 실패하는 것이다. 각각은 서로 다른 증거를 남기고, 그중 어느 것도 대화 상자에 나타나지 않는다. 설정 패널을 다시 열기 전에 클라이언트 로그를 읽어라.

실제로 쓰는 리소스로 증명하라

유형이 있고 연결이 저장되었으면 연결하고 실제로 쓰는 리소스를 열어라. 활성화만으로는 양 끝이 터널에 합의했다는 것만 증명한다. 터널이 올라오는데 아무것도 나르지 않는 것이 다음 고장 유형이며 패널은 그것을 볼 수 없다.

어떤 리소스를 시험했는지 적어 두어라. 그러면 다음 사람이 처음부터 다시 하지 않고 그 확인을 반복한다. 터널이 올라와 있는데 리소스가 여전히 실패하면 조사는 대화 상자로 돌아가지 않고 라우트와 DNS로 옮겨 간다. 그 메모가 수정과 이야기의 차이다.

관련 글