.ovpn
GUIツールを使用してファイルをNetworkManagerにインポートできますnm-connection-editor
(右クリックしてnm-applet
をクリックEdit connections
):Add
-> Import a saved VPN configuration...
。
私の目標は同じことをすることですが、コマンドラインを介してのようなツールを使用しますnm-cli
。何とか可能ですか?
.ovpn
GUIツールを使用してファイルをNetworkManagerにインポートできますnm-connection-editor
(右クリックしてnm-applet
をクリックEdit connections
):Add
-> Import a saved VPN configuration...
。
私の目標は同じことをすることですが、コマンドラインを介してのようなツールを使用しますnm-cli
。何とか可能ですか?
回答:
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
誤って構成データに間違ったものを追加した場合の使用方法はありますか?
debianベースのシステムで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(読み取りおよび書き込み)に設定され、所有者がrootであることを確認してください。
試してみて、あなたの考えを教えてください。私にとっては、すべてコマンドラインを介して動作します。
私はこれを使用してルートから実行しました:
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)が正常に追加されました。
japie
使用するように切り替えますrunuser
が、その後でルートに切り替えますsudo
...
runas
...要するに、私が言っているのは、それで十分であるべきだということですnmcli connection import type openvpn file ~japie/vpn_clients/flappie3-TO-IPFire.ovpn
。