Jail (дерево портов, обновление, ...)

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
a09
рядовой
Сообщения: 25
Зарегистрирован: 2007-04-11 8:01:37

Jail (дерево портов, обновление, ...)

Непрочитанное сообщение a09 » 2007-04-28 10:43:58

Всем по привету.

Установил jail согласно этой статье.
Работает, кажется.
Далее нужно в jail уже что-нибудь установить из портов.
/usr/ports (в jail) пуст.
На реальной машине дерево портов установленно и обновляется посредством portsnap.

1. Корректно ли будет скопировать /usr/ports с рельной машины в jail?
1.1 Каким образом затем обновлять дерево портов в jail? Так же копированием?
(при ответе на эти вопросы прошу учитывать возможность минимизации траффика в интернет)

2. Если ли такое понятие для jail как kernel или в jail не собиратеся ядро, а используется то что на реальной машине.

3. Как поступать при обновлении мира для jail? Запускать make world DESTDIR=путь_к_jail на реальной машине?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Jail (дерево портов, обновление, ...)

Непрочитанное сообщение dikens3 » 2007-04-28 10:55:49

a09 писал(а):Далее нужно в jail уже что-нибудь установить из портов.
/usr/ports (в jail) пуст.
На реальной машине дерево портов установленно и обновляется посредством portsnap.

1. Корректно ли будет скопировать /usr/ports с рельной машины в jail?
1.1 Каким образом затем обновлять дерево портов в jail? Так же копированием?
(при ответе на эти вопросы прошу учитывать возможность минимизации траффика в интернет)
Можно просто скопировать snapshot'ы portsnap в jail. По умолчанию portsnap использует директорию /var/db/portsnap.
Затем в Jail'е postsnap fetch && postsnap extract (далее как обычно)
a09 писал(а): 2. Если ли такое понятие для jail как kernel или в jail не собиратеся ядро, а используется то что на реальной машине.
Используется то ядро, что на реальной машине/boot/kernel/kernel символической ссылкой сделай на /dev/null
a09 писал(а):3. Как поступать при обновлении мира для jail? Запускать make world DESTDIR=путь_к_jail на реальной машине?
Не помню. Здесь почитай.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
lexy
сержант
Сообщения: 288
Зарегистрирован: 2006-07-21 9:54:44
Откуда: Волхов, ЛО
Контактная информация:

Непрочитанное сообщение lexy » 2007-04-28 10:58:47

можно просто подмонтировать с основной машины через nullfs
чётатипа этого

Код: Выделить всё

mount_nullfs /usr/ports /jails/my_jail/usr/ports
после все обновления портов на основной системе будут сразу и в jail'e
и место на диске экономится.
у меня на три клетки так порты раскиданы, всё пашет

a09
рядовой
Сообщения: 25
Зарегистрирован: 2007-04-11 8:01:37

Непрочитанное сообщение a09 » 2007-04-28 12:10:26

Можно просто скопировать snapshot'ы portsnap в jail. По умолчанию portsnap использует директорию /var/db/portsnap.
Затем в Jail'е postsnap fetch && postsnap extract (далее как обычно)
Отлично.
а можно вместо
Затем в Jail'е postsnap fetch && postsnap extract (далее как обычно)
portsnap extract (в jail)
а далее
portsnap fetch (при необходимости update) (на машине)
копируем snapshot ы в jail
portsnap update (в jail)
Используется то ядро, что на реальной машине/boot/kernel/kernel символической ссылкой сделай на /dev/null
Не уловил на счет символической ссылки. Это необходимо так сделать?
mount_nullfs /usr/ports /jails/my_jail/usr/ports
Попробую и это тоже, но тут вопрос, а как в этом случае пострадает безопасность основной системы, после получения доступа root к jail?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-04-28 12:51:29

Не уловил на счет символической ссылки. Это необходимо так сделать?
Нет, необязательно.

По поводу portsnap тебе нужно разобраться как он работает и всё встанет на свои места.

