Binding dhclient to a particular network interface

Jasvinder S. Bahra bbdl21548 at
Sun Jul 29 23:27:50 UTC 2007


Thanks for responding, but I think theres been a misunderstanding here.

The network setup on my machine is working correctly.  My switch-facing
network card has a fixed IP address, while the cable-modem facing network
card is assigned one by the DHCP server built into the cable modem.  This is
achieved by the following settings in /etc/rc.conf ...

network_interfaces="ed1 ed2 lo0"
ifconfig_ed2="inet  netmask"

The DHCP reference for ed1 means dhclient is started (thereafter running
continuously as a daemon), which sets ed1's IP address to that assigned by
the cable modem.

Note that dhclient generally runs as a daemon because it has to handle lease
renewals and/or expiration.  I have no issues with it running as a daemon.

However, it is listening on all interfaces (which I do have an issue with),
i.e. running the command "sockstat -l4" on my system returns...

USER:  root
COMMAND:  dhclient
PID:  267
FD:  4
PROTO:  udp4

As you can see, local address is listed as "*:68", which means its listening
on port 68 on all interfaces.  I want to instruct dhclient to only listen on
my cable-modem facing network card.  If this were the case, issuing the
"sockstat -l4" command would return as above, but with local address saying
<<CABLE-MODEM-ASSIGNED-IP-ADDRESS>> is, unsurprisingly, the IP address
assigned to the network card by the DHCP server in the cable modem).

Thanks again,


----- Original Message ----- 
From: "Adam J Richardson" < at>
To: "Jasvinder S. Bahra" <bbdl21548 at>
Cc: <freebsd-questions at>
Sent: Sunday, July 29, 2007 9:27 PM
Subject: Re: Binding dhclient to a particular network interface

> Jasvinder S. Bahra wrote:
> >
> > Is there a way of instructing dhclient to listen only on the cable-modem
> > facing network interface?
> Hi Jazz,
> I don't find it necessary to run dhclient as a daemon. My server has two
> interfaces, one wired and one wifi. In my /etc/rc.conf:
> ifconfig_fxp0="DHCP"
> ifconfig_ndis0="WPA DHCP"
> [You might recognise ndis as the Project Evil driver for using Windows
> network drivers under BSD.]
> When the netstart script runs, those two lines have the effect of
> starting wpa_supplicant on ndis0, and running dhclient on both interfaces.
> Supposing I temporarily assign a static IP to fxp0, I can revert to DHCP
> by typing:
> $ sudo dhclient fxp0
> which does some DHCP magic and gets a lease.
> If I take ndis0 down I find I have to run /etc/netstart again to get it
> back up, but you didn't want to know that.
> HtH
> Adam J Richardson

More information about the freebsd-questions mailing list