명령 행에서 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.