Блогът на Борис Димитров

freebsd , linux , system & network admin blog
  • Home
  • За мен

Posts Tagged ‘Freebsd’

15 фев 2010

Mount /usr/ports във Freebsd Jail

Имам 3 Jail-a искам да си инсталирам и в 3те нещо от /usr/ports :

mount_nullfs /usr/ports/ /usr/jails/ns/usr/ports
mount_nullfs /usr/ports/ /usr/jails/mail/usr/ports
mount_nullfs /usr/ports/ /usr/jails/www/usr/ports

15 февруари, 2010 at 14:36 by admin

Tags: admin, Freebsd, shell, полезно
Posted in Freebsd, Servers | No Comments »

8 фев 2010

shell find & replace recursive

Много мразя като ми се налага да променям едно и също нещо в много различни файлове !
Затова е следният ред :

find * -type f -exec sed -i ’s/ТОВА ТЪРСИМ/ПРОМЕНЯМЕ С ТОВА/’ {} \;

Казах ли колко обичам sed ?

8 февруари, 2010 at 19:51 by admin

Tags: admin, Freebsd, Linux, полезно
Posted in Freebsd, Linux, Без категория | No Comments »

9 сеп 2009

virtualbox-ose и freebsd7.2 guest OS

Ако ви се наложи да инсталирате Freebsd7.x под VirtalBox-OSE този ред със сигурност ще ви спести доста нерви :

# vboxmanage modifyvm VM_NAME -nictype1 Am79C970A

Явно FreeBSD имат някакъв проблем с емулацията на networking-а във VirtualBOX , но както и да е – този ред решава проблема :)

Повече инфо има тук :
click

9 септември, 2009 at 4:10 by admin

Tags: Freebsd, полезно
Posted in Freebsd | No Comments »

18 мар 2009

Как се добавят VLANs (802.1q) на FreeBSD

Доста елементарно се оказа но поради факта , че не ми се беше налагало – не го знаех :) ))
Искаме влан 100 да си го разтагнем на BSD машинката и да му вдигнем IP адрес – какво правим ?
Ето това :

Зареждаме модула в ядрото :

# kldload if_vlan

Създаваме VLAN-а :

# ifconfig vlan100 create

Вдигаме му IP адрес :

# ifconfig vlan100 10.17.0.71 netmask 255.255.255.252 vlan 100 vlandev nve0

И всичко спи :)

18 март, 2009 at 13:45 by admin

Tags: Freebsd, полезно
Posted in Networking, Servers | No Comments »

12 мар 2009

FreeBSD jails

Intro :
FreeBSD е операционна система с отворен код , поне според мен най-подходяща за изграждане на сървъри , но също и с много добре развити мрежови приложения – перфектна за PPPoE концентратори или друг вид рутери да речем , като цяло доста стабилна операционна система с много възможности за настройки и много инструменти в помощ на системния администратор.Не на последно място ще кажа че проекта FreeBSD има изключително добра подръжка и много ама найстина много документация .

Какво е jail ?
Основната идея на jail-а е да повиши сигурността на системата като отдели един или повече процеси от другите и ги постави в chroot(2) среда. Чрез chroot(8) можем да променим root директорията на поредица процеси като ги отделим в сигурна среда от другите. Да речем , че недобронамерен потребител направи успешен exploit върху уязвим процес пуснат в jail и успешно компроментира системата , това няма да повлияе на цялата система както сами се досещате, а атакуващия ще има достъп само до процесите пуснати в jail-a. Разбира се има начини да се избяга от chroot средата, но за по-прости задачи (като service jails) e доста мощен инструмент.
Като цяло командата jail(8) служи за контрол над създадените jails.
Разбира се всички тези неща са доста добре обяснени във онлайн документацията на http://www.freebsd.org/doc/en/books/handbook/ , но основната ми идея е да ви покажа накратко как да си направите няколко service jails.

Изграждане на jails :

Тук ще ви покажа един елементарен пример за шаблон , лично аз използвам най-вече service jails – накратко това означава, че не е нужно да се прави пълен installworld на всеки jail. В този пример искаме крайният резултат да бъде HTTP, DNS и SMTP сървайси в отделни jails.Ще ни трябва една машина която ще наричаме хост и на която ще пуснем тези сървайси.На машината за примера имаме чисто нова инсталация на FreeBSD 6.3 със инсталиран пакет source , можете да вземете нужния сорс чрез :

#sysinstall -> configure -> distributions -> src

И така , да започваме :)

Кратко обяснение :

  • Всеки jail ще бъде монтиран в /home/services.
  • /home/services/ro е темплейта и read-only partition за всеки jail
  • Празна директория за всеки jail ще бъде създадена тук : /home/services
  • Всеки jail ще има директория /rw , която ще бъде линкната към read-write частта от jaila
  • Всеки jail ще има собствена read-write която се базира на /home/services/skel.
  • Всеки jailspace (read-write частта от всеки jail) трябва да бъде създадена /home/jails.

