web-dev-qa-db-ja.com

コマンドラインからVPN構成ファイルをNetworkManagerにインポートする

GUIツール.ovpnを使用してnm-connection-editorファイルをNetworkManagerにインポートできます(nm-appletを右クリックしてEdit connectionsをクリック):Add-> Import a saved VPN configuration...

私の目標は、同じことをすることですが、nm-cliなどのツールを使用してコマンドラインから実行します。どういうわけか可能ですか?

15
petRUShka

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
13
bastian

Debianベースのシステムでnmcliに付属する機能の不足を回避するために使用する回避策は、コマンドを使用して/ etc/NetworkManager/system-settingsフォルダー内の既存のVPN構成ファイルを新しいファイルにコピーすることです(rootとして、もちろん)同じフォルダで、新しいコピーの許可されたユーザー、ゲートウェイ、ユーザー名、パスワードの値を文字列に置き換えます。次に、ネットワークマネージャーを再起動して変更を適用します。

例:

/ 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(読み取りおよび書き込み)に設定され、所有者がrootであることを確認してください。

それを試してみて、あなたの考えを教えてください。それは私にとってはすべて、コマンドラインを介して動作します。

5
Fuzzy Analysis

私はこれをルートから実行するために使用しました:

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)が正常に追加されました。

0
djieno