Настройка FreeBsd 10 для XenServer 6

Настройка FreeBsd 10 для XenServer 6

Так уж получилось, что в наследство от админа осталась ОС FreeBsd c настроенными сервисами – почта, dns, vpn, jabber. Весь софт и ОС мною были обновлены на более новое в начале 2010 года. Боевые сервера успешно проработали в течении пяти лет, и вот в 2015 году я решил повторить подвиг прошлых лет, на этот раз конфигурация должна была стать более интересной за счет установки не на древний пентиум 4, а на полноценный узел кластера виртуализации с двумя Xeon-ами  имеющими 6 ядер и 24 потока, 32Гб памяти позволяли разместить всю серверную сеть на одном узле. В этой статье я не буду описывать установку и настройку сервисов позволивших собрать полноценный сервер, это статья заметка с целью сохранить скелет настроек, и пишется она уже после ввода узлов в эксплуатацию.

Настройка FreeBsd 10 для XenServer 6

1. После установки скачиваем дерево портов и распаковываем его:
portsnap fetch && portsnap extract

2. При необходимости обновимся:
freebsd-update fetch
freebsd-update install
обновляем пояса
tzsetup –r

3. Устанавливаем XenServer Tools
cd /usr/ports/sysutils/xe-guest-utilities
make && make install && make clean
cd /usr/ports/sysutils/xen-tools
make && make install && make clean
Стартуем
/usr/local/etc/rc.c/xenguest onestart
добавляем в rc.conf xenguest_enable="YES"
reboot
Из пакета:
pkg install xe-guest-utilities

4. Собираем собственное ядро FreeBsd
cd /usr/src/sys/amd64/conf
Копируем default конфиг, меняем опцию ident на mailvpn
Обычно добавляю следующие строки в конфиг:
option          IPFIREWALL
option          IPFIREWALL_VERBOSE
option          IPFIREWALL_VERBOSE_LIMIT=100
option          IPDIVERT
option          DUMMYNET
option          ROUTETABLES=4
Для работы mpd кроме того:
options         NETGRAPH
options         NETGRAPH_ASYNC
options         NETGRAPH_BPF
options         NETGRAPH_ECHO
options         NETGRAPH_ETHER
options         NETGRAPH_HOLE
options         NETGRAPH_IFACE
options         NETGRAPH_KSOCKET
options         NETGRAPH_L2TP
options         NETGRAPH_LMI
options         NETGRAPH_MPPC_COMPRESSION
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_ONE2MANY
options         NETGRAPH_PPP
options         NETGRAPH_PPTPGRE
options         NETGRAPH_RFC1490
options         NETGRAPH_SOCKET
options         NETGRAPH_TEE
options         NETGRAPH_TTY
options         NETGRAPH_UI
options         NETGRAPH_VJC
Перед сборкой, для работы сжатия по vpn:
cd /usr/src/sys/net/
fetch mavhome.dp.ua/MPPC/mppc-1.0.tgz
tar –xvf mppc-1.0.tgz
ee /usr/src/sys/modules/netgraph/mppc/Makefile
Меняем строку:
NETGRAPH_MPPC_COMPRESSION?=0 на 1
cd /usr/src/sys/modules/netgraph/mppc
make&&make install&&make clean
Собираем ядро cd /usr/src
make kerne KERNCONF=mailvpn
устанавливаем
make installkernel KERNCONF=mailvpn

5. Устанавливаем mc и bind-tools
cd /usr/ports/misc/mc
cd /usr/ports/dns/bind-tools
make install clean

6. Вот как выглядит rc.conf
hostname="mail"
keymap="ru.koi8-r.kbd"
ifconfig_xn1="inet 192.168.1.5 netmask 255.255.255.240"
ifconfig_xn1_alias0="inet 192.168.1.4  netmask 255.255.255.255"
#ifconfig_xn1_alias1="inet 192.168.1.6  netmask 255.255.255.255"
ifconfig_xn0="inet 192.168.50.4 netmask 255.255.255.240"
static_routes="dmz term office servers"
route_dmz="-net 192.168.50.0/28 192.168.50.1"
route_term="-net 192.168.40.0/28 192.168.50.1"
route_office="-net 192.168.0.0/24 192.168.1.1"
route_servers="-net 192.168.21.0/24 192.168.1.1"
#defaultrouter="192.168.50.1"
#setfib1_enable="YES"
#setfib1_defaultroute="192.168.1.1"
defaultrouter="192.168.1.1"
firewall_enable="YES"
firewall_script="/etc/firewall.sh"
fsck_y_enable="YES"
moused_ums0_enable="NO"
sendmail_enable="NONE"
sendmail_submit_enable="NONE"
sendmail_outbound_enable="NONE"
sendmail_msp_queue_enable="NONE"
sshd_enable="YES"
xenguest_enable="YES"
ntpd_enable="YES"
mysql_enable="YES"
mysql_dbdir="/var/db/mysql"
mysql_args="--timezone=YEKT -l/var/log/mysql.log"

