4

どのプログラムがDebianスクイーズでdhclientを呼び出すのか知りたいですか?

NetworkManagerだと思いますが、そうではありません。私はそれを削除し(apt-get remove NetworkManager)、コンピューターを再起動したので。

dhclientプログラムは通常どおり実行されます。見る:

~$ ps aux|grep dhclient

root      2042  0.0  0.0   2332   532 ?        Ss   09:47   0:00 dhclient -v -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0

dhclient私もinをgrepし/etcますが、十分なヒントがありません(呼び出し元が見つかりません)。

Debian Squeezeでdhclientプログラムはどのように呼び出されますか?

4

3 に答える 3

8

ifupdownでコーディングされています。

http://packages.debian.org/stable/ifupdown

ソースをダウンロードして

inet.cを作成します

関数dhcp_up()を確認してください:

static int dhcp_up(interface_defn *ifd, execfn *exec) {
{
  if (!execute("[[ifconfig %iface% hw %hwaddress%]]", ifd, exec)) return 0;
}
if ( execable("/sbin/dhclient3") ) {
  if (!execute("dhclient3 -pf /var/run/dhclient.%iface%.pid -lf /var/lib/dhcp3/dhclient.%iface%.leases %iface%", ifd, exec)) return 0;
}
else if ( execable("/sbin/dhclient") ) {
  if (!execute("dhclient -v -pf /var/run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases %iface%", ifd, exec)) return 0;
}
else if ( execable("/sbin/pump") && mylinuxver() >= mylinux(2,1,100) ) {
  if (!execute("pump -i %iface% [[-h %hostname%]] [[-l %leasehours%]]", ifd, exec)) return 0;
}
else if ( execable("/sbin/udhcpc") && mylinuxver() >= mylinux(2,2,0) ) {
  if (!execute("udhcpc -n -p /var/run/udhcpc.%iface%.pid -i %iface% [[-H %hostname%]]            [[-c %client%]]", ifd, exec)) return 0;
}
else if ( execable("/sbin/dhcpcd") ) {
  if (!execute("dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]]            [[-l %leasetime%]] %iface%", ifd, exec)) return 0;
}
return 1;
}
于 2013-02-07T04:40:27.007 に答える
3

ifupdown(設定ファイル:) /etc/network/interfaces

于 2013-02-06T03:17:28.600 に答える
2

代わりに、dhcpを無効にして、インターフェイスの静的IPアドレスを設定する必要があります

これは/etc/ network/interfacesで実行できます

変化する:

# The primary network interface
allow-hotplug eth0
auto eth0
iface eth0 inet dhcp

に:

# The primary network interface
allow-hotplug eth0
auto eth0
iface eth0 inet static
  address 192.168.0.1
  netmask 255.255.255.0

再起動後、dhclientは消えるはずです。

于 2013-02-06T03:13:53.713 に答える