Архив за месяц: Апрель 2010
Настройка шлюза локальной сети под управлением freebsd 7.2 (часть5)
Шаг 8: Настраиваем VPN
#cd /usr/ports/net/mpd4
#make install clean
Правим mpd.conf
cd /usr/local/etc/mpd4
ee mpd.conf
————————
default:
load client1
load client2
client1:
new -i ng0 pptp1 pptp1
set ipcp ranges 10.100.100.1/32 10.100.100.10/32
load client_standard
client2:
new -i ng1 pptp2 pptp2
set ipcp ranges 10.100.101.1/32 10.100.101.10/32
load client_standard
client_standard:
set iface disable on-demand
set iface enable proxy-arp
set iface idle 0
set iface enable tcpmssfix
set bundle enable multilink
set link yes acfcomp protocomp
set link enable no-orig-auth
set link enable keep-ms-domain
set link no pap chap
set link enable chap
set link yes chap-msv1 chap-md5 chap-msv2
set link mtu 1460
set link keep-alive 10 60
set ipcp yes vjcomp
set ipcp dns 8.8.8.8
# set ipcp nbns 192.168.1.4
set bundle enable compression
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
ee mpd.secret
alex 123456 10.100.100.10/32
crazy testing123 10.100.101.10/32
В mpd.links
pptp1:
set link type pptp
set pptp self 10.100.100.1
set pptp enable incoming
set pptp disable originate
set pptp disable windowing
set pptp enable always-ack
pptp2:
set link type pptp
set pptp self 10.100.100.1
set pptp enable incoming
set pptp disable originate
set pptp disable windowing
set pptp enable always-ack
В rc.conf
mpd_enable=»YES»
reboot )))
Шаг Ч
Ставим анализатор рогов под lightsquid
Cd /usr/ports/www/lightsquid
Make install clean
На этом END )))
Настройка шлюза локальной сети под управлением freebsd 7.2 (часть4)
1) Ставим squid
cd /usr/ports/www/squid30
Редактируем файл /usr/local/etc/squid/squid.conf
# nano -w /usr/local/etc/squid/squid.conf
Находим секцию OPTIONS FOR AUTHENTICATION и производим в ней следующие изменения (конфигурируем squid на работу с winbind (ntlm, basic) авторизацией).
auth_param ntlm program /usr/local/bin/ntlm_auth —helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 15
auth_param ntlm keep_alive on
auth_param basic program /usr/local/bin/ntlm_auth —helper-protocol=squid-2.5-basic
auth_param basic children 10
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl our_network src 192.168.10.0/24
acl our_domain dst 192.168.0.0/16
http_access allow our_domain our_network
acl SQUID proxy_auth REQUIRED
external_acl_type nt_group ttl=10 %LOGIN /usr/local/libexec/squid/wbinfo_group.pl
acl deny_inet external nt_group deny
acl full_inet external nt_group full
http_access deny all deny_inet
http_access allow all full_inet
http_access deny all
Проверяем правильность
squid -f /usr/local/etc/squid/squid.conf -k parse
chown -R root:squid /var/db/samba34/winbindd_privileged
squid -z
Профилактический halt -p now )))
Смотрим лог онлайн ))
tail -f /usr/local/squid/logs/access.log
tail -f /usr/local/squid/logs/cache.log
В результате проделанной работы мы получили сервер FreeBSD в домене с настроенным прокси-сервером squid с доступом в интернет для доменных пользователей.
Настройка шлюза локальной сети под управлением freebsd 7.2 (часть3)
Шаг 7: Ставим самбу
Ставим Самбу и вводим в домен
Во избежание ошибок ввода в домен необходимо синхронизировать время присоединяемого компьютера с временем домена.
ntpdate system-itdc01.system-it.lh
cd /usr/ports/net/samba34/
make config && make && make install && make clean
[X]ADS
[X]WINBIND
[X]SYSLOG
Rehash
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Если самба при компиляции падает — помогает установка правильного времени в BIOS )))))))
После чего даем make clean
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Writing Makefile for Locale::gettext
==> Your Makefile has been rebuilt. <==
==> Please rerun the make command. <==
false
*** Error code 1
Stop in /usr/ports/devel/p5-Locale-gettext/work/gettext-1.05.
*** Error code 1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Samba используется только для работы с доменом, расшаренных ресурсов на сервере нет
cat /usr/local/etc/smb.conf
[global]
workgroup = system-it
realm = system-it.lh
password server = 192.168.25.101
netbios name = gatekeeper
server string = gateway
interfaces = em0
bind interfaces only = yes
socket address = 192.168.1.4
socket options = SO_RCVBUF=8192 SO_SNDBUF=8192 TCP_NODELAY
smb ports = 139
hosts allow = 192.168. 127.
security = ADS
idmap backend = tdb
idmap cache time = 604800
idmap uid = 1000000-2000000
idmap gid = 1000000-2000000
encrypt passwords = yes
winbind separator = +
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
load printers = no
log file = /var/log/samba34/log.%m
log level = 3
max log size = 1000
name resolve order = host bcast
local master = no
domain master = no
dns proxy = no
preferred master = no
display charset = koi8-r
unix charset = koi8-r
dos charset = cp866
deadtime = 5
Внесем в файл /etc/rc.conf строку, разрешающую запуск winbind:
winbindd_enable=»YES»
Проверим конфигурацию
Testparm
Теперь с помощью команды net производим присоединение компьютера к домену, указав имя доменного пользователя и его пароль
# net join -U gateadmin
Enter admins’s password:
Using short domain name — System-it.lh
Joined ‘gatekeeper’ to realm ‘system-it.lh’
6. Теперь необходимо внести изменения в конфигурационный файл системных баз данных и переключателя сервисов имен /etc/nsswitch.conf, чтобы указать системе, каким образом искать базы с именами доменных пользователей и доменными группами безопасности.
# nano -w /etc/nsswitch.conf
group: files winbind
passwd: files winbind
shadow: files winbind
group_compat: nis
hosts: files dns
networks: files
passwd_compat: nis
shells: files
services: compat
services_compat: nis
protocols: files
rpc: files
/usr/local/etc/rc.d/samba start
wbinfo -p
wbinfo -g
wbinfo -u
Всё. Домен видим!
Настройка шлюза локальной сети под управлением freebsd 7.2 (часть2)
Шаг 4: Установка Apache
gatekeeper # cd /usr/ports/www/apache22
gatekeeper # make install clean
Проверяем запуск apache
gatekeeper # /usr/local/sbin/apachectl start
Правим
gatekeeper # ee /usr/local/etc/apache22/httpd.conf
1) проверяем на всех ли сетевых интерфейсах прописаны IP
2) Вносим в httpd.conf строку ServerName localhost
echo ‘accf_http_load=»YES» ‘ >> /boot/loader.conf
kldload accf_http
Комментим mod_ssl
mod_unique
Запускаем ещё раз.
Проверяем
gatekeeper# ps -ax | grep htt
721 ?? Ss 0:00.04 /usr/local/sbin/httpd -k start
722 ?? I 0:00.01 /usr/local/sbin/httpd -k start
723 ?? I 0:00.01 /usr/local/sbin/httpd -k start
724 ?? I 0:00.01 /usr/local/sbin/httpd -k start
725 ?? S 0:00.02 /usr/local/sbin/httpd -k start
726 ?? I 0:00.01 /usr/local/sbin/httpd -k start
737 ?? S 0:00.01 /usr/local/sbin/httpd -k start
743 p0 R+ 0:00.00 grep htt
Соотв. Apache стартовал! Пробуем зайти на http://192.168.1.4
Вносим в /etc/rc.conf строку
apache22_enable=»YES»
Шаг 5: Ставим php
gatekeeper # /usr/ports/lang/php5
gatekeeper # make install clean
При установке отметим так же галочку
[X] Apache module
gatekeeper # cd /usr/local/etc/
gatekeeper # cp php.ini-dist php.ini
снова правим
gatekeeper # ee /usr/local/etc/apache22/httpd.conf
Ищем строки AddType applications
добавляем туда 2 новые
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Ищем
DirectoryIndex index.html
Превращаем в
DirectoryIndex index.html index.php
Рестартим Apache
gatekeeper # /usr/local/sbin/apachectl restart
gatekeeper # cd /usr/local/www/apache22/data/
gatekeeper # ee info.php
Вносим в него следующий код
Сохраняем!
Открываем в браузере http://192.168.1.4/info.php
На этом установка php окончена.
Ушел курить…. продолжение следует Время 1:32 31 03 2010
Шаг6 : Устанавливаем MySQL
# cd /usr/ports/databases/mysql51-server
#make install clean
# /usr/local/bin/mysql_install_db
# chown -R mysql /var/db/mysql/
# chgrp -R mysql /var/db/mysql/
/usr/local/bin/mysqld_safe —user=mysql &
/usr/local/bin/mysqladmin -u root password toor
В rc.conf mysql_enable=»YES»
cd /usr/ports/databases/php5-mysql
make install clean
Осталось проверить как оно всё работает, а я устал и пошел спать 2:10 31.03.2010
Проверяем создав скрипт db.php в папке data
gatekeeper# cat db.php
<?php
$test=mysql_connect(«localhost»,»mysql»,»»);
if(!$test)
{
print «blya no connect»;
}
else
{
print «YES MYSQL connected»;
}
?>
gatekeeper#
Настройка шлюза локальной сети под управлением freebsd 7.2 (часть1)
Description:
будет использоваться
Имя компьютера — GATEKEEPER,
Домен — SYSTEM-IT.LH
Контроллер домена system-itdc01.system-it.lh IP 192.168.25.101
Уполномоченный доменный пользователь — gateadmin, пароль pass2domain
Внутренний сетевой интерфейс ale0 ip 192.168.1.4 сеть 192.168.0.0/16
Внешний сетевой интерфейс em0 ip 172.16.1.3 gw 172.16.1.1 dns 172.16.1.1 сеть 172.16.1.1/24
Сервер под управлением FreeBSD 7.2-RELEASE
кэширующий прокси — squid-3.0.24
winbind в составе samba34-3.4.5_ 1
Шаг 1: Предварительная настройка
Если компьютер имеет прямое подключение к интернет (не через proxy) данный шаг пропускаем!
Ввиду того, что выход в интернет в данный момент осуществляется через proxy пропишем в константы данные для аутентификации на proxy
gatekeeper # setenv HTTP_PROXY http://192.168.0.4:8080
gatekeeper # setenv HTTP_PROXY_AUTH basic:www:P@ssword
gatekeeper # setenv FTP_PROXY http://192.168.0.4:8080
gatekeeper # setenv FTP_PROXY_AUTH basic:www:P@ssword
Ввиду того, что в 7.2 при обновлении портов через portsnap возникает ошибка
metadata corrupt прописываем именно так!!!
Шаг 1.5 Настраиваем сеть и Firewall
gatekeeper# cat /etc/rc.conf
# — sysinstall generated deltas — # Wed Mar 31 07:10:22 2010
# Created: Wed Mar 31 07:10:22 2010
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
defaultrouter=»172.16.1.1″
gateway_enable=»YES»
firewall_enable=»YES»
natd_enable=»YES»
natd_interface=»ale0″
hostname=»gatekeeper.system-it.lh»
ifconfig_ale0=»inet 172.16.1.3 netmask 255.255.255.0″
ifconfig_em0=»inet 192.168.1.4 netmask 255.255.0.0″
inetd_enable=»YES»
linux_enable=»YES»
sshd_enable=»YES»
cat /etc/rc.d/rc.fw
gatekeeper# cat /etc/rc.d/rc.fw
ipfw -q -f flush
ipfw -q add divert natd ip from 192.168.0.1/16 to any out via ale0
ipfw -q add divert natd ip from any to 172.16.1.3 in via ale0
ipfw -q add pass all from any to any
chmod +x /etc/rc.d/rc.fw
halt -p now
Шаг 2:Обновление портов
Чтобы не ставить дырявые порты и удовлетворить все зависимости для начала обновим дерево портов
gatekeeper # portsnap fetch && portsnap extract && portsnap fetch update
Сейчас и в будущем для объединения команд используем &&
Если обновление прошло без ошибок идем дальше! Иначе http://google.ru
Шаг 3: Установка Midnight commander
gatekeeper # cd /usr/ports/misc/mc
gatekeeper # make install clean
gatekeeper # rehash
gatekeeper # mc
Жмем [F10] для выхода из Midnight commander’а
Сброс пароля на cisco 2950
Сброс пароля на коммутаторе Cisco Catalyst 2950 | [исправить] |
|
Организация проверки загружаемых файлов на вирусы в PureFTPd
Ниже представлена инструкция по интеграции в PureFTPd, работающем в Debian или |
|
, Источник: http://www.howtoforge.com/how-to-in…
|
Установка freebsd по сети
Устанавливаем и настраиваем DHCP-сервер
# portinstall isc-dhcp3-server (из опций указывем только WITH_DHCP_PARANOIA)
В /etc/rc.conf добавляем:
# for PXE
dhcpd_enable="YES"
dhcpd_ifaces="em0"
dhcpd_chroot_enable="YES"
В /usr/local/etc/dhcpd.conf пишем
option domain-name “example.ru”;
option domain-name-servers 192.168.1.2, 192.168.1.3;
authoritative;
ddns-update-style none;
log-facility local4;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
use-host-decl-names on;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.1.100 192.168.1.200;
# адрес сервера на котором работает инсталлятор
next-server 192.168.1.5;
filename "pxeboot";
option root-path "192.168.1.5:/spool/pxe";
}
В /etc/syslog.conf добавляем
local4.* /var/log/dhcpd.log
В /etc/newsyslog.conf
/var/log/dhcpd.log 644 3 900 * JC
/etc/rc.d/syslogd reload
Копируем содержимое install CD в папку на диске
mdconfig -a -f /path/to/dist.iso
mount_cd9660 /dev/md0 /mnt/cdrom/
cp -r /mnt/cdrom/ /spool/pxe
tftp-сервер
mkdir /var/tftproot
cp /spool/pxe/boot/pxeboot /var/tftpboot
chown nobody /var/tftpboot
chmod 640 /var/tftpboot
В /etc/hosts.allow пишем
# tftp server for remote install
tftpd: 192.168.1.0/255.255.255.0 : allow
tftpd: ALL : deny
В /etc/inetd.conf пишем
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /var/tftpboot -u nobody
/etc/rc.d/inetd reload
NFS сервер
В /etc/exports пишем
/spool/pxe -ro -network=192.168.1.0 -mask=255.255.255.0
В /etc/rc.conf
nfs_server_enable="YES"
rpcbind_enable="YES"
И запускаем все это
rpcbind
nfsd -u -t -n 4
mountd -r
# showmount -e
Exports list on localhost:
/spool/pxe 192.168.1.0
Редактируем loader.conf
Примерно так:
# cat > /spool/pxe/boot/loader.conf
mfsroot_load="YES"
mfsroot_type="mfs_root"
mfsroot_name="/boot/mfsroot"
autoboot_delay="5"
vfs.root.mountfrom="ufs:/dev/md0c"
Ключевым моментом является наличие последней строчки.
В принципе после всего этого можно уже ставить систему.
install.cfg
Для того, чтобы не отвечать вручную на все вопросы sysinstall это можно автоматизировать составив файл install.cfg
Файл install.cfg должен находиться внутри mfsroot.gz, скопировать его туда можно так:
cd /spool/pxe
gzip -d boot/mfsroot.gz
mdconfig -a -t vnode -f boot/mfsroot -u 9
mount /dev/md9 /mnt/tmp
cp install.cfg /mnt/tmp
umount /mnt/tmp
mdconfig -d -u 9
gzip boot/mfsroot
(этот набор команд лучше оформить в виде Makefile)
Пример install.cfg
Чтобы при установке ставилися набор пакетов их нужно создать:
cd /spool/pxe/packages/All/
pkg_crete -b bash-3.1.10
pkg_crete -b sudo-1.6.8.12_1
pkg_crete -b smartmontools-5.33_5
И прописать из в INDEX, например таким скриптом:
#!/bin/sh
dir=/spool/pxe/packages
cd $dir/All
rm $dir/INDEX
for file in *; do
echo ${file%.tgz}
egrep ^${file%.tgz} /usr/ports/INDEX-6 >> $dir/INDEX
done
Недостатки данного способа
-
Нужно прописывать в install.cfg имя интерфейса и имя диска, что неудобно, если железо не однотипное.
-
Нельзя установить систему на gmirror
-
Нужно прописывать полные (включая версию) имена всех устанавливаемых пакетов, после их обновления приходится прописывать все в install.cfg заново.
-
Конфиги, которые нужно скопировать на новый сервер нужно оформлять в виде пакета, что повышает трудоемкость задачи.
Как сбросить все сетевые подключения к данному IP
if [ "$#" -ne "1" ]; then
echo "usage: $0 IP"
exit 2
fi
IP=$1
netstat -n -f inet -p tcp | fgrep " $IP." | sed -e 's/^.* ([0-9]*.[0-9]*.[0-9]*.[0-9]*).([0-9]*) * ([0-9]*.[0-9]*.[0-9]*.[0-9]*).([0-9]*) .*$/sudo tcpdrop 1 2 3 4/' | sh