Данный сайт создан с целью помочь начинающим системным администраторам в установке и настройке программного обеспечения. Ну и как памятка для себя.
Показаны сообщения с ярлыком freebsd. Показать все сообщения
Показаны сообщения с ярлыком freebsd. Показать все сообщения
четверг, октября 29, 2009
вторник, июля 29, 2008
Клонирование дисков в freebsd
Меня тут спросили, как я бекаплю freebsd. Отвечаю ВОТ ТАК
Вот еще вариантик, кстати больше понравился
Памятка по запуску из cron (в файл /etc/crontab добавить строку)
где src исх диск
dst диск назначения
swap размер раздела swap
force специально для cron не задавать вопросы
Вот еще вариантик, кстати больше понравился
/usr/ports/sysutils/clonehdd Описание тут: Клонирование дисков во FreeBSDПамятка по запуску из cron (в файл /etc/crontab добавить строку)
0 2 * * * root clonehdd -src=ad0 -dst=ad1 -swap=1024 -force >/dev/null
где src исх диск
dst диск назначения
swap размер раздела swap
force специально для cron не задавать вопросы
понедельник, июня 16, 2008
Измеряем скорость доступа в интернет
Озадачился тут я измерением скорости в канале до провайдера, нарисовал скриптик. Может кому пригодится. Измеряем скорость доступа в интернет. Сильно не пинать, не силен в программировании. :)
пятница, февраля 08, 2008
Настройка syslog.conf freebsd 6.2
Утомил меня демон dhcpd сыпать сообщения в
Для начала смотрим файлик
Далее открываем
Это значит сообщения важности notice от демона dhcpd писать в файл
При этом надо создать этот файл. Владелец у него root:wheel, права 600.
Для того чтобы сообщения от dhcpd не валились на
Ниже приведено содержимое файла
Изменения в файле выделены красным цветом.
После изменения syslog.conf применим изменения в syslog командой
Надеюсь кому нибудь эта информация прогодится :)
Ссылка по теме Настройка syslog
Обсудить сообщение можно в форуме admins.arg.su
/var/log/messages и на /dev/console. Решил я их перенаправить в файлик /var/log/dhcpd.logДля начала смотрим файлик
/usr/local/etc/dhcpd.conf на предмет логов. Находим там строчку log-facility local7; (если нет, то добавим). Если добавили, перегрузим dhcpd командой /usr/local/etc/rc.d/isc-dhcpd restart.Далее открываем
/etc/syslog.conf и добавим в конце
!dhcpd
*.notice /var/log/dhcpd.log
Это значит сообщения важности notice от демона dhcpd писать в файл
/var/log/dhcpd.logПри этом надо создать этот файл. Владелец у него root:wheel, права 600.
Для того чтобы сообщения от dhcpd не валились на
/dev/console и в файл /var/log/messages нужно добавить в 2 строкиlocal7.noneНиже приведено содержимое файла
/etc/syslog.conf
*.err;kern.warning;auth.notice;mail.crit;local7.none /dev/console
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err;local7.none /var/log/messages
security.* /var/log/security
auth.info;authpriv.info /var/log/auth.log
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
ftp.info /var/log/xferlog
cron.* /var/log/cron
*.=debug /var/log/debug.log
*.emerg *
!dhcpd
*.notice /var/log/dhcpd.log
Изменения в файле выделены красным цветом.
После изменения syslog.conf применим изменения в syslog командой
/etc/rc.d/syslogd reloadНадеюсь кому нибудь эта информация прогодится :)
Ссылка по теме Настройка syslog
Обсудить сообщение можно в форуме admins.arg.su
среда, января 30, 2008
pf и freebsd 6.2
Обстоятельства диктуют переходить с ipfw на pf. Ну чтобы не попасть в просак решил я для начала поставить его на домашнем сервере.
Самое главное в осмыслении работы любого фаервола это понять принцип его работы. На самом деле все просто. Нужно рассматривать прохождение пакетов через интерфейсы относительно системы на которой установлен фаервол. Я хочу сказать что пакет входящий может может прийти в систему из интернета или из локальной сети (LAN). А исходящий пакет - это пакет в интернет или в LAN. Это очень важно.
В нашем случае требовалось обеспечить следующее.
Вообще в нашем конкретном случае все опции не нужны, но я думаю прогодятся в будущем. Добавлять опции в ядро не обязательно, но мне так больше нравится.
Далее добавим в /etc/rc.conf следующие строчки
А теперь собственно сам файл /etc/pf.conf с пояснениями.
Ну и как памятка некоторые команды.
P.S. Конфигурационный файл взят с абсолютно рабочей машины.
Обсудить сообщение можно в форуме admins.arg.su
Самое главное в осмыслении работы любого фаервола это понять принцип его работы. На самом деле все просто. Нужно рассматривать прохождение пакетов через интерфейсы относительно системы на которой установлен фаервол. Я хочу сказать что пакет входящий может может прийти в систему из интернета или из локальной сети (LAN). А исходящий пакет - это пакет в интернет или в LAN. Это очень важно.
В нашем случае требовалось обеспечить следующее.
- Сетевых интерфейсов 2 (внешний и внутренний), включен nat.
- С сервера наружу в интернет можно все.
- Ping можно везде.
- Из интернета на сервер можно пассивный ftp, ssh.
- Из LAN и обратно можно все через туннель.
- Из LAN в интернет можно dns, ssh, pop3, smtp, 1723, gre (остальное через прокси).
- Необходимо пробросить порт на определенную машину в LAN чтобы работал torrent.
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_PRIQ
options ALTQ_NOPCC
device pf
device pflog
device pfsync
Вообще в нашем конкретном случае все опции не нужны, но я думаю прогодятся в будущем. Добавлять опции в ядро не обязательно, но мне так больше нравится.
Далее добавим в /etc/rc.conf следующие строчки
gateway_enable="YES"
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flag=""
А теперь собственно сам файл /etc/pf.conf с пояснениями.
#int_if - внутренний интерфейс, ext_if - внешний интерфейс
int_if = "rl0"
ext_if = "fxp0"
#comp_rdr_lan на этот комп пробросим порты
comp_rdr_lan = "192.168.2.2"
#порты пробрасываемые внутрь локалки на комп comp_rdr_lan (торент)
comp_rdr_port = "6881, 55555"
#локальная сетка через туннель
lan_work = "192.168.1.0/24"
#Разрешаем из локалки эти порты
tcp_udp_out = "53, 6112"
tcp_out = "22, 25, 110, 1723"
#tcp_services - сервисы на нашем серваке 21 - фтп, 35500:35600 - порты фтп
# для пассивного режима, использую proftpd эти порты указаны в proftpd.conf
# для пассивного режима, порт 113 идент - вроде как используется некоторыми
# сервисами, 22 - ssh
tcp_services = "{ 21, 35500:35600, 113, 22 }"
#icmp_types - какие типы icmp принимать
icmp_types = "echoreq"
# списки приватных сетей, для блокировки их на внешнем интерфейсе
priv_nets = "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }"
#Поведение по умолчанию для правил фильтра, когда срабатывает правило block
# в нашем случае для отброшенных пакетов TCP отсылается TCP RST, для прочих
#ICMP Unreacheble
set block-policy return
#Нормализация входящего трафика
scrub in all
#Натим пакеты из локалки
nat on $ext_if from $int_if:network to any -> ($ext_if)
#Проброска портов в локалку на comp_rdr_lan
rdr pass on $ext_if inet proto { tcp, udp } from any to ($ext_if) \
port { $comp_rdr_port } -> $comp_rdr_lan
# по умолчанию запрещаем все
block all
#разрешаем все через локальный интерфейс
pass quick on lo0 all
#Блокируем приватные сети на внешнем интерфейсе
block drop in quick on $ext_if from $priv_nets to any
block drop out quick on $ext_if from any to $priv_nets
#Разрешаем доступ к нашему серваку снаружи к определенным портам
pass in on $ext_if inet proto tcp from any to $ext_if port $tcp_services \
flags S/SA keep state
#Разрешаем входящие icmp ping
pass in inet proto icmp all icmp-type $icmp_types keep state
#Разрешаем все через туннель
pass on tun0 all
pass on tun1 all
#Разрешить из локалки доступ к внутреннему интерфейсу и к локалке работы
pass in quick on $int_if from $int_if:network to { $int_if, $lan_work } \
keep state
#Разрешить из локалки tcp и udp на tcp_udp_out
pass in quick on $int_if inet proto { tcp, udp } from $int_if:network to any \
port { $tcp_udp_out } keep state
#Разрешить из локалки tcp на tcp_out
pass in quick on $int_if inet proto tcp from $int_if:network to any port \
{ $tcp_out } keep state
#Разрешить из локалки gre
pass in quick on $int_if inet proto gre from $int_if:network to any keep state
#Разрешить в локалку все через внутренний интерфейс
pass out on $int_if from any to $int_if:network keep state
#Разрешить наружу tcp через внешний интерфейс
pass out on $ext_if proto tcp all modulate state flags S/SA
#Разрешить наружу udp, icmp, gre через внешний интерфейс
pass out on $ext_if proto { udp, icmp, gre } all keep state
Ну и как памятка некоторые команды.
pfctl -sn Показать текущие правила NAT.
pfctl -sr Показать текущие правила фильтра.
pfctl -ss Показать текущую таблицу состояний.
pfctl -sa Показать все что можно.
P.S. Конфигурационный файл взят с абсолютно рабочей машины.
Обсудить сообщение можно в форуме admins.arg.su
пятница, апреля 20, 2007
Если не ставится программа из портов freebsd
Бывает так, что при установки программы требуется обновить зависимый порт.
echo "FORCE_PKG_REGISTER=yes" >> /etc/make.confвторник, марта 27, 2007
Установка mysql5, apache1.3, mod_perl, php4, php4_extensions из портов freebsd6.2.
Ставим MYSQL5
Добавим в /etc/rc.conf строку
Дальше http://argo-uln.blogspot.com/2006/07/mysql.html
Ставим APACHE13
Добавим в /etc/rc.conf строку
Дальше http://argo-uln.blogspot.com/2006/07/apachephpperlssl.html
Ставим MOD_PERL
Ставим PHP4
Выбираем опции
X CLI
X CGI
X APACHE
X SUHOSIN
X FASTCGI
X PATHINFO
X ZLIB
Ставим PHP4_EXTENSIONS
Выбираем опции
X CTYPE
X CURL
X GD
X GETTEXT
X LDAP
X MYSQL
X OVERLOAD
X PCRE
X PDFLIB
X POSIX
X SESSION
X TOKENIZER
X XML
X ZIP
X ZLIB
Чтобы активировать модули apache, даем команду
Обсудить сообщение можно в форуме admins.arg.su
cd /usr/ports/databases/mysql50-server
make install clean
Добавим в /etc/rc.conf строку
mysql_enable=”YES”Дальше http://argo-uln.blogspot.com/2006/07/mysql.html
Ставим APACHE13
cd /usr/ports/www/apache13
make install clean
Добавим в /etc/rc.conf строку
apache_enable=”YES”Дальше http://argo-uln.blogspot.com/2006/07/apachephpperlssl.html
Ставим MOD_PERL
cd /usr/ports/www/mod_perl
make install clean
Ставим PHP4
cd /usr/ports/lang/php4
make config
Выбираем опции
X CLI
X CGI
X APACHE
X SUHOSIN
X FASTCGI
X PATHINFO
X ZLIB
make install cleanСтавим PHP4_EXTENSIONS
cd /usr/ports/lang/php4_extensions
make config
Выбираем опции
X CTYPE
X CURL
X GD
X GETTEXT
X LDAP
X MYSQL
X OVERLOAD
X PCRE
X PDFLIB
X POSIX
X SESSION
X TOKENIZER
X XML
X ZIP
X ZLIB
make install cleanЧтобы активировать модули apache, даем команду
apachectl gracefulОбсудить сообщение можно в форуме admins.arg.su
пятница, марта 23, 2007
Настройка Nat и ipfw в freebsd
Взято из handbook
Компилим ядро freebsd http://argo-uln.blogspot.com/2006/07/freebsd-54.html
В файле
Файл
Перенаправить порт 3389 на 192.168.10.2:3389
Содержимое файла
Компилим ядро freebsd http://argo-uln.blogspot.com/2006/07/freebsd-54.html
В файле
/etc/rc.conf
gateway_enable=”YES”
defaultrouter=”xxx.xxx.xxx.xxx”
ifconfig_fxp0=”inet xxx.xxx.xxx.xxx netmask 255.255.255.0”
ifconfig_fxp1=”inet 192.168.10.1 netmask 255.255.255.0”
firewall_enable=”YES”
firewall_quiet=”YES”
natd_enable=”YES”
natd_interface=”fxp0”
natd_flags=”-f /etc/natd.conf”
Файл
/etc/natd.conf Пример:
redirect_port tcp 192.168.10.2:3389 3389
Перенаправить порт 3389 на 192.168.10.2:3389
Содержимое файла
/etc/rc.firewall
#/bin/sh -
#Изменено 24.10.2007
fwcmd="/sbin/ipfw -q add"
ipfw -q -f flush
wan_if="fxp0" # внешний интерфейс
lan_if="fxp1" # локальный интерфейс
dns_provaidera=”xxx.xxx.xxx.xxx” # ip днс провайдера
terminal_server=”192.168.10.2” # ip windows терминального сервера
good_ip=”192.168.10.100” # ip из локалки которому разрешаем ходить наружу
skip="skipto 500"
ks="keep-state"
good_tcp1="25,53,80,443,110,3389"
# разрешаем все через интерфейс локальной сети
$fwcmd 002 allow all from any to any via $lan_if
# разрешаем все через 127.0.0.1
$fwcmd 003 allow all from any to any via lo0
# разрешаем ssh снаружи
$fwcmd 020 allow tcp from any to me 22 via $wan_if
$fwcmd 021 allow tcp from me 22 to any via $wan_if
#разрешаем подключения с сервера к днс прова
$fwcmd 024 allow tcp from me to $dns_provaidera 53 via $wan_if $ks
$fwcmd 025 allow udp from me to $dns_provaidera 53 via $wan_if $ks
#разрешаем Пинги с сервера
$fwcmd 026 allow icmp from me to any out via $wan_if $ks
#разрешаем порты 80 21 443 3389 с сервера
$fwcmd 027 allow tcp from me to any $good_tcp1 out via $wan_if $ks
#Подменяем у пакетов из вне на внешнем интерфейсе адрес назначения на 192.168.10.1
$fwcmd 100 divert natd ip from any to me in via $wan_if
$fwcmd 101 check-state
#Разрешаем изнутри подключение к ДНС провайдера
$fwcmd 120 $skip tcp from any to $dns_provaidera 53 out via $wan_if $ks
$fwcmd 121 $skip udp from any to $dns_provaidera 53 out via $wan_if $ks
# Разрешаем снаружи подключение к терминал серверу внутри локалки
$fwcmd 122 allow tcp from any to $terminal_server 3389 in via $wan_if
$fwcmd 123 $skip tcp from $terminal_server 3389 to any out via $wan_if
# Разрешаем 192.168.10.100 доступ наружу к портам 25,53,80,443,110,3389
$fwcmd 125 $skip tcp from $good_ip to any $good_tcp1 out via $wan_if setup $ks
# Разрешаем изнутри icmp
$fwcmd 150 $skip icmp from any to any out via $wan_if $ks
$fwcmd 300 deny all from 192.168.0.0/16 to any in via $wan_if
$fwcmd 301 deny all from 172.16.0.0/12 to any in via $wan_if
$fwcmd 302 deny all from 10.0.0.0/8 to any in via $wan_if
$fwcmd 303 deny all from 127.0.0.0/8 to any in via $wan_if
$fwcmd 304 deny all from 0.0.0.0/8 to any in via $wan_if
$fwcmd 305 deny all from 169.254.0.0/16 to any in via $wan_if
$fwcmd 306 deny all from 192.0.2.0/24 to any in via $wan_if
$fwcmd 307 deny all from 204.152.64.0/23 to any in via $wan_if
$fwcmd 308 deny all from 224.0.0.0/3 to any in via $wan_if
# Разрешаем наружу все с самого сервера
$fwcmd 400 allow tcp from me to any via $wan_if $ks
$fwcmd 450 deny log ip from any to any
# Обратная подмена ip адреса из локалки на внешний
$fwcmd 500 divert natd ip from any to any out via $wan_if
$fwcmd 510 allow ip from any to any
четверг, марта 01, 2007
Очередность запуска сервисов freebsd
Посмотреть очередность запуска сервисов в freebsd.
Взято из рассылки freebsd на opennet.ru.
Взято из рассылки freebsd на opennet.ru.
rcorder /etc/rc.d/* /usr/local/etc/rc.d/*вторник, января 23, 2007
воскресенье, октября 08, 2006
пятница, октября 06, 2006
Русификация консоли freebsd (памятка)
В файле
в пятое поле добавить
Сохранить изменения в файле и дать команду
/etc/master.passwd
user:$dfdlsdlldfdl:1001:1001::0:0:User &:/home/user:/bin/csh
в пятое поле добавить
russian, получается
user:$dfdlsdlldfdl:1001:1001:russian:0:0:User &:/home/user:/bin/csh
Сохранить изменения в файле и дать команду
pwd_mkdb -p /etc/master.passwd
пятница, июля 28, 2006
Перенос FreeBSD с одного HDD на Другой
Написано по мотивам статей:
http://www.freebsd.org.ru/how-to/w2w.html
http://sysadmin.su/index.php?option=com_content&task=view&id=33
http://www.opennet.ru/base/sys/movingfbsd.txt.html
Подключаем 2 HDD, включаем комп, смотрим как определился (н-р: ad2).
Создаем директории
Запускаем
Создаем freebsd slice на всем винте нажав "A", нажимаем "S" (set bootable), нажимаем "W" (write changes). "Q" выходим из fdisk, задастся вопрос надо ли создать Master Boot Record. Выбираем Standart Install standart MBR и YES.
После этого перезагружаемся. - ВАЖНО!!!
Запускаем
Если вручную, то "С".
пример:
винт 80Gb
"С" -> 512M ->FS ->/
"С" -> 512M ->SWAP
"С" -> 30000M ->FS ->/var
"С" -> 10000M ->FS ->/tmp
"С" -> 35292M ->FS ->/usr
После этого меняем точки монтирования
Переходим на самую верхнюю строчку (Disk: ad2 Parition name: ad2s1 Free:0 blocks(0MB)). - ВАЖНО!!!
Нажимаем "W" для записи изменений и "Q" для выхода.
Потом копируем разделы по root
Для справки:
Информация о партишнах
http://www.freebsd.org.ru/how-to/w2w.html
http://sysadmin.su/index.php?option=com_content&task=view&id=33
http://www.opennet.ru/base/sys/movingfbsd.txt.html
Подключаем 2 HDD, включаем комп, смотрим как определился (н-р: ad2).
Создаем директории
/mnt/root, /mnt/var, /mnt/usr, /mnt/tmp.Запускаем
/stand/sysinstall, в ней выбираем configure -> fdisk, ad2.Создаем freebsd slice на всем винте нажав "A", нажимаем "S" (set bootable), нажимаем "W" (write changes). "Q" выходим из fdisk, задастся вопрос надо ли создать Master Boot Record. Выбираем Standart Install standart MBR и YES.
После этого перезагружаемся. - ВАЖНО!!!
Запускаем
/stand/sysinstall -> Label, выбираем ad2, создаем partitions.Если вручную, то "С".
пример:
винт 80Gb
"С" -> 512M ->FS ->/
"С" -> 512M ->SWAP
"С" -> 30000M ->FS ->/var
"С" -> 10000M ->FS ->/tmp
"С" -> 35292M ->FS ->/usr
После этого меняем точки монтирования
/ -> /mnt/root/var -> /mnt/var/tmp -> /mnt/tmp/usr -> /mnt/usrПереходим на самую верхнюю строчку (Disk: ad2 Parition name: ad2s1 Free:0 blocks(0MB)). - ВАЖНО!!!
Нажимаем "W" для записи изменений и "Q" для выхода.
Потом копируем разделы по root
cd /; pax -p eme -X -rw . /mnt/rootcd /var; pax -p eme -X -rw . /mnt/varcd /tmp; pax -p eme -X -rw . /mnt/tmpcd /usr; pax -p eme -X -rw . /mnt/usrДля справки:
Информация о партишнах
/etc/fstab, об устройствах в папке/dev/вторник, июля 25, 2006
Ставим mc
Для freebsd Должен быть установлен пакет glib
Примечание: а можно проще
Из пакаджей
Через прокси
/stand/sysinstall -> packages -> glibtar -zxvf mc-4.6.0.tar.gzcd mc-4.6.0./configuremakemake installПримечание: а можно проще
cd /usr/ports/misc/mcmake installИз пакаджей
pkg_add -r mcЧерез прокси
env http_proxy=user:passwd@192.168.1.1:8080 pkg_add -r mcчетверг, июля 20, 2006
Обновление дерева портов freebsd 5.4
cd /usr/ports/net/cvsup-without-gui
make
make install
cd /home/user
mkdir cvsup
cd cvsup
ee cvsup.ports
содержимое файла
cvsup.ports
*default host=cvsup2.ru.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs
*default tag=.
*default delete use-rel-suffix compress
#src-all
ports-all
doc-all
содержимое файла
cvsup.sh
#!/bin/sh
/usr/local/bin/cvsup -g -L 2 cvsup.ports
cd /usr/ports && make fetchindex
chmod +x cvsup.shможно запускать
cvsup.shПримечание: В фаерволе пропустить порт TCP 5999 inbond и outbond
пятница, июля 14, 2006
Компилим ядро freebsd 5.4
Предисловие. Правду говорят дурная голова ногам покоя не дает. Вот и выдалась эта чудная возможность переустановить систему. Пока компилится ядро, запишем.
меняем в нем
добавляем опции
пересборка
cd /usr/src/sys/i386/conf
cp GENERIC /usr/src/sys/i386/conf/FREEBSD (копируем ядро по умолчанию в новый файл)меняем в нем
ident GENERIC на ident FREEBSDдобавляем опции
options IPFIREWALL #Вкл в ядро код для фильтр пакетов
options IPFIREWALL_VERBOSE #Вкл протокол пакетов через syslogd
options IPDIVERT
options DUMMYNET
options IPFIREWALL_FORWARD
пересборка
cd /usr/src/sys/i386/conf
config FREEBSD
cd /usr/src/sys/i386/compile/FREEBSD
make depend
make all
make install
Подписаться на:
Сообщения (Atom)