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

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

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

私の目標は同じことをすることですが、コマンドラインでnm-cli可能ですか?

答え1

私はnmcliバージョン1.2.6を使用しており、それを使用してopenvpn設定をインポートできます。

nmcli connection import type openvpn file ~/myconfig.ovpn

これから私のVPNはNetworkManager UIにも表示されます。

接続をさらに構成するには、このshowコマンドを使用して接続名を見つけてmodify構成値を変更できます。

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

答え2

Debianベースのシステムでnmcliの機能不足の問題を解決するために使用した解決策は、コマンドを使用して/etc/NetworkManager/system-settingsフォルダにある既存のVPN設定ファイルを新しいファイルにコピーすることでした(もちろん、rootとして) 。同じフォルダー内の新しいコピーで許可されているユーザー、ゲートウェイ、ユーザー名、およびパスワード値に対して文字列置換を実行します。その後、Network Managerを再起動して変更を適用しました。

たとえば、

/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"

...その後、上記の<<String>>の値を独自の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であることを確認してください。

一度使ってみて、どう思うか教えてください。それはコマンドラインを通して私に効果的です。

答え3

私はこれをルートで実行するために使用します。

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

関連情報