Многие провайдеры в настоящее время предлагают получать настройки протокола TCP/IP автоматически по протоколу DHCP. Конечно в Интернете много руководств по настройке клиента на хосте с FreeBSD, я всё-таки повторюсь и опишу этот процесс.

Самый примитивный и долгий способ — настройка через sysinstall. Не делайте так, уважайте свое время. Для автоматической настройки интерфейса (например fxp0)  достаточно выполнить команду

# dhclient fxp0
DHCPDISCOVER on fxp0 to 255.255.255.255 port 67 interval 8
DHCPOFFER from 192.168.0.1
DHCPREQUEST on fxp0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.38 -- renewal 300 seconds

Данный сервер обновляет каждые 300 секунд.
Конфигурационный файл /etc/dhclient.conf по умолчанию пустой, однако там можно написать ряд интересных опций. Однако нам это все не нужно, интерфейс и так настраивается. Причем все IP-адреса удаляются и присваивается полученный от DHCP-сервера:

# ifconfig fxp0
fxp0: flags=8843 metric 0 mtu 1500

options=219b
ether 00:02:b3:28:1c:d3
inet 192.168.0.35 netmask 0xffffff00 broadcast 192.168.0.255
media: Ethernet autoselect (100baseTX )
status: active

Добавляется шлюз по умолчанию:

# netstat -rn |grep default
default 192.168.0.1 UGS 0 5913 fxp0

А файл /etc/resolv.conf копируется в /etc/resolv.conf.save, после завершения работы dhclinet содержимое /etc/resolv.conf восстанавливается.

В файл /var/db/dhclient.leases.fxp0 записывается информация об обновленяих:

lease {
interface "fxp0";
fixed-address 192.168.0.38;
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1,8.8.8.8;
option domain-name "home.net";
option dhcp-lease-time 600;
option dhcp-message-type 5;
option dhcp-server-identifier 192.168.0.1;
renew 1 2010/10/11 20:23:17;
rebind 1 2010/10/11 20:27:02;
expire 1 2010/10/11 20:28:17;
}
lease {
interface "fxp0";
fixed-address 192.168.0.38;
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1,8.8.8.8;
option domain-name "home.net";
option dhcp-lease-time 600;
option dhcp-message-type 5;
option dhcp-server-identifier 192.168.0.1;
renew 1 2010/10/11 20:28:17;
rebind 1 2010/10/11 20:32:02;
expire 1 2010/10/11 20:33:17;
}
........................

При желании процесс обновления можно фиксировать с помощью tcpdump:

# tcpdump -vvv -n -i fxp0 port 67
tcpdump: listening on fxp0, link-type EN10MB (Ethernet), capture size 96 bytes
23:53:20.250204 IP (tos 0x10, ttl 16, id 14045, offset 0, flags [none], proto UDP (17), length 328)
192.168.0.38.68 > 192.168.0.1.67: BOOTP/DHCP, Request from 00:02:b3:28:1c:d3, length 300, xid 0x32b3174c, Flags [none] (0x0000)
Client-IP 192.168.0.38
Client-Ethernet-Address 00:02:b3:28:1c:d3 [|bootp]
23:53:20.799283 IP (tos 0x0, ttl 64, id 45269, offset 0, flags [none], proto UDP (17), length 328)
192.168.0.1.67 > 192.168.0.38.68: BOOTP/DHCP, Reply, length 300, xid 0x32b3174c, Flags [none] (0x0000)
Client-IP 192.168.0.38
Your-IP 192.168.0.38
Client-Ethernet-Address 00:02:b3:28:1c:d3 [|bootp]

Вот так-то, простота и прекрасная диагностика.