###############################################################

#Альтернативная схема работы почтаря на случай сбоя dovecot,
#работает с криптами crypt mysql, менять в postfixadmin
#saslauthd_enable="YES"
#saslauthd_flags="-n 10 -r -a pam"
#courier_authdaemond_enable="YES"
#courier_imap_pop3d_enable="YES"
#courier_imap_imapd_enable="YES"

##############################################################

dovecot_enable="YES"
postfix_enable="YES"
apache22_enable="YES"
clamav_clamd_enable="YES"
clamav_freshclam_enable="YES"
spamd_enable="YES"
#spamd_flags="-q -l"
#postgrey_enable="YES"
amavisd_enable="YES"
fail2ban_enable="YES"

# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="NO"

Для vpn, еще:
named_enable="YES"
mpd_enable="YES"
openfire_enable="YES"
 

7. Настройка FreeBsd для работы с несколькими провайдерами, несколькими шлюзами
Для реализации работы FreeBsd с несколькими шлюзами используем setfib
/usr/sbin/setfib 0 route add default 192.168.1.1
/usr/sbin/setfib 1 route add default 192.168.50.1
$FwCMD add setfib 0 ip from any to any via xn0
$FwCMD add setfib 0 ip from 192.168.1.5 to any
$FwCMD add setfib 0 ip from any to 192.168.1.5
$FwCMD add setfib 0 ip from 192.168.1.4 to any
$FwCMD add setfib 0 ip from any to 192.168.1.4
$FwCMD add setfib 1 ip from any to any via xn1
$FwCMD add setfib 1 ip from 192.168.50.4 to any
$FwCMD add setfib 1 ip from any to 192.168.50.4

# Router mail
$FwCMD add fwd 192.168.50.1 ip from 192.168.50.4 to any
$FwCMD add fwd 192.168.1.1 ip from 192.168.1.5 to any
$FwCMD add fwd 192.168.1.1 ip from 192.168.1.4 to any

8. Настойка сервера времени FreeBsd ntp.conf
 server 0.ru.pool.ntp.org iburst burst prefer
server 1.ru.pool.ntp.org iburst burst
server 2.ru.pool.ntp.org iburst burst
server 3.ru.pool.ntp.org iburst burst
driftfile /etc/ntp/ntp.drift
logfile /var/log/ntpd.log
restrict localhost
# authenticate no
restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap
restrict 0.ru.pool.ntp.org noquery notrap
restrict 1.ru.pool.ntp.org noquery notrap
restrict 2.ru.pool.ntp.org noquery notrap
restrict 3.ru.pool.ntp.org noquery notrap
server 192.168.1.4
# fudge 192.168.1.4 stratum 3

9. Sysctl.conf FreeBsd10
kern.ipc.somaxconn=1024
net.inet.ip.portrange.first=1024
net.inet.ip.portrange.last=30000
net.inet.tcp.always_keepalive=1
net.inet.tcp.delayed_ack=0
net.inet.tcp.sendspace=131072
net.inet.tcp.recvspace=131072
net.inet.tcp.rfc1323=0
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1
net.inet.ip.redirect=0
net.link.ether.inet.max_age=1200
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
net.inet.icmp.bmcastecho=0
net.inet.icmp.maskrepl=0
net.inet.tcp.blackhole=1
net.inet.udp.blackhole=1
net.inet.ip.forwarding=1
net.inet.ip.fw.one_pass=0

Для настройки почтового сервера использовал мануал из сети.

Поделиться:

Комментарии

Аватар пользователя Игорь

Не понятно, что в данной статье имел автор в виду? Тема про XENб, а здесь полный венигрет!

Аватар пользователя Shkera

Добрый день!
Согласен с вами, писал для себя, с XEN мало связано, просто нужно было куда-то быстро записать то, что делал

Добавить комментарий

1 + = 3
Решите простой математический пример. Например для "два плюс четыре =?" введите "6".