Сздаване на read-only темплейта :
* може да се наложи да инсталирате sysutils/cpdup на хост системата.

# mkdir /home/services /home/services/ro
# cd /usr/src
# make installworld DESTDIR=/home/services/ro
# cd /home/services/ro
# mkdir usr/ports
# portsnap -p /home/services/ro/usr/ports fetch extract
# cpdup /usr/src /home/services/ro/usr/src
# mkdir /home/services/skel /home/services/skel/home /home/services/skel/usr-X11R6 /home/services/skel/distfiles
# mv etc /home/services/skel
# mv usr/local /home/services/skel/usr-local
# mv tmp /home/services/skel
# mv var /home/services/skel
# mv root /home/services/skel
# mergemaster -t /home/services/skel/var/tmp/temproot -D /home/services/skel -i
# cd /home/services/skel
# rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev
# cd /home/services/ro
# mkdir rw
# ln -s rw/etc etc
# ln -s rw/home home
# ln -s rw/root root
# ln -s ../rw/usr-local usr/local
# ln -s ../rw/usr-X11R6 usr/X11R6
# ln -s ../../rw/distfiles usr/ports/distfiles
# ln -s rw/tmp tmp
# ln -s rw/var var
# echo "WRKDIRPREFIX?= /rw/portbuild" > /home/services/skel/etc/make.conf

ако всички тези операции минат успешно е време да добавите в /etc/fstab следните неща :

/home/services/ro /home/services/ns nullfs ro 0 0
/home/services/ro /home/services/mail nullfs ro 0 0
/home/services/ro /home/services/www nullfs ro 0 0
/home/jails/ns /home/services/ns/rw nullfs rw 0 0
/home/jails/mail /home/services/mail/rw nullfs rw 0 0
/home/jails/www /home/services/www/rw nullfs rw 0 0

след това добавяме в /etc/rc.conf следните редове :

jail_enable="YES"
jail_set_hostname_allow="NO"
jail_list="ns mail www"
jail_ns_hostname="ns.example.org"
jail_ns_ip="192.168.3.17"
jail_ns_rootdir="/usr/home/services/ns"
jail_ns_devfs_enable="YES"
jail_mail_hostname="mail.example.org"
jail_mail_ip="192.168.3.18"
jail_mail_rootdir="/usr/home/services/mail"
jail_mail_devfs_enable="YES"
jail_www_hostname="www.example.org"
jail_www_ip="192.168.3.19"
jail_www_rootdir="/usr/home/services/www"
jail_www_devfs_enable="YES"

* За вески jail трябва да сме предвидили ip адрес – това е задължително (без значение частен или публичен)
* Сигурно ви прави впечатление че тука заместваме /home/services/ със /usr/home/services , това е така защото във FreeBSD директорията /home е линк към /usr/home

Да продължим нататък като създадем тези папки :


# mkdir /home/services/ns /home/services/mail /home/services/www
# mkdir /home/jails
# cpdup /home/services/skel /home/jails/ns
# cpdup /home/services/skel /home/jails/mail
# cpdup /home/services/skel /home/jails/www

И накрая :

# mount -a
# /etc/rc.d/jail start

Ако всичко е наред би трябвало да имате три стартирани jail-a (можете да проверите това с jls(8)):
# jls
JID IP Address Hostname Path
3 192.168.3.17 ns.example.org /home/services/ns
2 192.168.3.18 mail.example.org /home/services/mail
1 192.168.3.19 www.example.org /home/services/www

Всичко изглежда наред , сега можете да се логнете да речем в jail с ID 3 (ns) с командата :

# jexec 3 csh

Това е всичко :)

12 март, 2009 at 14:05 by admin

Tags: admin, Freebsd, полезно
Posted in Servers | No Comments »

  • Превод

  • Календар

    март 2010
    П В С Ч П С Н
    « фев    
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
  • Категории

    • Freebsd (5)
    • Linux (5)
    • Networking (1)
    • Perl (1)
    • PHP (1)
    • Servers (6)
    • Без категория (2)
    • България (2)
    • Лични (2)
    • Новини (1)
  • ИТ

    • Корпоративни интернет решения
  • Приятели

    • :: KnowHow by Sto. :: line-by-line on commandline
    • Instudio54 Lifestyle Online Radio
    • Блогът на Иван Тодоров
    • Институт за имунологично здраве, имунопрофилактика, имунотерапия и биологична терапия на рака “д-р Русчо Иконописов”
  • Реклами


Блогът на Борис Димитров powered by WordPress
Hosted at Sysadmins-bg.net
Design & code by Jonk
Entries (RSS) and Comments (RSS).
19 queryes | 1,434 seconds.