Debianベースのヘッドレスボックスがあります。 Webインターフェイスを介してアクセスできるように設計されています。ネットワークが通過しました/etc/network/interfaces
。ファイルが実際に有効であることを確認しようとしています。私の考えは、ファイルにエラーがあるかどうかを確認し、その場合はデフォルトのファイルに戻ることです。
私の質問は、質問の最初の部分であるdiscover error in filesに関するものですinterfaces
。
コマンドの使用について多くの質問がありましたifup --no-act
が、実際に見たのは、このアプローチは私の状況に十分強力ではないということです。たとえば、
root@arm:~# ifup --no-act --interfaces=/etc/network/interfaces eth0
run-parts /etc/network/if-pre-up.d
ip addr add 1s23.123.123.123/255.255.255.192 broadcast + dev eth0 label eth0
ip link set dev eth0 up
ip route add default via 123.123.123.122 dev eth0
run-parts /etc/network/if-up.d
無効なIPアドレスセット(最初のオクテットに追加の「s」)を書き留めます。このコマンドはエラーを提供せず(とにかく表示されます)、この状態のファイルでコンピュータを再起動するとネットワーク機能が失われます。動作するinterfaces
結果は非常に似ています(部分を除くbroadcast +
)。
root@arm:~# ifup --no-act --interfaces=/etc/network/interfaces eth0
run-parts /etc/network/if-pre-up.d
ip addr add 123.123.123.123/255.255.255.192 broadcast 123.123.123.127 dev eth0 label eth0
ip link set dev eth0 up
ip route add default via 123.123.123.122 dev eth0
run-parts /etc/network/if-up.d
これは主に私が避けたい問題です。私の質問は、/etc/network/interfaces
ファイル内の誤った設定を検出する方法です。プラス記号はエラーを示しますか?どういう意味ですか?この問題を解決するための最良の方法は何ですか?
ベストアンサー1
短い答え:ifup --no-act
ネットワーク設定を使用して電話をかけて戻りコードをテストして確認します。
長い答え:私は組み込みデバイスに対して非常に似た仕事をしてきました。これには、networking
起動前に実行され、システムが有効なイーサネット設定を持つようにするために作成されたinitスクリプトの関連部分があります。
ETH0_CUSTOM=/var/myproject/etc/interfaces.eth0
result=1
if [ -f "${ETH0_CUSTOM}" ]; then
ifup -n -i "${ETH0_CUSTOM}" eth0
if [ $? -eq 0 ]; then
ln -sf "${ETH0_CUSTOM}" /etc/network/interfaces.eth0
result=0
else
echo "Validating ${ETH0_CUSTOM} failed"
fi
fi
if [ ${result} -ne 0 ]; then
ln -sf /etc/network/interfaces.eth0.default /etc/network/interfaces.eth0
fi
元のバージョンでは/etc/network/interfaces
有効な設定
source /etc/network/interfaces.eth0