echo "named_enable="YES"" >> /etc/rc.conf
прописать зону (взять образцовую)
/etc/rc.d/named forcestart
Образцовая зона:
$TTL 3600
domain.com. IN SOA ns1.domain.com. root.domain.com. (
20010610 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
@ IN NS ns1.domain.com.
@ IN NS ns2.domain.com.
ns1 IN A 1.2.3.1
ns2 IN A 1.2.3.1
@ IN A 1.2.3.1
* IN A 1.2.3.1
@ IN MX 10 mail.domain.com.
Можно использовать такой скрипт для добавления доменов (create_dns.sh):
#!/bin/sh
# first param - domain, Second - IP
# Domains base
BASE="/etc/namedb"
sed -e "s/domain.com/$1/g" "$BASE/master/sample" > "$BASE/master/$1.db.tmp"
sed -e "s/1.2.3.1/$2/g" "$BASE/master/$1.db.tmp" > "$BASE/master/$1.db"
echo "zone \"$1\" { type master; file \"$BASE/master/$1.db\"; };" >> $BASE/named.conf
rm "$BASE/master/$1.db.tmp"
service named reload
# /etc/rc.d/named forcerestart
Для массового добавления доменов:
#!/bin/sh
# Domains base
BASE="/etc/namedb"
IP="3.3.3.3"
cat /home/adwedes/dnslist| while read domain; do
sed -e "s/domain.com/$domain/g" "$BASE/master/sample" > "$BASE/master/$domain.db.tmp"
sed -e "s/1.2.3.1/$IP/g" "$BASE/master/$domain.db.tmp" > "$BASE/master/$domain.db"
echo "zone \"$domain\" { type master; file \"$BASE/master/$domain.db\"; };" >> $BASE/named.conf
rm "$BASE/master/$domain.db.tmp"
done
/etc/rc.d/named forcerestart
dns, FreeBSD
bind, dns, FreeBSD
tzsetup, первый вопрос – NO
ребут
ntpdate pool.ntp.org
или
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
FreeBSD
FreeBSD, базовая настройка freebsd
в crontab
12 0 * * * root /usr/sbin/ntpdate pool.ntp.org > /dev/null
FreeBSD
FreeBSD, базовая настройка freebsd
Обновление системы. сделать (обновление в рамках текущего релиза, работает только с RELEASE)
freebsd-update fetch
freebsd-update install
Обновление портов, первоначально
portsnap fetch
portsnap extract
portsnap update
в крон:
/usr/sbin/portsnap cron > /dev/null
/usr/sbin/portsnap update > /dev/null
FreeBSD
FreeBSD, базовая настройка freebsd
firewall_enable="YES"
firewall_script="/usr/local/etc/ipfw.rules"
создать файл с правилами, проверить что в них нам будет доступ по ssh. Например такой:
#!/bin/sh
ipfw -q -f flush
cmd="ipfw -q add "
sshport="222"
# remote control
$cmd 150 allow tcp from 1.2.3.1 to me dst-port $sshport
# services
$cmd 1000 allow icmp from any to any
$cmd 1020 allow tcp from any to me dst-port 21,25,80
$cmd 1021 allow udp from any 53 to me
$cmd 1022 allow udp from any to me 53
$cmd 1023 allow udp from any to me 161
# general
$cmd 1035 allow ip from any to any via lo0
$cmd 1040 allow ip from me to any
$cmd 1050 allow ip from any to any established
# all traffic for some hosts
$cmd 1070 allow ip from 1.2.3.1 to me
/etc/rc.d/ipfw forcestart &
система сама подгрузит модуль ядра. Необходимо отметить, что в данном случае последним будет добавлено правило запрещающее весь трафик, поэтому нужно убедиться, что мы не отключим доступ для нас самих.
Перед включением рекомендуется поставить задачу в кронтаб, на всякий случай, чтобы сработала через пару минут:
25 22 * * * root ipfw -q add 10 allow all from any to any
FreeBSD
FreeBSD, ipfw
в loader.conf если система i386
kern.maxdsiz=1073741824
kern.dfldsiz=1073741824
kern.maxssiz=1073741824
# если активно используется sendfile в nginx то стандартного количества буферов может не хватать. см netstat -m
### только если планируется десятки тысяч соединений. для i386 надо в ядро options KVA_PAGES=512
### vm.kmem_size=1073741824
при любой системе (надо ли? вроде как повышает вероятность ддоса)
accf_data_load="YES"
accf_http_load="YES"
FreeBSD
FreeBSD, loader.conf, performance, базовая настройка freebsd