Настройка 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
Для настройки почтового сервера использовал мануал из сети.
Комментарии
Игорь
31.01.2017 16:36
Не понятно, что в данной статье имел автор в виду? Тема про XENб, а здесь полный венигрет!
Shkera
31.01.2017 19:56
Добрый день!
Согласен с вами, писал для себя, с XEN мало связано, просто нужно было куда-то быстро записать то, что делал
Добавить комментарий