시작시 VPN에 연결하려고 할 때 오류


13

이 질문이 업데이트되었습니다. 이 게시물의 꼬리 끝을 참조하십시오.

VPN 서비스가 시작될 때 Mythbuntu 컴퓨터가 VPN 서비스에 연결되도록 설정하려고합니다. Mythbuntu 컴퓨터가 항상 모든 인터넷 연결에 VPN을 사용하기를 바랍니다.

나는 스크립트 발견 아마 그렇게 할 것이며, 그것은 다음과 같습니다 :

#!/bin/bash
while [ "true" ]
do
    VPNCON=$(nmcli con status)
    if [[ $VPNCON != "*MyVPNConnectionName*" ]]; then
        echo "Disconnected, trying to reconnect..."
        (sleep 1s && nmcli con up uuid df648abc-d8f7-4ce4-bdd6-3e12cdf0f494)
    else
        echo "Already connected !"
    fi
    sleep 30
done

내 컴퓨터에서이 스크립트를 실행하면 다음 오류가 발생합니다.

$ /home/mythbuntu/VPN_start.sh
Disconnected, trying to reconnect...
Error: Connection activation failed: Not authorized to control networking.

권한 문제 일 수 있다고 생각했기 때문에 sudo로 실행 해 보았습니다.

$ sudo /home/mythbuntu/VPN_start.sh
[sudo] password for mythbuntu: 
Disconnected, trying to reconnect...
Active connection state: unknown
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/1
state: VPN connecting (need authentication) (2)
Error: Connection activation failed: no valid VPN secrets.

부팅 또는 로그인시 스크립트를 실행하여 항상 VPN으로 연결되도록하려면이 스크립트를 오류없이 실행하려면 어떻게해야합니까?

더 나은 스크립트 나 방법을 가진 사람이라면 대답으로 충분할 것입니다.


다음은 내 / etc / NetworkManager / system-connections / MyVPN 파일의 내용입니다 (일부 세부 정보는 프라이버시를 위해 x 문자로 대체 됨).

[connection]
id=MyVPN
uuid=xxxxxxxxxx-xxxx-xxxx-xxxxx-xxxxxxxxxxxxxxx
type=vpn

[vpn]
service-type=org.xxxxxxxxxxxxxx.xxxxxxxxxxxxxxx.openvpn
username=xxxxxxxxxx
comp-lzo=yes
remote=us-xxxxxx.xxxxxxx.com
connection-type=password
password-flags=0
ca=/etc/openvpn/xxxxxxx.crt

[vpn-secrets]
password=xxxxxxxxxxx

[ipv4]
method=auto
never-default=true

또한 Xfce 패널의 오른쪽 상단에있는 애플릿을 사용하여 VPN을 켤 때 아무런 문제가 없음을 추가하고 싶습니다. 따라서 문제는 잘못된 인증 중 하나가 아닌 명령 줄 에서이 작업을 수행하려고 할 때의 구성으로 보입니다.

최신 정보:

12.10으로 업그레이드 할 때 무엇이 ​​변경되었는지 확실하지 않지만 이제 명령 줄에서 VPN 서비스를 시작할 수 있습니다. 그러나이 명령은 컴퓨터를 처음 시작할 때 한 번만 작동하며로 실행해야합니다 sudo.

mythbuntu@mythbuntu:~$ nmcli con up id "Private Internet Access SSL"
Error: Connection activation failed: Not authorized to control networking.
mythbuntu@mythbuntu:~$ sudo nmcli con up id "Private Internet Access SSL"
[sudo] password for mythbuntu: 
mythbuntu@mythbuntu:~$

sudo이것을 실행하는 데 사용해야하므로 시작할 때 자동으로 실행할 수 없습니다.

슈퍼 사용자 권한없이 VPN을 시작할 수 있도록하려면 어떻게해야합니까?

답변:


8

문제는 열쇠 고리의 암호에 액세스 할 수없는 것 같습니다.

출처

솔루션 열린 파일에이 언급 등 / / 네트워크 매니저 / 시스템 연결 / connectionName에 및 설정

password-flags=0

아래 줄을 파일에 추가하십시오.

 [vpn-secrets]
 password=YourPassword

그런 다음 네트워크 관리자를 다시 시작하여 변경 사항을 적용하십시오.

 sudo restart network-manager

자세한 내용은 소스를 참조하십시오


유용한 정보를 주셔서 감사합니다. 내가 붙어있는 한 부분은 /etc/NetworkManager/system-connections/ConnectionName파일 이 없다는 것입니다. 따라서 "[vpn]에서 편집"이라고 말하면 어떻게 처리해야할지 모르겠습니다. 파일을 만들 수 있습니까?
Questioner

예 / etc / NetworkManager / system-connections / <name-of-your-vpn-connection> 및 password-flags형식 1을 0으로 변경 nmcli con합니다. 연결을 나열하는 데 사용합니다.
devav2

