2012-04-26 19 views
0

私のIPv6設定の状態を返すためのコードを書いています。私のIPv6の状態を返すために呼び出すことができるLinuxシステムスクリプト(またはC/C++関数)はありますか?たとえば、Auto、Manual、DHCPv6などの3つの状態が考えられます。これを判断するには、いくつかのフラグが必要です。私はIPv6設定状態を取得する

ip -f inet6 addr show eth0 scope global | grep inet6 

を見てきたと範囲は、動的示しているが、これは、IPv6 CONFの変化に応じて変更することができるフラグです。それは出力する

inet6 <ipv6 addr> scope global deprecated dynamic 

ありがとう。

答えて

1

インタフェースが手動で構成されているか、自動構成を使用しているか、またはDHCPを使用しているかを把握することが目標であれば、インタフェースからその情報を取得することはできません。一般的に、インターフェイスはがどのように設定されているかわかりません。その情報はシステムのネットワーク構成でエンコードされます。

たとえば、DHCPを使用するシステムは、DHCPサーバからリースを取得し、次にifconfigまたはipを呼び出してインターフェイスを設定します。これはです。手動でインターフェイスを設定していると区別できません。

RedHat-ishシステムでは、/etc/sysconfig/network-scriptsにその情報があります。 ifcfg-*ファイルには、構成を定義する一連のシェル変数が含まれています。例えば、私のシステム上の/etc/sysconfig/network-scripts/ifcfg-em1は含まれています:Debianのっぽいのシステムの下では

IPV6INIT=yes 
IPV6_AUTOCONF=yes 

は、あなたが/etc/network/interfacesに同様の情報を見つけることができます。

+0

'/ etc/sysconfig/network'は私のシステムには見当たりません。 –

+0

多分私は/ etc/network/interfacesを意味していましたか? 3年前だった。いずれにしても、UbuntuにIPv6用の優れたドキュメントがあります。これはおそらくより多くの使用が見込まれます。https://wiki.ubuntu.com/IPv6 – larsks

関連する問題