ovpn プロファイルにresolvectl コマンドを配置するにはどうすればよいですか?

ovpn プロファイルにresolvectl コマンドを配置するにはどうすればよいですか?

Ubuntu 20.04 LTSからプライベートネットワークに接続するためのovpn構成があります。しかし、VPNを起動するたびにこれらのコマンドを実行する必要があります

resolvectl dns tun0 10.0.0.255
resolvectl domain tun0 "~domain1.com"
resolvectl domain tun0 "~domain2.com"

DNS をプライベート サブドメインで動作させる。これらのコマンドを ovpn 構成に含めて、この VPN に接続するときに自動的に実行することは可能ですか?

答え1

私のように network-manager-openvpn を使用している場合は、次の方法で問題を永続的に解決できる可能性があります。

sudo nmcli connection modify VPN_NAME \                              
    ipv4.dns-search '~domain1.com, ~domain2.com' ipv6.dns-search '~domain1.com, ~domain2.com' ipv4.dns 10.0.0.255

ソース:https://ask.fedoraproject.org/t/systemd-resolved-not-querying-dns-server-set-by-openvpn/9696/9

DNS サーバーに関する部分は試していません。注意してください。これにより、プッシュされた設定が上書きされます。一部のドメインを検索ドメインとして使用する場合は、単に「~」を省略します。

答え2

--upおよび--downパラメータ(またはup/設定ディレクティブ)を使用してdown、接続の確立/終了後に実行されるスクリプトを指定することができます。ないシェル式 ( など--up 'resolvectl dns tun0 10.0.0.255 && resolvectl domain tun0 "~domain1.com"') を使用しますが、機能しません。

また、OpenVPN が外部スクリプトを呼び出すことを許可するには、 を渡してください--script-security 2

お読みください公式 OpenVPN ドキュメントさらに質問がありますか。

関連情報