명령 행에서 VPN 구성 파일을 NetworkManager로 가져 오기


14

.ovpnGUI 도구를 통해 파일을 NetworkManager로 가져올 수 있습니다 nm-connection-editor(마우스 오른쪽 버튼을 클릭 하고을 nm-applet클릭하십시오 Edit connections) : Add-> Import a saved VPN configuration....

내 목표는 같은 도구를 사용하여 같은 작업을 수행하는 것 nm-cli입니다. 어떻게 든 가능합니까?


이것으로 어떤 진전이 있었습니까? 나는 똑같은 일을하려고하므로 그것이 작동하면 답변을 게시 할 것입니다.
David Mason

@DavidMason, 불행히도. 나는 당신의 해결책을 기다리고 있습니다.
petRUShka

나는 해결책도 적극적으로 찾고 있습니다.
Raspbeguy

커맨드 라인으로 가져 오기위한 솔루션을보고 싶습니다
davidbaumann

답변:


10

nmcli 버전 1.2.6을 사용하고 있으며 openvpn 구성을 가져 오는 데 사용할 수 있습니다.

nmcli connection import type openvpn file ~/myconfig.ovpn

이제부터 NetworkManager UI에서도 내 VPN이 표시됩니다.

연결을 추가로 구성하려면 show명령을 사용 하여 연결 이름을 찾고 modify구성 값을 변경할 수 있습니다.

nmcli connection show
nmcli connection modify myvpnconnectionname +vpn.data username=myusername

-vpn.data실수로 구성 데이터에 잘못된 것을 추가 한 경우 사용 방법을 알고 있습니까?
32r34wgf3e

@ 32r34wgf3e 몰라요. 내 구성이 잘못되면 구성을 삭제하고 대답에 요약 된대로 명령 줄에서 새로 설정합니다. 팁 : 나중에 재사용 할 수 있도록 명령을 텍스트 파일에 저장하십시오.
bastian

5

데비안 기반 시스템에서 nmcli와 함께 제공되는 기능 부족을 극복하기 위해 사용하는 해결 방법은 명령을 사용하여 / etc / NetworkManager / system-settings 폴더의 기존 VPN 구성 파일을 새 파일 (루트, 물론) 같은 폴더에 새 사본의 허용 된 사용자, 게이트웨이, 사용자 이름 및 비밀번호 값을 문자열로 바꿉니다. 그런 다음 변경 사항을 적용하기 위해 네트워크 관리자를 다시 시작합니다.

예를 들면 다음과 같습니다.

/ etc / NetworkManager / system-settings 폴더의 일반적인 구성 파일은 다음과 같습니다.

[connection]
id=<<id>>
uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
type=vpn
permissions=user:<<permissions_user>>:;
autoconnect=false

[vpn]
password-flags=0
service-type=org.freedesktop.NetworkManager.pptp
require-mppe-128=yes
mppe-stateful=yes
user=<<user>>
refuse-eap=yes
refuse-chap=yes
gateway=<<gateway>>
refuse-pap=yes

[vpn-secrets]
password=<<password>>

[ipv4]
method=auto

... 위와 비슷한 새 구성 파일을 만들 수 있습니다 ...

cd /etc/NetworkManager/system-settings
cp "existing-working-vpn-config-file" "new-vpn-config-file"

... 위의 '<< >>'값을 고유 한 VPN 설정으로 바꾸십시오. 예 :

sed -i "s/<<permissions_user>>/my_permissions_user/g" new-vpn-config-file
sed -i "s/<<user>>/my_user/g" new-vpn-config-file
sed -i "s/<<gateway>>/my_gateway/g" new-vpn-config-file
sed -i "s/<<password>>/my_password/g" new-vpn-config-file

... 그리고 마지막으로 다음 명령을 통해 네트워크 관리자를 다시 시작하십시오.

service network-manager restart

참고 : UUID 설정은 고유하지 않더라도 중요하지 않습니다. 왜 그런지 모르겠다. 물건이 작동합니다.

또한 복사하지 않고 새 파일을 추가하는 경우 파일에 대한 권한이 600 (읽기 및 쓰기)으로 설정되어 있고 소유자가 루트인지 확인하십시오.

기회를주고 당신의 생각을 말해주세요. 그것은 모두 명령 줄을 통해 나를 위해 작동합니다.


0

나는 이것을 루트에서 실행하기 위해 사용했다 :

USER=japie
runuser -l $USER -c "sudo -S nmcli connection import type openvpn file ~/vpn_clients/flappie3-TO-IPFire.ovpn"

'flappie3-TO-IPFire'연결 (26d0b28e-9212-4e71-90dc-3911ddf231e5)이 성공적으로 추가되었습니다.


runuser사용자가 사용하도록 sudo합니까? 이것은 이미 예에 언급되지 않은 아무것도 추가하지 않습니다 명령 줄에서 네트워크 매니저로 가져 오기 VPN 설정 파일
Kusalananda

노트북 등록 스크립트는 루트로 실행
djieno

물론, 당신은 japieusing으로 전환 runuser하지만, 다음으로 루트로 다시 전환합니다 sudo.
Kusalananda

당신이 "sudo를 ..."현재 사용자를 추가하지 않을 경우 / nmcli 실행하기에 충분한 권한 japie이 없습니다
djieno

그렇다면 그 사용자로 전환하지 마십시오 runas... 간단히 말하면으로 충분해야한다는 것입니다 nmcli connection import type openvpn file ~japie/vpn_clients/flappie3-TO-IPFire.ovpn.
Kusalananda
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.