Моя установка 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

 

 

image_pdfimage_print