私はDHCPを使用しており、IPv4とIPv6の両方を持っています。ネットワークを構成するときにIPv6 DDNSサービスを更新するスクリプトを実行したいと思います。
スクリプトを生成しましたが、/etc/network/if-up.d/update_dns
DNS解決エラー(curl: (6) Could not resolve host: dynv6.com
)で失敗しました。ログには、IPv6 DHCPが完了する前に実行中としてマークされます。 IPv4の準備ができてスクリプトが起動したためです。
IPv6が必要なスクリプトを別の場所に配置する必要がありますか?持つ多くの答えこのアドバイスはif-up.d
正しい場所ですか?
私はすでに(DHCPを待つスクリプトSlow Boot
)を持っているRaspbian Jessie Liteを使用しています。/etc/systemd/system/dhcpcd.service.d/wait.conf
ネットワークが準備される前に以前に実行された同様の問題を解決します。。
network/dhcp/eth0 を含む以下のすべてのログが含まれています。
Apr 6 20:49:58 raspberrypi systemd[1]: Starting LSB: Raise network interfaces....
Apr 6 20:49:58 raspberrypi networking[223]: Configuring network interfaces...* Hostname was NOT found in DNS cache
Apr 6 20:49:58 raspberrypi networking[223]: % Total % Received % Xferd Average Speed Time Time Time Current
Apr 6 20:49:58 raspberrypi networking[223]: Dload Upload Total Spent Left Speed
Apr 6 20:49:58 raspberrypi networking[223]: 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Could not resolve host: dynv6.com
Apr 6 20:49:58 raspberrypi networking[223]: * Closing connection 0
Apr 6 20:49:58 raspberrypi networking[223]: curl: (6) Could not resolve host: dynv6.com
Apr 6 20:49:58 raspberrypi networking[223]: done.
Apr 6 20:49:58 raspberrypi systemd[1]: Started LSB: Raise network interfaces..
Apr 6 20:49:58 raspberrypi systemd[1]: Starting dhcpcd on all interfaces...
Apr 6 20:49:58 raspberrypi dhcpcd[385]: version 6.7.1 starting
Apr 6 20:49:58 raspberrypi dhcpcd[385]: dev: loaded udev
Apr 6 20:49:58 raspberrypi dhcpcd[385]: eth0: adding address fe80::1073:c87:ef15:c4a3
Apr 6 20:49:58 raspberrypi dhcpcd[385]: eth0: waiting for carrier
Apr 6 20:49:58 raspberrypi dhcpcd[385]: wlan0: waiting for carrier
Apr 6 20:50:00 raspberrypi dhcpcd[385]: eth0: carrier acquired
Apr 6 20:50:00 raspberrypi dhcpcd[385]: DUID 00:01:00:01:1e:7e:75:f4:b8:27:eb:8c:48:b0
Apr 6 20:50:00 raspberrypi dhcpcd[385]: eth0: IAID eb:8c:48:b0
Apr 6 20:50:01 raspberrypi dhcpcd[385]: eth0: rebinding lease of 192.168.0.100
Apr 6 20:50:01 raspberrypi dhcpcd[385]: eth0: soliciting an IPv6 router
Apr 6 20:50:02 raspberrypi dhcpcd[385]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr 6 20:50:02 raspberrypi dhcpcd[385]: eth0: adding address fd41:6d80:6364:0:bcdf:ae43:354b:1e46/64
Apr 6 20:50:02 raspberrypi dhcpcd[385]: eth0: adding address 2a02:c7d:2bbb:9f00:76b3:47f9:2c11:fea4/64
Apr 6 20:50:02 raspberrypi dhcpcd[385]: eth0: adding route to fd41:6d80:6364::/64
Apr 6 20:50:02 raspberrypi dhcpcd[385]: eth0: adding route to 2a02:c7d:2bbb:9f00::/64
Apr 6 20:50:02 raspberrypi dhcpcd[385]: eth0: adding default route via fe80::c23e:fff:fe63:5170
Apr 6 20:50:02 raspberrypi dhcpcd[385]: eth0: requesting DHCPv6 information
Apr 6 20:50:06 raspberrypi dhcpcd[385]: eth0: leased 192.168.0.100 for 86400 seconds
Apr 6 20:50:06 raspberrypi dhcpcd[385]: eth0: adding route to 192.168.0.0/24
Apr 6 20:50:06 raspberrypi dhcpcd[385]: eth0: adding default route via 192.168.0.1
Apr 6 20:50:06 raspberrypi dhcpcd[385]: forked to background, child pid 716
Apr 6 20:50:06 raspberrypi systemd[1]: Started dhcpcd on all interfaces.
Apr 6 20:50:06 raspberrypi ntpd[757]: Listen normally on 3 eth0 192.168.0.100 UDP 123
Apr 6 20:50:06 raspberrypi ntpd[757]: Listen normally on 5 eth0 2a02:c7d:2bbb:9f00:76b3:47f9:2c11:fea4 UDP 123
Apr 6 20:50:06 raspberrypi ntpd[757]: Listen normally on 6 eth0 fe80::1073:c87:ef15:c4a3 UDP 123
Apr 6 20:50:06 raspberrypi ntpd[757]: Listen normally on 8 eth0 fd41:6d80:6364:0:bcdf:ae43:354b:1e46 UDP 123
答え1
if-up.d スクリプトは複数回実行されます。変わりやすい$ADDRFAM」に設定されます。イントラネット「そして」イントラネット6IPv4とIPv6をそれぞれ設定するとき。bashを使用している場合は、スクリプトでこの変数を確認してください。
[ "$ADDRFAM" == "inet6" ] || exit 0
(注:これは静的IPv6アドレスが設定されている場合に発生します。SLAACまたはDHCPv6のみを使用している場合は発生しない可能性があります。テストしていません。)