1. postsnap fetch (тянет snapshot'ы или только изменения)
2. postsnap extract (Создаёт /usr/ports)
3. postsnap update (Обновляет /usr/ports)

Т.е. можно много вариантов придумать:

1. Копировать /usr/ports каждый раз
2. Один раз скопировать snapshot'ы, создать /usr/ports и далее fetch и update по необходимости.
3. Подключить раздел как описано выше.(безопасность не пострадает, разве что порты удалить можно будет. :-)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
lexy
сержант
Сообщения: 288
Зарегистрирован: 2006-07-21 9:54:44
Откуда: Волхов, ЛО
Контактная информация:

Непрочитанное сообщение lexy » 2007-04-28 13:30:39

a09 писал(а):
Используется то ядро, что на реальной машине/boot/kernel/kernel символической ссылкой сделай на /dev/null
Не уловил на счет символической ссылки. Это необходимо так сделать?
mount_nullfs /usr/ports /jails/my_jail/usr/ports
нет это примонтирование типа раздела )))))
ссылку из основной системы в клетку сделать нельзя, а вот про ссылку на ядро я сам не очень понял :?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2007-04-28 14:15:09

man jail

ln -sf dev/null kernel
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
Abigor
старшина
Сообщения: 425
Зарегистрирован: 2006-03-02 11:13:15
Откуда: РФ. г. Иркутск
Контактная информация:

Непрочитанное сообщение Abigor » 2007-04-28 17:04:24

я пользую как раз этот вариант на все jail что у меня вертятся на одной машине

Код: Выделить всё

mount_nullfs /usr/ports /jails/my_jail/usr/ports

Аватара пользователя
PandoraBox2007
рядовой
Сообщения: 10
Зарегистрирован: 2010-02-06 22:34:06

Re: Jail (дерево портов, обновление, ...)

Непрочитанное сообщение PandoraBox2007 » 2012-02-27 7:21:25

Код: Выделить всё

ln -s /usr/ports /jails/my_jail/usr/ports
как вариант ярлычком

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Jail (дерево портов, обновление, ...)

Непрочитанное сообщение FreeBSP » 2012-02-27 11:51:07

Код: Выделить всё

man ports 
...
ENVIRONMENT
     You can change all of these.

     PORTSDIR      Location of the ports tree.  This is /usr/ports on FreeBSD
                   and OpenBSD, and /usr/pkgsrc on NetBSD.

     WRKDIRPREFIX  Where to create any temporary files.  Useful if PORTSDIR is
                   read-only (perhaps mounted from a CD-ROM).
...

угу?
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
PandoraBox2007
рядовой
Сообщения: 10
Зарегистрирован: 2010-02-06 22:34:06

Re: Jail (дерево портов, обновление, ...)

Непрочитанное сообщение PandoraBox2007 » 2012-02-27 23:12:55

Вопрос: mysql стоит устанавливать в dom0 или в контейнер, ну и как лучше ?

Kolerts
рядовой
Сообщения: 28
Зарегистрирован: 2012-03-01 17:37:26

Re: Jail (дерево портов, обновление, ...)

Непрочитанное сообщение Kolerts » 2012-03-02 10:33:24

Доброго времени суток, уважаемые, помогите настроить инет в клетке, созданной с помощью ezjail:

Код: Выделить всё

# jexec 1 csh
www# cd /usr/ports/databases/mysql51-server;make install
=> mysql-5.1.61.tar.gz doesn't seem to exist in /var/ports/distfiles/.
=> Attempting to fetch ftp://ftp.fi.muni.cz/pub/mysql/Downloads/MySQL-5.1/mysql-                5.1.61.tar.gz
fetch: ftp://ftp.fi.muni.cz/pub/mysql/Downloads/MySQL-5.1/mysql-5.1.61.tar.gz: Protocol not supported

=> Attempting to fetch http://mysql.mirrors.cybercity.dk/Downloads/MySQL-5.1/mysql-5.1.61.tar.gz
fetch: http://mysql.mirrors.cybercity.dk/Downloads/MySQL-5.1/mysql-5.1.61.tar.gz: No route to host


www# ping ftp.fi.muni.cz
PING odysseus.fi.muni.cz (147.251.48.205): 56 data bytes
64 bytes from 147.251.48.205: icmp_seq=0 ttl=53 time=73.951 ms
64 bytes from 147.251.48.205: icmp_seq=1 ttl=53 time=73.312 ms
64 bytes from 147.251.48.205: icmp_seq=2 ttl=53 time=73.133 ms
64 bytes from 147.251.48.205: icmp_seq=3 ttl=53 time=73.246 ms
ifconfig

