Моя установка FreeBSD
1. FreeBSD install, разбивка диска
GPT / root freebsd-ufs swap = 2*mem swap freebsd-swap /tmp tmp freebsd-ufs /usr usr freebsd-ufs /var var freebsd-ufs
2. Настройка (шлюз, DNS)
vr0 – внешний интерфейс (WAN)
rl0 – внутренний интерфейс (LAN)
# ee /etc/rc.conf hostname="test.example.com" defaultrouter="192.168.1.1" ifconfig_vr0="inet 192.168.1.41 netmask 255.255.255.0" ifconfig_rl0="inet 192.168.36.1 netmask 255.255.255.0" gateway_enable="YES" named_enable="YES" #sendmail_enable="YES" sshd_enable="YES" # Русификация keymap="ru.koi8-r" mousechar_start=3 scrnmap="koi8-r2cp866" font8x8="cp866-8x8" font8x14="cp866-8x14" font8x16="cp866b-8x16" # Прокси squid_enable="YES" #IPFW firewall_enable="YES" firewall_type="/etc/firewall.conf" #NAT natd_enable="YES" natd_interface="vr0" natd_flags=""
4. Пропишем резолвинг
#ee /etc/resolv.conf domain test.example.com nameserver 192.168.1.41
5. Обновление портов, мира и компиляция ядра
Обновление ядра и мира (краткая инструкция)
Подготавливаем свое ядро
# cd /usr/src/sys/i386/conf
Переминовываем дефолтное ядро копированием
# cp DEFAULT TEST
Редактируем его дописывая необходимые опции
# ee TEST ident TEST options IPFIREWALL # IPFW options IPFIREWALL_VERBOSE # log options IPFIREWALL_VERBOSE_LIMIT=100 # Ogranichenie log options IPFIREWALL_DEFAULT_TO_ACCEPT # IPFW allow any to any options IPDIVERT # NAT options DUMMYNET # IPFW
Идем дальше
#freebsd-update fetch #freebsd-update install #cd /usr/src/ # make buildworld # make buildkernel KERNCONF=TEST # make installkernel KERNCONF=TEST # shutdown -r now
загрузка в single user
# mount -a -t ufs # mergemaster -p
Если есть отличия, то на экране появляется сообщение об этом.
Первой строкой в нем идет имя файла, который не соответствует новым требованиям, а ниже сами отличия.
Знаком “-” помечаются строки, которые утилита собирается удалить,
а “+” — которые будут добавлены.
В конце предлагаются следующие варианты:
d — удалить предлагаемый вариант и оставить старый;
i — установить предлагаемый вариант, удалив старый;
m — сравнить построчно старый и предлагаемый вариант;
v — посмотреть отличия в файлах снова.
# cd /usr/src # make installworld # mergemaster # reboot
По необходимости, удаляем старые библиотеки:
# cd /usr/src && make check-old # yes | make delete-old # yes | make delete-old-libs
чистим за собой /usr/obj
# cd /usr/obj && chflags -R noschg * && rm -rf *
В принципе вроде все.
6. Правила firewall