Linux環境はネットワーク構成をオーバーライドしています。これを止める方法は?


0

LinuxのバリアントがプリロードされたARMシステムがあります。分布がわかりません。カーネル番号はdmesgでしか見ることができません。

/ etc / network / interfacesで、eth0を

auto eth0
iface eth0 inet dhcp

保存して再起動した後(またはifdown eth0に続いてifup eth0を実行)、ネットワークシステムがDHCPサーバーを検索し、有効なIPアドレスで実際にリースを取得していることがわかりますが、ifconfigを実行すると、インターフェイスがDHCPからプルダウンされたアドレスが割り当てられました。192.168。が割り当てられています 住所。

これはどこから来るのでしょうか?

dmesgで、ブート時にDHCPアドレスを上書きしているのと同じアドレスで変数「ip」がカーネルに渡されることに気付きました。このオーバーライド動作を無効にするにはどうすればよいですか?u-bootにipという動的環境変数があることに気付きました。dhcpを設定してnvストレージに保存しましたが、問題は解決しませんでした。u-boot環境変数ipaddrをdhcpに設定しようとしましたが、これが変数の有効な値ではないことが通知されました。

DHCPを介してインターフェイスを構成するにはどうすればよいですか?

回答:


1

ipパラメーターの説明は次のとおりです。

http://www.mjmwired.net/kernel/Documentation/filesystems/nfs/nfsroot.txt#81

カーネルに渡されるパラメーターはbootargs、u-bootで呼び出される変数に保存されます。

printenvbootargsの値が何であるかを確認するには、a を実行します。パラメータ「ip =」がカーネルに渡されている場合は、bootargsから削除できます。

カーネルパラメーターを渡すことができる別の可能性があります。

これはCONFIG_CMDLINEカーネル構成のオプションです。

カーネルがCONFIG_IKCONFIGサポート付きでビルドされている場合、/proc/config.gzファイルがあるはずです。

それには、コピー/tmpし、gunzipそれをしているかどうかをチェックCONFIG_CMDLINEオプションが存在し、それがある場合、IPパラメータが渡されているか否か。

もしそうなら、あなたはそれについて何もすることができません。カーネルの再コンパイルだけがその状況を変えることができます。/etc/rc.localでdhcpを使用して再びipを取得し、カーネルパラメーターから取得したipを上書きできるかどうかはわかりません。


あなたのアイデアをありがとう。元の投稿では言及しませんでしたが、bootargsは定義された変数ではありません。config.gzを使用して提案しましたが、ファイルに変数ipを設定したり、192.168 ipアドレスが含まれているファイルはありません。リンクで提案されているように、ip引数でclient-ipをdhcpに設定してみて、戻ってきます。ありがとう。
user20926

u-bootがインターフェイスでdhcpを無効にしたように見えます。奇妙なことに、前に言ったように、有効なアドレスはリースされましたが、インターフェースに適用されませんでした。u-bootでdhcpをオンに設定することで、問題は解決しました。ありがとう。
user20926
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.