Код: Выделить всё

rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:00:23:b1:1d:48
        inet YY.YY.1.7 netmask 0xffffff00 broadcast XX.XX.1.255
        inet YY.YY.2.10 netmask 0xffffff00 broadcast YY.YY.2.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
fwe0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 02:0c:f3:bd:bd:1e
        ch 1 dma -1
fwip0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        lladdr 0.c.f1.0.0.bd.bd.1e.a.2.ff.f3.0.0.0.0
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=2009<RXCSUM,VLAN_MTU,WOL_MAGIC>
        ether 00:0c:f1:bd:bd:1e
        inet XX.XX.XX.19 netmask 0xfffffff8 broadcast XX.XX.XX.23
        media: Ethernet autoselect (100baseTX <half-duplex>)
        status: active
HOST:
rc.conf:

Код: Выделить всё

hostname="xxx.org.ua"
defaultrouter="X.X.X.17"

ifconfig_fxp0="inet X.X.X.19/29"
ifconfig_rl0="inet Y.Y.1.7 netmask 255.255.255.0"
ifconfig_rl0_alias0="inet Y.Y.2.10 netmask 255.255.255.0"


ezjail_enable="YES"

gateway_enable="YES"
sshd_enable="YES"

ntpdate_enable="YES"
ntpd_enable="YES"

ipnat_enable="NO"
ipnat_rules="/etc/ipnat.rules"

firewall_enable="YES"
firewall_nat_enable="YES"
firewall_type="/etc/ipfw"

rinetd_enable=NO

named_enable="YES"
named_program="/usr/sbin/named"
named_flags="-u bind -c /etc/namedb/named.conf"
rc.resolv

Код: Выделить всё

domain xxx.org.ua
nameserver 127.0.0.1
search userserver.local
domain userserver.local
ipfw

Код: Выделить всё

add 1040 allow ip from any to any via rl0
add 1044 deny all from any to 127.0.0.0/8
add 1048 deny ip from 127.0.0.0/8 to any

# Запрещаем частные сети на внешнем интерфейса
add 10101 deny log ip from any to 192.168.0.0/16 in recv fxp0
add 10102 deny log ip from 192.168.0.0/16 to any in recv fxp0
add 10103 deny log ip from any to 172.16.0.0/12 in recv fxp0
add 10104 deny log ip from 172.16.0.0/12 to any in recv fxp0
add 10110 deny log ip from any to 169.254.0.0/16 in recv fxp0
add 10120 deny log ip from 169.254.0.0/16 to any in recv fxp0

# Incoming Pings
add 10135 allow icmp from any to me icmptypes 8 in recv rl0
#add 10135 allow icmp from any to me icmptypes 8 in recv rl1
add 10138 allow icmp from any to me icmptypes 8 in recv fxp0

# Настройка NAT
nat 1 config log if fxp0 reset same_ports deny_in
add 10162 nat 1 ip from any to any via fxp0

#Deny all
add 65534 deny log all from any to any
sysctl.conf

Код: Выделить всё

security.jail.allow_raw_sockets=1
security.jail.chflags_allowed=1
JAIL (www):
rc.conf

Код: Выделить всё

network_interfaces=""
cron_flags="$cron_flags -J 15"
syslogd_flags="-ss"

sshd_enable="YES"
named_enable="NO"
resolv.conf

Код: Выделить всё

search userserver.local
domain userserver.local
пробовал через ipnat без ipfw пускать тажа херь..

Аватара пользователя
kharkov_max
капитан
Сообщения: 1862
Зарегистрирован: 2008-10-03 14:56:40

Re: Jail (дерево портов, обновление, ...)

Непрочитанное сообщение kharkov_max » 2012-05-02 19:38:34

Код: Выделить всё

ifconfig_rl0="inet Y.Y.1.7 netmask 255.255.255.0"
ifconfig_rl0_alias0="inet Y.Y.2.10 netmask 255.255.255.0"
Оно ?