Все зависит от того ЧТО у Вас установлено
- в этом вся сложность: нет точной инфы, с какими модулями было собрано ядро, есть только примерные "наброски" - ядерный nat, ipfw, named (эти опции точно присутствуют)
ничего пересобирать не надо, все что нужно подгружается модулями
речь идет о ядре, в 11.x и в 12.0 в GENERIC ядре все что нужно есть, пересобирать ядро не нужно, добавлять
в ядро NAT и тд и тп, не нужно.
допустим у Вас платформа amd64 (64'bit'ная), default'ное ядро находится:
Код: Выделить всё
# ls -la /sys/amd64/conf/
total 68
drwxr-xr-x 2 root wheel 512 18 дек. 2018 .
drwxr-xr-x 15 root wheel 512 18 дек. 2018 ..
-rw-r--r-- 1 root wheel 512 18 дек. 2018 DEFAULTS
-rw-r--r-- 1 root wheel 14480 18 дек. 2018 GENERIC
-rw-r--r-- 1 root wheel 903 18 дек. 2018 GENERIC-MMCCAM
-rw-r--r-- 1 root wheel 829 18 дек. 2018 GENERIC.hints
-rw-r--r-- 1 root wheel 141 18 дек. 2018 Makefile
-rw-r--r-- 1 root wheel 5329 18 дек. 2018 MINIMAL
-rw-r--r-- 1 root wheel 19378 18 дек. 2018 NOTES
#
называется GENERIC.
При загрузке увидите на консоли и/или в логе:
Код: Выделить всё
kernel: ipfw2 (+ipv6) initialized, divert loadable, nat loadable, default to deny, logging disabled
как видим, при загрузке firewall'а, автоматом подгружаются модули: divert,nat, но by default
у firewall'а - deny: "default to deny"
- вот тут немного непонятно про "модули" и почему не нужно пересобирать?! Если есть какой-либо туториал по такому виду "обновлению-переезда" или Вы можете объяснить step-by-step, буду благодарен.
ядерные модули, в 10.0, вроде как nat не был доступен в виде ядерного модуля.
Если подгружать kldload ipfw.ko, то правила by default DENY, это опасно при удаленном
администрировании, поэтому многие собирали кастомное ядро из-за:
Код: Выделить всё
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_NAT
options IPDIVERT
кастомное ядро:
# cp /sys/amd64/conf/GENERIC /sys/amd64/conf/ROUTER12
и в файл конфигурации ядра добавляли верхние строки, я ненужное вырезали, уменьшали
монолитное ядро.
Затем пересобирали ядро:
# cd /usr/src
# make kernel-toolchain
# make buildkernel KERNCONF=ROUTER12
если успех
# make installkernel KERNCONF=ROUTER12
после чего: ipfw,nat,divert - присутствуют прямо в ядре и модули не требуются.
Посему и было сказано, что скорей всего, Вам не нужно конфигурить и собирать
собственное ядро, GENERIC удовлетворит все ваши нужды.
Что касается default'ного состояния firewall'а после загрузки его через модуль ipfw,
оно выставляется переменной ядра: net.inet.ip.fw.default_to_accept="1"
Сделать это можно через /boot/loader.conf
ipfw_load="YES"
net.inet.ip.fw.default_to_accept="1"
Но, правила ipfw пишутся изначально с учетом того какой default
для ipfw: default_to_accept=0 - это by default DENY, то есть последнее правило
# ipfw list
...
65535 deny ip from any to any
а для defaul_to_accep=1 - это by default ALLOW, то есть последнее правило
# ipfw list
...
65535 allow ip from any to any
Все остальное, зависит от настроек firewall'а и сервисов которые выполняет Ваш
сервер.
Далее, смотрим то что у Вас установлено, лабуду и зависимости я вырезал:
Код: Выделить всё
drwxr-xr-x 2 root wheel 512 Feb 9 2014 databases_mysql55-client
drwxr-xr-x 2 root wheel 512 Feb 9 2014 databases_mysql55-server
drwxr-xr-x 2 root wheel 512 Feb 9 2014 databases_phpmyadmin
drwxr-xr-x 2 root wheel 512 Feb 3 2014 databases_sqlite3
drwxr-xr-x 2 root wheel 512 Feb 3 2014 devel_subversion
drwxr-xr-x 2 root wheel 512 Feb 4 2014 dns_bind99
drwxr-xr-x 2 root wheel 512 Nov 28 2014 net_samba36
drwxr-xr-x 2 root wheel 512 Nov 28 2014 net_samba41
drwxr-xr-x 2 root wheel 512 Feb 24 2014 security_botan
drwxr-xr-x 2 root wheel 512 Feb 10 2014 security_openvpn
drwxr-xr-x 2 root wheel 512 Feb 5 2014 www_apache22
drwxr-xr-x 2 root wheel 512 Nov 28 2014 www_lightsquid
drwxr-xr-x 2 root wheel 512 Nov 28 2014 www_squid
drwxr-xr-x 2 root wheel 512 Nov 28 2014 www_squid32
drwxr-xr-x 2 root wheel 512 Nov 28 2014 www_squid33
Теперь по /etc/rc.conf смотрите какие сервисы у Вас запускаются
при загрузке и работают, для примера samba:
- samba - работает? что-то раздает пользователям? цель сервиса?
Код: Выделить всё
$ grep samba /etc/rc.conf
#-- samba new style
samba_server_enable="NO"
#-- samba old style startup
#samba_enable="YES"
$
видим что самба установлена, но не запускается автоматом при загрузке, значит
для временных личных нужд, это как пример, Вам нужно определить какие
сервисы работают, связаны ли друг с другом, как настроены и для чего.
Аналогично смотрим: squid, apache,openvpn
Далее разбираетесь с конфигурационными файлами Ваших сервисов и
логикой их работы.
Вам нужно установить и настроить на новом сервере все сервисы
используемые на старом и проверять работоспособность.