私のWireguard接続を確認するスクリプトを実行するシステムサービスがあります。サービスファイルは次のとおりです。
[Unit]
Description=Check the wg status and restart it if necessary
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/home/checkwg.sh
[Install]
WantedBy=multi-user.target
スクリプトはcheckwg.sh
次のとおりです。
#!/bin/bash
wgout=$(wg show)
if [[ ! -n $wgout ]] # check to see if there is an active wg connection
then
echo "wg appears down, reactivating..."
wg-quick up myvpn # This line throws "Temporary failure in name resolution"
else
echo "wg is up"
fi
wgが開始されたことを確認するif文があります。起動しないと実行されますwg-quick up myvpn
。
スクリプトはrootとして実行すると動作します(私はDietpiを使用しているので、ユーザーのルートは1つだけです)。出力は次のとおりです。
./checkwg.sh
wg appears down, reactivating...
[#] ip link add myvpn type wireguard
[#] wg setconf myvpn /dev/fd/63
[#] ip address add 10.0.4.54 dev myvpn
[#] ip link set mtu 1420 up dev myvpn
[#] ip route add 10.0.0.1/32 dev myvpn
[#] wg set myvpn fwmark 51820
checkwg.service
しかし、(running経由で)実行しようとすると、次のような結果systemctl restart checkwg
が表示されます。
systemctl restart checkwg
journalctl -fu checkwg.service
May 17 10:22:30 camera systemd[1]: Started Check the wg status and restart it if necessary.
May 17 10:22:30 camera checkwg.sh[23181]: wg appears down, reactivating...
May 17 10:22:31 camera checkwg.sh[23181]: [#] ip link add myvpn type wireguard
May 17 10:22:31 camera checkwg.sh[23181]: [#] wg setconf myvpn /dev/fd/63
May 17 10:22:31 camera checkwg.sh[23181]: Temporary failure in name resolution: `myvpn.myhost.com:5555'. Trying again in 1.50 seconds...
May 17 10:22:32 camera checkwg.sh[23181]: Temporary failure in name resolution: `myvpn.myhost.com:5555'. Trying again in 2.25 seconds...
May 17 10:22:34 camera checkwg.sh[23181]: Temporary failure in name resolution: `myvpn.myhost.com:5555'. Trying again in 3.38 seconds...
システムでは自分のホストを確認できませんが、ルートで解決できるのはなぜですか?私はwg-quick up myvpn
これを次のように交換するとping google.com
同じエラーが発生するため、これがワイヤガードの問題ではないと確信しています。Temporary failure in name resolution
ベストアンサー1
システムをFedora 38にアップグレードした後も同じ問題が発生しました。以下を追加して問題を解決しました。
LoadCredential=network.dns
その[Service]
セクションの下にあります。
乾杯、ジェーン。