Network down after upgrade to FreeBSD 10.0-BETA3

mahashakti89

Active Member

Reaction score: 4
Messages: 123

Hello,

I used freebsd-update to upgrade to 10.0-BETA3. Some ports need to be reinstalled, but the problem is that now the network is down. On start I get this:
Code:
dhclient failed to start
If I try to start it by hand I get this:
Code:
dhclient 
chroot
exiting
Extract from /etc/rc.conf:
Code:
ifconfig_em0="DHCP"
ifconfig_re0="DHCP"
dhcp_program="/sbin/dhclient"
I also used bsdinstall to reinstall dhclient but it didn't work.

Any help will be welcome.

mahashakti89
 

Juanitou

Well-Known Member

Reaction score: 124
Messages: 453

I got the same problem here after the first reboot, but after issuing a service netif restart the network came alive. I’m just using FreeBSD as a desktop, so maybe disregard my observations, but I've never seen chroot associated with dhclient, neither the line
Code:
dhcp_program="/sbin/dhclient"
Why is it needed?
 
OP
OP
M

mahashakti89

Active Member

Reaction score: 4
Messages: 123

Hello!

I tried it with service netif restart but had no success, I got the following error message:

Code:
Stopping Network: lo0 em0 re0.
lo0: flags=8048<LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
	inet6 ::1 prefixlen 128 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
em0: flags=8c02<BROADCAST,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
	ether f4:6d:04:99:c9:db
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
re0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
	ether f4:6d:04:99:dd:d1
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
Starting dhclient.
Starting dhclient.
Starting Network: lo0 em0 re0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
	inet6 ::1 prefixlen 128 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 
	inet 127.0.0.1 netmask 0xff000000 
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
	ether f4:6d:04:99:c9:db
	inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
	ether f4:6d:04:99:dd:d1
	inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
and after that:
Code:
WARNING dhclient failed to start
chroot
exiting
I also have no idea what chroot is doing here.

Regards

mahashakti89
 

cpm@

Moderator
Staff member
Moderator
Developer

Reaction score: 936
Messages: 2,134

Per rc.conf(5)() manpage, you can note that the dhcp_program variable was changed: % man rc.conf | less -p dhclient_program

So you are using the dhcp_program variable which was replaced for the newest dhclient_program variable some time ago.

http://lists.freebsd.org/pipermail/freebsd-doc/2008-October/014851.html.

From /usr/src/sbin/dhclient/dhclient.c
Code:
/* set up the interface */
        discover_interfaces(ifi);

        if (chroot(_PATH_VAREMPTY) == -1)
                error("chroot");
        if (chdir("/") == -1)
                error("chdir(\"/\")");

        if (setgroups(1, &pw->pw_gid) ||
            setegid(pw->pw_gid) || setgid(pw->pw_gid) ||
            seteuid(pw->pw_uid) || setuid(pw->pw_uid))
                error("can't drop privileges: %m");

        endpwent();

        setproctitle("%s", ifi->name);

        if (immediate_daemon)
                go_daemon();

        ifi->client->state = S_INIT;
        state_reboot(ifi);

        bootp_packet_handler = do_packet;

        dispatch();
Be sure you have created the /var/empty directory to make go away chroot message. FYI the directory is used as a chroot(2)() directory by sshd and is supposed to exist and be empty.
 
OP
OP
M

mahashakti89

Active Member

Reaction score: 4
Messages: 123

Thanks for that. It works now. I didn't dig further enough. Both interfaces are working.

Regards.

mahashakti89
 
Top