Инструмент, который будет обрабатывать большую часть этого, это arpwatch
. По умолчанию (по крайней мере, в Debian) он пишет в /var/lib/arpwatch/arp.dat
. Этот файл промывается и обновляется каждый раз, когда arpwatch
останавливается.
Файл содержит записи такой формы:
52:54:00:aa:bb:cc 192.168.1.2 1452252063 somehostname eth0
Файл /etc/ethers
требует только MAC-адрес и либо IP-адрес, либо разрешаемое имя хоста:
52:54:00:aa:bb:cc 192.168.1.2
Затем довольно просто поддерживать /etc/ethers
обновленным и синхронизированным с помощью небольшого скрипта, запускаемого ежедневно из crontab
:
#!/bin/bash
# Flush arp.dat
service arpwatch restart
# Save a copy
test -f /etc/ethers || touch /etc/ethers
cp -fp /etc/ethers /etc/ethers.old
# Check to see if anything new has arrived. If so rebuild the file
(
echo '# This file is updated automatically from /var/lib/arpwatch/arp.dat'
echo '# Take care when editing'
echo '#'
(
awk '{print $1,$2}' /var/lib/arpwatch/arp.dat
grep -v '^#' /etc/ethers.old
) |
sort -u
) >/etc/ethers.tmp
# Update ethers with the new file
cmp -s /etc/ethers.tmp /etc/ethers || cat /etc/ethers.tmp >/etc/ethers
rm -f /etc/ethers.tmp
# All done
exit 0
Чтобы выполнить обновление до FreeBSD 11.1, запустите от имени пользователя root:
freebsd-update upgrade -r 11.1-RELEASE
или
freebsd-update upgrade -r 11.1
Затем система может показать несколько сообщений об установленном программном обеспечении и запросить
Does this look reasonable (y/n)?
На что вы обычно отвечаете y.
Процедура получения «метаданных» и применения необходимых исправлений.
В конце по показанной инструкции запускаете вручную, опять же как root:
/usr/sbin/freebsd-update install
, а затем обычно отображается сообщение:
Installing updates...
Kernel updates have been installed. Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
Затем вы перезагружаетесь, и как только система загрузится, вы входите в систему и снова работаете как пользователь root:
#/usr/sbin/freebsd-update install
src component not installed, skipped
Installing updates... done.
Наконец, чтобы проверить успешность операции:
$uname -r
11.1-RELEASE
После завершения установки вы можете запустить:
pkg update
pkg upgrade
Для установки последних обновлений безопасности.