알았어, 지금 알았어 올바른 파일을 찾는 데 실수하고 있다는 것을 깨달았습니다. 그러나 이제 모든 수정 제안을 제안했지만 불행히도 여전히 동일한 Not authorized to control networking오류가 발생합니다.
Questioner

NetworkManager 연결 편집기를 다시 열고 VPN 비밀번호 또는 비밀번호를 다시 입력하십시오.
devav2

Network Manager를 열고 비밀번호를 다시 입력했습니다 (인터페이스를 열 때 비 었음). 나는 "비밀"과 관련된 다른 것을 보지 못했습니다. 스크립트를 저장 한 다음 다시 시도했습니다. 여전히 같은 오류 메시지입니다.
Questioner

2

시작시 VPN을 자동으로 시작하려면

자격 증명 파일이 작동한다고 가정하면 dispatcher.d원래 VPN을 시작해야했던 것처럼 스크립트 를 사용할 수 있어야합니다 . 2 개의 연결 (집에서 무선 라우터, 직장에서 유선 연결)로 작동하도록 스크립트를 약간 수정했습니다. 필요한 인터넷 연결 중 하나가 살아있을 때 VPN이 시작되지 않으면 VPN을 시작하기를 원하기 때문입니다. 이 예에서는 기본 이름으로 구성했지만 자신의 이름과 일치하도록 변경해야합니다.

이것을 파일 /etc/NetworkManager/dispatcher.d/vpn-up에 넣고 다음을 사용하여 실행 가능하게하십시오.chmod +x

#! /bin/bash

REQUIRED_CONNECTION1_NAME="linksys"
REQUIRED_CONNECTION2_NAME="Wired connection 1"
VPN_CONNECTION_NAME="My VPN"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION1_NAME}\|${REQUIRED_CONNECTION2_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

NetworkManager에서 클라이언트 인증서를 구성하려면

VPN을 인증하기 위해 비밀번호가있는 클라이언트 인증서를 사용하는 경우 약간 문서화되어 있지 않습니다.

NetworkManager 0.9 settings specification을 탐색 한 후 구성 파일에 VPN 인증서 패스를 지정하는 방법을 판별 할 수 없습니다. 나는 seahorse' VPN 비밀 '(인증서 암호)을 열고 찾았 습니다 .

' VPN cert-pass secret for My VPN / org.freedesktop.NetworkManager.openvpn / vpn ' 과 같은 이름으로 표시되었습니다 . 세부 정보 탭을 클릭하면 setting-key이름에 대한 실마리가 나옵니다 .

setting-name: vpn
setting-key: cert-pass
connection-uuid: 0badcafe-f00d-dead-beef-feedfacef00d

NetworkManager 0.9.4.0을 사용하여 Ubuntu 12.04 (Precise Pangolin)에서 루트로 VPN을 자동으로 시작하려면 다음을 수행하십시오.

파일을 다음과 같이 보이도록 VPN 비밀을 열고 /etc/NetworkManager/system-connections/My VPN추가하십시오 cert-pass.

[connection]
id=My VPN
uuid=0badcafe-f00d-dead-beef-feedfacef00d
type=vpn
timestamp=1234567890

[vpn]
service-type=org.freedesktop.NetworkManager.openvpn
key=/home/<your-user>/path/to/certs/your.secure.key
ca=/home/<your-user>/path/to/certs/your.vpnca.crt
connection-type=tls
cert=/home/<your-user>/path/to/certs/your.crt
remote=your.vpn-server.com
cert-pass-flags=0
[vpn-secrets]
cert-pass=your-vpn-pass

[ipv4]
method=auto
never-default=true

이 답변에 감사드립니다. 내 system-connections당신과 다른는하지만, 그래서 내가 편집 한 내용을 적용하는 방법에 대한 확실 해요. 나는이없는 keytimestamp, 그리고 내 연결 유형이다 password,하지 tls. 내 파일을 질문에 추가했습니다.
Questioner

사용하는 경우 devav2에서 제안한 제목 아래에 connection-type=password사용 password-flags=0하고 있어야합니다 . password=YourPassword[vpn-secrets]
TrinitronX

그러나 오류로 인해 실행중인 사용자에게 VPN_start.sh네트워킹 관리 권한이 없음을 나타냅니다. 권한이없는 루트가 아닌 사용자로 VPN 연결을 관리하려면 /etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf파일에 일부 정책을 추가해야 합니다.
TrinitronX

권한 문제 일 경우 스크립트를 실행하면 스크립트가 작동하지 sudo않습니까? 내 질문에 언급했듯이 그것을 실행할 때 실패 sudo합니다.
Questioner

좋은 지적! sudo로 실행하면 왜이 오류가 발생하는지 잘 모르겠습니다. 라우터가 쉽게 구성 할 수 없기 때문에 VPN 유형을 직접 테스트 할 수 없었습니다. NetworkManager 애플릿을 통해 VPN 연결이 제대로 작동하면 확인할 것이 무엇인지 모릅니다.
TrinitronX
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.