Binding dhclient to a particular network interface

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


Adam,

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_ed1="DHCP"
ifconfig_ed2="inet 10.1.0.1  netmask 255.255.255.0"
ifconfig_lo0="inet 127.0.0.1"

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
LOCAL ADDRESS:  *:68
FOREIGN ADDRESS: *:*

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>>:68" (where
<<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,

Jazz

----- Original Message ----- 
From: "Adam J Richardson" <fatman.uk at gmail.com>
To: "Jasvinder S. Bahra" <bbdl21548 at blueyonder.co.uk>
Cc: <freebsd-questions at freebsd.org>
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