id: Гость   вход   регистрация
текущее время 16:04 29/03/2024
Владелец: spinore (создано 24/06/2012 22:23), редакция от 26/05/2013 06:29 (автор: spinore) Печать
Категории: софт, анонимность, tor, операционные системы
создать
просмотр
редакции
ссылки

Настройка Tor-роутера под BSD (transparent Tor-proxy как anonymizing middlebox)


Пример, приведённый в официальном Tor-faq, на текущий момент не применим для OpenBSD PF из-за смены синтаксиса, и, на мой взгляд, содержит ряд неточностей. Ниже привожу пример настройки с дополнительным закручиванием гаек в PF. Цель — прозрачно выпускать несколько локальных подсетей в Tor, где каждая из них будет привязана к своему Tor-клиенту (в рассматриваемом примере две подсети).


Пусть выходной сетевой интерфейс — fxp0, а входные — vr0 и vr1. Тестировались только OpenBSD и NetBSD. При установке Tor из портов пользователь tor (_tor) и группа tor (_tor) создаются автоматически в NetBSD (OpenBSD). Далее с помощью vipw добавляем аналогичного юзера для второй подсети (достаточно сменить UID, сохранив ту же группу, имена пользователей для удобства можно упорядочить как, например, tor1 и tor2). Для tor-пользователей создаются конфигурационные файлы наподобие таких:

$ cat torrc_1 
SocksPort 9050 
SocksListenAddress 127.0.0.1 
RunAsDaemon 1
DataDirectory /tmp/tor_1
User tor1
AutomapHostsOnResolve 1
Log notice file /tmp/tor_1.log
VirtualAddrNetwork 10.192.0.0/10
TransPort 9060
DNSPort 5353
$ cat torrc_2 
SocksPort 8050 
SocksListenAddress 127.0.0.1 
RunAsDaemon 1
DataDirectory /tmp/tor_2
User tor2
AutomapHostsOnResolve 1
Log notice file /tmp/tor_2.log
VirtualAddrNetwork 172.16.0.0/12
TransPort 8060
DNSPort 5363
и кладутся в нужную директорию1. Автозапуск при загрузке системы делается прописыванием в /etc/rc.local строчек наподобие
/usr/local/bin/tor -f /path/to/torrc_1
/usr/local/bin/tor -f /path/to/torrc_2
для OpenBSD и
/usr/pkg/bin/tor -f /path/to/torrc_1
/usr/pkg/bin/tor -f /path/to/torrc_2
для NetBSD.

Вопреки сказанному в Tor-faq, прав на чтение /dev/pf достаточно не только для OpenBSD, но и для NetBSD, потому назначаем:
# chgrp tor /dev/pf
# chmod g=r /dev/pf
Нижеследущий конфиг был проверен на работоспособность в NetBSD 5.0.2, NetBSD 5.1 и OpenBSD 4.52:
# переменные:
in0  = "vr0"
IPin0 = "IP_НА_vr0"
net0 = "СЕТЬ_НА_vr0"
TransPort0 = "9060"
DnsPort0 = "5353"
 
in1  = "vr1"
IPin1 = "IP_НА_vr1"
net1 = "СЕТЬ_НА_vr1"
TransPort1 = "8060"
DnsPort1 = "5363"
 
out0  = "fxp0"
IPout0 = "IP_НА_fxp0"
 
lh  = "localhost"
tor_users = "{ tor1, tor2 }"
 
# опции по вкусу:
scrub all no-df random-id min-ttl 128
 
# редиректы:
rdr on $in0 inet proto tcp from $net0 to ! $IPin0             -> 127.0.0.1 port $TransPort0
rdr on $in0 inet proto udp from $net0 to ! $IPin0 port domain -> 127.0.0.1 port $DnsPort0
 
rdr on $in1 inet proto tcp from $net1 to ! $IPin1             -> 127.0.0.1 port $TransPort1
rdr on $in1 inet proto udp from $net1 to ! $IPin1 port domain -> 127.0.0.1 port $DnsPort1
 
# фильтрация:
block all
block in quick from any os NMAP
antispoof log quick for {$in0,$in1,$out0}
 
pass in  on $in0  inet proto tcp from $net0   to $lh port $TransPort0 user root
pass in  on $in0  inet proto udp from $net0   to $lh port $DnsPort0   user root
 
pass in  on $in1  inet proto tcp from $net1   to $lh port $TransPort1 user root
pass in  on $in1  inet proto udp from $net1   to $lh port $DnsPort1   user root
 
pass out on $out0 inet proto tcp from $IPout0 to any                  user $tor_users
 
block inet6 all
Выше строки
block all
block in quick from any os NMAP
antispoof log quick for {$in0,$in1,$out0}
можно заменить на
block return log (all)
и тогда сниффер
# tcpdump -i pflog0 -n -e action block
покажет все пакеты, блокируемые PF (полезно для отладки). Критерий actions поддерживается только в OpenBSD. Кроме того, ввиду правила "block all" блокирование nmap и антиспуфинг, возможно, избыточны3.

Такая же конфигурация на OpenBSD 4.8 с учётом смены синтаксиса PF выглядит так4:
# редиректы:
match in on $in0 inet proto tcp from $net0 to ! $IPin0             rdr-to 127.0.0.1 port $TransPort0
match in on $in0 inet proto udp from $net0 to ! $IPin0 port domain rdr-to 127.0.0.1 port $DnsPort0
 
match in on $in1 inet proto tcp from $net1 to ! $IPin1             rdr-to 127.0.0.1 port $TransPort1
match in on $in1 inet proto udp from $net1 to ! $IPin1 port domain rdr-to 127.0.0.1 port $DnsPort1
 
# фильтрация:
block all
block in quick from any os NMAP
antispoof quick for {$in0,$in1,$out0}
 
pass in  on $in0  inet proto tcp from $net0   to $lh port $TransPort0 user unknown
pass in  on $in0  inet proto udp from $net0   to $lh port $DnsPort0   user unknown
 
pass in  on $in1  inet proto tcp from $net1   to $lh port $TransPort1 user unknown
pass in  on $in1  inet proto udp from $net1   to $lh port $DnsPort1   user unknown
 
pass out on $out0 inet proto tcp from $IPout0 to any                  user $tor_users
block inet6 all
Данные конфиги PF разрешают выход в сеть исключительно Tor-клиентам. Чтобы разрешить что-то ещё (входящие по ssh, например) добавьте правила по вкусу.

Замечания:

  • Стоить отметить один важный феномен. Конфиг для старого синтаксиса PF (т.е. первый) работает для входящих только при опции user root, а для нового — только при user unknown5, при этом в описании опции user в man pf.conf ничего не менялось. Для работоспособности исходящих соединений tor нужно указывать user tor6, но и это не консистентно с документацией на PF, где чёрным по-белому указано, что при дропе привелегий владельцем сокета остаётся исходный пользователь (в нашем случае root, т.к. запуск из /etc/rc.local). Для входящих соединений, согласно документации, должен быть user unknown, если это — транслируемый траффик, либо пользователь, слушающий на заданном порту7. С этой точки зрения что должно быть на самом деле для pass in согласно букве документации вообще не ясно (траффик сначала перенаправляется rdr, а лишь затем передаётся на порт Tor. Если считать, что rdr не меняет критерий user, то по логике вещей для pass in должен стоять root [см. выше про дроп привелегий]).
  • В Tor-faq указан более короткий вариант правил (совмещает в себе и разрешение входящих и редирект), но я для большей контролируемости предпочитаю писать фильтрацию и трансляцию/перенаправления отдельно. Как мне представлялось (и как пишется во многих руководствах), пакет проходит фильтрацию до перенаправления и после. На практике стало понятно, что фильтрацию до перенаправления он не проходит, потому соответствующие правила из PF были изъяты3.

Указанная конфигурация легко заливается с помощью скрипта mklivecd на NetBSD LiveCD, что позволяет сделать бездисковый Tor-рутер из любого старого компьютера8. Конфиг будет работать и на одной сетевой с одним интерфейсом (надо будет для in0 и in1 указать тот же интерфейс).


P.S.: Конфигурацию с local redirection пока не настраивал, потому PF-аналог Linux-настройки привести не могу.



1Раздел /tmp целесообразно монтировать в память посредством mfs.
2В NetBSD 3.0 текущая версия Tor через pkgsrc собирается без поддержки прозрачной торификации (причины мне не известны), потому протестить не удалось.
3Если кто объяснит, где я не прав и как всё на самом деле, буду очень благодарен.
4Начало конфига до "опций" совпадает с предыдущим.
5Определялось экспериментально.
6Если вообще указывать опцию user, что в данной заметке делается по умолчанию.
7Например, user root для входящих pass in на ssh.
8Сколь-нибудь автоматизированных средств сборки OpenBSD LiveCD в сети не обнаружено, а все how-to написаны для довольно старых версий OpenBSD и не работают на 4.8 (ядро не влазит в отведённый размер boot при дискетоподобной системе загрузки LiveCD). Под FreeBSD есть средства автоматизированной сборки LiveCD, но я их не тестировал.


 
На страницу: 1, 2, 3, 4, 5, 6 След.
Комментарии [скрыть комментарии/форму]
— Гость (26/06/2012 23:18)   <#>
Как отключить вот эти вещи в убунте
cupsd отключать не обязательно, он только на локалхосте слушает. А авахи через % sudo apt-get autoremove avahi-daemon
— Гость (27/06/2012 00:10)   <#>
Гента разве даст такой выбор?
Даёт. firefox-bin.
Исключение для firefox? В BSD доступны тысячи пакетов (хотя и не всё, что есть в портах).

Ваше «Популярность Linux'а в первую очередь идёт из-за низкого порога вхождения» так и осталость без обоснования
Если за пользователей Linux считать только тех, у кого гента, их число поредеет в десятки раз. Для остальных дистров (убунта, федора и т.д.) порог вхождения практически нулевой: графический инсталл с несколькими кнопками, с минимумом настроек, и с минимумом вероятности что-то сделать не так, но эти люди — номинально «пользователи Linux», причём составляют основную часть в статистике.

Теперь признаётесь, что про арч даже не знали.
Ну допустим я вам поверю, т.к. арчем не интересовался. Уверен на почти все 100%, что копни глубже и поинтересуйся, будет ворох проблем (экстраполируя то, что мне известно про другие дистры).

И сколько разница по времени будет между портом в NetBSD и ебилдом/пакетом в bleeding edge дистрибутиве? 6 часов, 12, день?
Речь шла про времена порядка недели или недель. Народ задалбывали «криворукие мейнтейнеры портов» (не моя цитата), а также вообще отсутствие им нужного софта в портах как класса (хотя в других дистрах он был). Собственно, это и вынуждало голосовать ногами.

Задело вас всё-таки сравнение с Linux, что вы и с PF, и с MatLab, и с Xen сразу забегали?
Ну вы же сами спросили, чем BSD может похвастаться помимо портов. Я вам перечислил. Зачем ёрничаете?

в чём смысл портов, если их точно так же должен кто-то обновлять.
Смысл портов в том, что официальных портов (под подавляющее число дистров) нет (в отличие от BSD), а сторонние юзать и огребать от этого проблем не хочется (исключения имеются, но это отдельный разговор).

Я же эти проблемы не высасываю из пальца, и не придумываю. Есть опыт и грабли. Например, был дан хост с гентой, где с полгода, если не больше, уже ничего не обновлялось. Туда нужно было поставить новую версию privoxy (со старой были траблы). Попросил помощь у тех, кто имеет многолетний опыт работы с гентой. Ну что ж, обновили. Только для этого пришлось обновить половину системы, и ещё очень повезло, что ничего необратимо не сломали по нечайности. Такая же задача на Debian-хостах решается в среднем проще. А на BSD — ещё проще. Можно поставить последнюю версию Tor на уже давно depricated релиз NetBSD от 2005го года, т.к. актуальному pkgsrc пофиг какая базовая система. Вот бы в Linux так: распаковал дерево портов, написал make install и всё готово. Тут как раз отсутствие базовой системы играет роль.
— Гость (27/06/2012 00:48)   <#>
Субъективное впечатление … лор
Понятно всё с вами.
А что вам так не понравилось? Вы же меня в духе лора и троллите. Пора бы вам 5 звёзд выдать, да вот в форуме нет поддержки таких фич. Должно быть, язык лоровских троллей — ваш естественный. На каждом шагу хамство, грубость, переход на личности:
защищать свой язычок
Уменьшительно-ласкательные — уровень обзывалок в детском саду. Вроде как взрослым людям неприлично должно быть до такого опускаться. Если аргументов нет, коверкание слов их не добавит. Меня за поверхностность критики осуждаете, а сами ещё ниже опускаетесь?

BSD давно на обочине прогресса.
На форуме уже есть 3 страницы с объяснением почему BSD удобна для Tor-рутера, с множеством аргументов. Судя по вашим постам, с BSD вы не имели опыта ни разу, раз оно вас так раздражает. «Обочина прогресса» — голословное утверждение. Вы судите систему, о которой вы всё, что знаете — это расхожие лор-вопли. Сами-то матчасть вы пытались изучать? Или только кричать об этом умеете? Можете ещё вспомнить про некрофилию, про якобы большую дырявость, про аргумент с неуловимым Джо и про всё остальное, как там принято на лоре троллить. Вам в этом плане есть куда расти. Но зачем этим засорять форум? Тут же не лор, за большее хамство звёзд не выдадут.

Вообще, с вами дискутировать не интересно. Вы постоянно показываете незнание матчасти
Главное — словить момент и успеть это произнести вовремя, первому, а то потом момент будет упущен. Если вы сильно переживаете, чтобы последнее слово было за вами — так и скажите, я замолкну. У меня есть и более важные дела, чем бессмысленные интернет-срачи, да и переубеждать неизвестно кого / объяснять неправоту непонятно кому никакого интереса нет.
— Гость (27/06/2012 09:58, исправлен 28/06/2012 08:46)   <#>
Распространённость системы — не единственный фактор, а то так можно и до винды дойти.

Facebook как новой платформе: у неё есть свой программный интерфейс (API, набор ключевых функций, основанный на HTML5), который используют авторы тысяч социальных приложений (их так называют потому, что работают они внутри социальной сети), и сотни миллионов пользователей. В общем то же самое, что и iOS, и Android, с той лишь разницей, что Facebook работает на любом цифровом устройстве. Таким образом не Apple, не Google и не Microsoft владеют самой массовой платформой. Самой массовой следует считать Facebook.

-:

— Гость (27/06/2012 12:39)   <#>
Годная банкаветка. Пауки пересрутся, покусают друг дружку и свалят. Может тогда на pgpru посвежеет? Неа, врядли, эти не свалят и еще со всего болота новые подтянутся. Это их родина.
— новый_паук (27/06/2012 17:24)   <#>
Ваши данные слегка устарели. MIT вместо Scheme теперь использует Python для обучения.

MIT не отказался от схемы, просто вводный курс (6.001), который был на схеме, отменили вообще. Сама же схема (и sicp) остались, например http://groups.csail.mit.edu/mac/users/gjs/6.945/. Ну и всякие экспресс-курсы есть: http://web.mit.edu/alexmv/6.S184/.

ppa

PPA — это пакеты, собираемые третьей стороной. В дебиане официальных портов в том виде, как в генте и бсд — нету (ну не pkgsrc же на дебиан ставить), но сборка пакетов из сорсов есть. Отличие в том, что в пакеты с сорсами (хоть deb-src, хоть srpm) уже кладут инструкцию для сборки, а в случае бсд и генты не так — там инструкции отдельно, тарболлы с исходниками отдельно. Поэтому и можно говорить о дереве портов в бсд и генте, а в дебиане и пр. — нельзя, там в каждом пакете файл для сборки. Зависимости есть, но при сборке из сорсов автоматически не разрешаются, т.е. плановый use-case — что ставится из сорсов не очень много пакетов. Чтобы скомпилить пакет, вручную даётся команда проверить зависимости. Если они неудовлетоврены, система их ставит... правильно, из пакетов (автокомпиляции зависимости из сорсов, как в бсд, нету). Пожалуй, в плане пользования системой — это главное отличие.

Ещё некоторых в Debian задалбывает, что в каждом пакете файлы для разработчиков (хэдеры, статические либы и пр.) идут отдельно. Приходится разные пакеты ставить. Например, zlib1g и zlib1g-devel, где хэдеры (заголовочный файл с прототипами сишных функций, объявлениями типов, констант, короче .h-файл) — во втором. Оба подхода (ставить заголовки по умолчанию/не ставить) имеют свои плюсы и минусы (для source-based дистров — без вариантов, только ставить), причём это единая политика дистра: пакеты, не удовлетворяющие политике, не примут ни в один нормальный реп.

Ubuntu minimal, который тут советовали, от минимального дебиана действительно отличается мало, но всё равно слишком много свистелок. Ну вот зачем plymouth на минимальной системе? Причём вся система (ядро+framebuffer+plymouth+...) глючит, вплоть до уровня "черный экран при загрузке", если фишка не ляжет. Зачем так делать, я не понимаю. Если может сломаться, оно сломается (в Debian squeeze такого по умолчанию нет).

systemd — это всё-таки дичь для минимальных систем, слишком много запихано в этот комбайн. Да и upstart тоже... Всё-таки sysvinit самый простой из них (хотя bsd init ещё проще).

Но на это всё, естественно, можно найти миллион возражений, почему это всё не так. YMMV, короче.
— Гость (27/06/2012 20:01)   <#>
Вот чем столька букафф писать, лучше собрали бы что надо и выложили в виде ISO.
— Гость (27/06/2012 20:21)   <#>
Это вы к кому обращаетесь?
— Гость (27/06/2012 20:29)   <#>
Исключение для firefox
Нет. Могли бы и сами поинтересоваться. Есть и официальные: вот здесь в поиске можно *-bin ввести. Сами не могли погуглить, будучи пользователем генту?

Если за пользователей Linux считать только тех, у кого гента, их число поредеет в десятки раз.
Но всё-таки в десятки раз будет больше пользователей бсд. (Прибавьте ещё такие, достаточно популярные дистрибутивы, как ArchLinux, Slackware, «порог вхождения» которых ничуть не меньше.) Так что ваш аргумент не катит, люди всё-таки по другим причинам выбирают Linux.

Уверен на почти все 100%, что копни глубже и поинтересуйся
А вот это могли бы и сереньким цветом, т.к. ваше субъективные взгляды только в течении этой ветки несколько раз оказывались совершенно некорректными.

Речь шла про времена порядка недели или недель.
Не думаю, что всё так плохо. Но у вас есть шанс убедить меня, представив множественные факты подобных случаев.

Ну вы же сами спросили, чем BSD может похвастаться помимо портов.
Перечитайте внимательно мой вопрос: «И вообще, чего вы ко своим портам привязались, не пойму. Больше BSD хвастаться нечем?»

Смысл портов в том, что официальных портов (под подавляющее число дистров) нет (в отличие от BSD), а сторонние юзать и огребать от этого проблем не хочется (исключения имеются, но это отдельный разговор).
Опять ничего не понял. Потрудитесь внятно объяснить, чем порты во фре лучше bleeding edge дистрибутива?

Есть опыт и грабли.
Генту это bleeding edge, не вижу ничего ненормального. Хотите стабильности — ставьте дебиан. Можно подумать у вас при обновлении софта из портов не могут вылезти проблемы и что в полгода назад поставленной BSD не потребуется перекомпилировать полсистемы. Ну в портах оно, и что? Софт обновляется. либы обновляются, зависимости меняются. В чём разница?

Можно поставить последнюю версию Tor на уже давно depricated релиз NetBSD от 2005го года
А на debian oldstable (lenny) последнюю версию тор поставить значит нельзя? Потрудитесь посмотреть ссылочку, которую я давал. (Опять второй раз повторять приходится!)

Вот бы в Linux так: распаковал дерево портов, написал make install и всё готово.
Прям фанатик со своими портами. Вот зачем мне на роутере нужны последние версии всего софта, который я туда поставлю? Ну тор нужен, легко поставлю. Ещё может что понадобится. Остальной софт гораздо лучше стабильный (дебиан), чем самый новый и бажный.


А что вам так не понравилось? Вы же меня в духе лора и троллите. Пора бы вам 5 звёзд выдать
Не меряйте всех по себе. Ваше долгое присутствие на лоре, похоже, сыграло с вами злую шутку. Вы позволяете себе не ходить по ссылкам, не воспринимаете аргументы оппонента, высказываете голословные утверждения, фанатичны в своем выборе. То тор на убунту-хосте не обновить. Горе-то какое! На моё решение в виде ppa, про котороые вы даже не в курсе были, хотя про него знает каждый нуб-убунтушник, пошли наезды, что неофициальные, что дублирование, что ничего работать не будет. То бинарники у нас из генты куда-то пропали. То в линуксе портов нет, а на арч опять наезды. Ужас прям какой-то с вами.

Я максимум за всё время на лоре написал 2 комментария от анонимуса и изредка читал новости (на опеннете лучше). Если и были какие отклонения, то разве что оффтопик и небольшие колкости. Это не преступление, да и вы не лучше. К тому же, вы вроде говорили, что вам такое не интересно, а сами.
Уменьшительно-ласкательные
Ну придирка же.

На форуме уже есть 3 страницы с объяснением почему BSD удобна для Tor-рутера, с множеством аргументов.
Ссылку?

с BSD вы не имели опыта ни разу
Ну что же вы так. Я, в отличии вас, стараюсь не говорить про то, с чем сам дела не имел. Я использовал FreeBSD около двух лет на десктопе, правда это было давно, версии 6-7. Не претендую на хорошее её знание, но в общем-то вполне знаком. Про «обочину прогресса» комментировать не буду, а то совсем в оффтопик съедем. Можете считать это моим субъективным мнением.

У меня есть и более важные дела, чем бессмысленные интернет-срачи
Смеялся. Честное слово, господин spinore, уморили, без сарказма. Сколько у вас времени отнимает написание таких опусов? Да и судя по вашей форумной активности, вы здесь по много часов каждый день проводите.


Кстати, вопрос бсдводам. Может случиться такое, что новые версии софта потребуют изменения чего-то в системе? Тут выше писали, что пересборка мира достаточно сложный процесс. spinore всё агитирует за старинные системы 2005-го года, но чтоб софт весь последний, не может ли такое боком выйти? Может господа майнтейнеры в дебиане ерундой маятся и вообще заморозка программ не нужна, если всё работает и так?
— Гость (28/06/2012 01:22)   <#>

Строго говоря, зависит от типа BSD. Как правило, может, но это всё же большая редкость. Например, в pkgsrc параллельно поддерживаются ветки для нескольких последних релизов, и номинально весь софт должен компилиться под любым релизом и правильно работать. Конечно, всему есть пределы. Если вы читали эту новость, а не только комментарии, там указано
В NetBSD 3.0 текущая версия Tor через pkgsrc собирается без поддержки прозрачной торификации
Это один из таких примеров. Тем не менее, оно собирается, и оно работает (хоть и без поддержки прозрачной торификации), хотя NetBSD 3.0 вышла в 7 лет назад, а эта заметка писалась всего полтора года назад. В pkgsrc в этом плане грамотно сделано: весь софт, на который завязаны порты, есть в портах, даже если он имеется и как часть базовой системы. Могут параллельно стоять 2 версии одних библиотек: одна в /usr/lib (часть системы), а другая в /usr/pkg/lib (из портов). По умолчанию версии из портов имеют приоритет и перекрывают системные при компиляции. Тут скорее конфликты избегают дублированием всего нужного: через порты можно поставить более свежее всё, начиная от gcc и кончая последним ssh.

В OpenBSD же, наоборот, наблюдается полная шизофрения по этому вопросу. Если почитать их FAQ, с одной стороны, они крайне не рекомендуют ставить current-версию системы, типа нестабильно, на свой страх и риск и т.д. С другой стороны, установка current там же позиционируется, как наиболее правильный путь. Типа, в текущую версию попадает только хорошо оттестированный код, и система в current — самая якобы актуальная и безбажная, самая лучшая во всех смыслах. Дубляж софта через порты они, видимо, избегают, потому крайне не рекомендуется ставить current-порты на stable-релиз системы. В stable же портах версии софта обновляются не чаще, чем собственно релиз (раз в пол года), секъюрити-фиксы тоже не бэкпортятся.

Даже если пользователь поверит и поставит current, работоспособность current-портов гарантируется только на current-системе. Т.е. если базовую систему не обновлял пару месяцев, а потом по недоразумению какой-то порт не скомпилился, в баг-репорт такое не примут. Разработчики жалуются, что у них мало ресурсов, потому на эксперименты пользователей им побоку: пусть делают что хотят, но фидбак будет нулевой. Грубо говоря, чтобы иметь актуальный прикладной софт, надо постоянно сидеть на самой свежей базовой системе. Чтобы добить окончательно, добавлю, что update current-базы можно сделать только перекомпиляцией из сорсов (аналог пересборки мира во FreeBSD) или переустановкой всей системы
(хотя в последнем не уверен; не знаю, насколько часто они снапшоты каррента выкладывают; в NetBSD — практически ежедневно, причём там автоматическая сборка и автотестинг, можно смотреть что на каких архитектурах не собралось и почему).

В контексте Tor'а OpenBSD очень показательна: хочешь текущий Tor, значит, ставь current-систему и current-порты. Хочешь обновить Tor — обновляй как базу, так и порты. А всё потому, что разработчики Tor решили завязаться на OpenBSD'шный libevent, который в OpenBSD, понятно дело, в базе, а в портах не дублируется. Вот нужен текущему Tor'у более свежий libevent, и ниоткуда его не взять: пересобирай систему или reinstall. В контексте сборки OpenBSD LiveCD как Tor-рутера эта проблема апдейтов была одним из главных минусов
(второй — трудность сделать LiveCD с актуальной версией системы; некоторые инструкции требовали установить qemu и через неё как-то сделать, но это по сравнению с простым скриптом mklivecd и одним конфигом к нему выглядело совсем тускло).

Ну и FreeBSD — это отдельная песня, тому, что
Я использовал FreeBSD около двух лет на десктопе, правда это было давно, версии 6-7.
я не удивлён. Субъективно, после 4ой ветки оно стало уверенно двигаться в сторону Linux-подхода со всеми его минусами, погоней за фичами, нетривиальной автоматикой и комбайнерами. Качество и безопасность — последние приоритеты, главное — догнать и перегнать Linux по фичам. Собирать из такой системы конструктор под себя... тогда проще сразу LFS делать: и надёжнее, и лучше оттестировано. Единственно, что порадовало (или мне так везло просто) — очень оперативные ответы на багрепорты в портах. Последние новости, что я слышал про FreeBSD — что-то в духе «выполняешь sysctl -a |less, потом жмёшь q и система падает в kernel panic».



Что, IMHO, стоило бы сделать в Linux (хотя, может, на уровне песочниц это уже есть) — разбить порты на 2 части: одна бы отвечала за системно-критичные вещи, а другая за всё остальное (на дублирование пофиг), причём сделать их совершенно независимыми. Тогда, если хочется лезть в базовую систему, то можно, но на свой страх и риск (как и пересборка мира), но и необходимости в этом чтоб не было.


Разве не разошлись на этом? Вы совсем не следите за моими постами :)

На самом деле там список будет более обширный: понять как называется какая из сетевых, не перепутать (в BSD имя сетевого интерфейса зависит от производителя, никаких универсальных eth0 и eth1). Не перепутать, втыкая провода в них. Правильно прописать настройки в конфиги. Поднять сеть. Вручную запустить Tor (пока сети нет, Tor не запустится или будет глючить). Внешний интерактивный скрипт или искуственный интеллект делать? Боюсь, итоговая инструкция тогда окажется сложнее, чем тупо поставить NetBSD в default install и прописать в конфиги то, что указано в этом топике.



Нет. Могли бы и сами поинтересоваться. Есть и официальные: вот здесь в поиске можно *-bin ввести. Сами не могли погуглить, будучи пользователем генту?
Если у меня был какой-то опыт с генту, это не значит, что я её пользователь. Бинарные пакеты (если не изменилось чего в последнее время, но это вряд ли) собирались под тяжёлый софт: firefox, open office, java thunderbird и т.д. Это редкое исключение, причём преимущественно для сверхтяжёлого софта (десятки мегабайт). В генте рекомендовалось пользоваться бинарными пакетами только для тяжёлого софта на слабых машинах (просто потому, что иначе какой-нибудь openoffice реально будет несколько суток компилиться). Чтобы вы почувствовали разницу, вот список бинарных пакетов под NetBSD, а вот — под OpenBSD (судя по этому summary, под OpenBSD i386 доступно 7229 пакетов). Практически всё, хоть сколь-нибудь распространённое, имеется и в бинарных пакетах. Для сравнения: в pkgsrc немногим больше, чем 10000 портов (в терминологии pkgsrc их почему-то называют пакетами, а собственно пакеты — бинарными пакетами).

Если за пользователей Linux считать только тех, у кого гента, их число поредеет в десятки раз.
ваш аргумент не катит, люди всё-таки по другим причинам выбирают Linux.
Если взять десктопы, то подавляющее число систем — MINT, Ubuntu и SUSE. Именно их устанавливают по умолчанию те, кто даёк от командной строки, а также админы для офисных работников (моя личная статистика по организациям и опыту общения с другими). Причины вам должны быть понятны. Остальные дистрибутивы — единичные инсталлы под себя теми, кто владеет матчастью. Тем не менее, когда говорят о популярности Linux, подразумевается все дистры и все use-case'ы. Уберите эти 3 дистра, и популярность Linux уже не будет разительно отличаться от какой-нибудь FreeBSD.

Опять ничего не понял. Потрудитесь внятно объяснить, чем порты во фре лучше bleeding edge дистрибутива?
Первое: порты в Linux-дистрибутивах — это исключение, а не правило. Или мы сразу договариваемся, что ничего, кроме генты и арча для сравнения не годится и сливает по функционалу? Второе: наверно, вы хотели сказать «чем BSD-порты лучше portage»? По функционалу — ничем (даже скорее хуже). По поддержке мейнтейнерами — возможно, лучше (зависит от типа BSD, наверно). С уходом главного в майкрософт с генте всем вообще на всё пофиг стало. Были багрепорты, которые не фиксили месяцами. Ещё одна концептуальная особенность — само api для portage'а активно меняется, в то время как BSD'шный make, на котором написаны BSD-порты, не меняется годами. Из-за этого куча багов в портеже, вызванных несовместимостью версий. Ну и главный момент — BSD состоит из базовой системы (полностью отвязанной от портов) и портов, в то время как в генте порты — это всё. Плюсы и минусы этого выше тоже озвучивались.

Хотите стабильности — ставьте дебиан.
Вы в курсе, что такое Debian stable и как там с поддержкой железа? Что туда бэкпортируются только секъюрити фиксы? Что (относительно) свежий софт оттуда недоступен как класс? Это не конкурент BSD-релизу, у которого с поддержкой железа-таки в среднем лучше (про актуальный софт даже не говорю). А Debian unstable... ну это как BSD-current, т.е. на свой страх и риск со всеми вытекающими последствиями.

Можно подумать у вас при обновлении софта из портов не могут вылезти проблемы и что в полгода назад поставленной BSD не потребуется перекомпилировать полсистемы. Ну в портах оно, и что? Софт обновляется. либы обновляются, зависимости меняются. В чём разница?
Разница в том, что система не имеет отношения к портам, она от них полностью независима. В крайнем случае я могу снести все до одного пакета/порта из системы и установить их заново. В идеологии BSD в базовую систему входит довольно много чего (иногда вполть до консольных браузеров), а в Linux она вырождается до голого ядра: сломал порты/пакеты = сломал систему.

А на debian oldstable (lenny) последнюю версию тор поставить значит нельзя? Потрудитесь посмотреть ссылочку, которую я давал. (Опять второй раз повторять приходится!)
Вы про эту? И что я должен по этой ссылке понять? Что ставить Tor из официального репа — outdated (это вам не BSD-порты), что нужны пляски с подключением альтернативного репа и импортом его ключа, что задача в принципе решается. Ну я не сомневался, что она решается, это даже на форуме многократно обсуждалось. А если в privoxy баги, или в крэш она выпадает, и я потому хочу поставить её последнюю stable-версию, мне откуда её взять? А если я последнюю версию OpenVPN захочу или ещё чего, что мне нужно будет на рутере? С каждым новым софтом я должен устраивать пляски с бубном? А как быть с зависимостями к этому софту? Заметье, я не изобретаю задачи: ставить последнюю stable-версию privoxy мне было реально необходимо, и я реально с этим в Linux мучился (хотя и решил), а в BSD это не вызвало бы никаких проблем. Не забывайте, что в портах обычно имеется последний stable софта, а не альфы и беты, так что последний стейбл безопаснее предыдущих стейблов (особенно, если за багами в уже установленном софте следить).

Вот зачем мне на роутере нужны последние версии всего софта, который я туда поставлю? Ну тор нужен, легко поставлю. Ещё может что понадобится. Остальной софт гораздо лучше стабильный (дебиан), чем самый новый и бажный.
Зачем всего? Достаточно штук 5 пакетов, каждый из которых потянет ещё несколько пакетов как зависимости. И что со всем этим делать? Ну вот хорошо, под Tor сам Tor Project делает deb-пакеты, а если б не делал? Вот нету, допустим, у вас свежего libevent, от которого он зависит, и откуда его взять? А privoxy от pcre зависит. А чтобы собрать privoxy, надо иметь ещё актуальные версии для digest, autoconf, gmake и perl. Если в системе хоть что-то из перечисленного старее чем требуется, приходится либо редактировать инструкции по компиляции, либо устанавливать. И так по цепочке. И это самый простой (в плане зависимостей) сетевой софт.

То тор на убунту-хосте не обновить.
Tor трубует плясок. В качестве исключения, обновить. С плясками, правда. А мне пляски не нравятся. Как быть с другим софтом, так от вас и не услышал. Deb-src — не аналог портов ни разу (см. пост выше). И что получается? Пакеты — outdated, более свежие пакеты — только из кустарных репов, портов нет. Ну, с сорсов поставить всегда можно, другое дело — нужно ли, если можно выбрать другую систему, где всё искаропки.

Горе-то какое! На моё решение в виде ppa, про котороые вы даже не в курсе были, хотя про него знает каждый нуб-убунтушник, пошли наезды, что неофициальные, что дублирование, что ничего работать не будет.
Вы всё правильно говорите: как раз нубы, которым наплевать на безопасность, с ppa ставить будут. А я для критичного софта лучше б через deb-src сделал. Народ, уже понаступавший на грабли, вообще с ppa ставить не советует.

То бинарники у нас из генты куда-то пропали.
Ну с бинарниками мы вроде разобрались выше или нет? В смысле того, что сравнивать полноценное дерево тысяч бинарных пакетов под BSD с несколькими десятками (или сколько их там?) бинарных пакетов генты глупо. Покажите бинарную версию Tor'а и privoxy (для генты).

То в линуксе портов нет, а на арч опять наезды.
Только два дистра Linux из десятков популярных дистров имеют порты? Это большая разница? Особенно, когда в половине текста речь идёт про Debian и Ubuntu.

Я использовал FreeBSD около двух лет на десктопе, правда это было давно, версии 6-7.
Вообще-то, хоть мы тут и говорим обобщённо про BSD, между разными BSD есть большие отличия, в том числе и в плане политики портов/пакетов/апдейтов.

Сколько у вас времени отнимает написание таких опусов? Да и судя по вашей форумной активности, вы здесь по много часов каждый день проводите.
Так о том и речь, что это время можно было бы потратить на написание полезных постов, а не на холивары. Кстати, в зарубежных школах холиварам специально учат: считается, что это развивает гибкость мышления, умение отстаивать свою точку зрения, обучает софистике и риторике, непредвзятости к иному мнению, умению видеть аргументы за и против любой позиции. Естественно, выбора точки зрения, которую требуется уметь отстоять, не предоставляется. Если это не кидание говном, а конструктивный спор, оно даёт полезные навыки.
— Гость (28/06/2012 01:43)   <#>
spinore всё агитирует за старинные системы 2005-го года, но чтоб софт весь последний
Я не агитирую ставить старинные системы. Я только хотел подчеркнуть тот факт, что устанавливаемость свежего софта на старинные системы — их преимущество и продуманность архитектуры/разработки. Последний bug-fix релиз NetBSD вышел несколько месяцев назад, выход 6.0 планируется на июль. Что умеют эти «старинные системы», я уже перечислял + есть википедия. Сравнивать это с Haiku/Minix/Plan9 или ещё там чем — это надо крепко удариться. Шифрование файловых систем в Minix появилось на моих глазах, не так давно, а до поддержки на них проприетарного Linux-софта искаробки я, наверно, вообще не доживу. В NetBSD же это всё было и 7 лет назад. Кстати, вечно делаете вид, что не замечаете: только 3 системы поддерживают dom0 в Xen: Linux, OpenSolaris и NetBSD. FreeBSD в списке нету, несмотря на всю её популярность, при этом Xen — единственный открытый полноценный (т.е. Type 1) гипервизор.
— Гость (28/06/2012 02:20)   <#>
На форуме уже есть 3 страницы с объяснением почему BSD удобна для Tor-рутера, с множеством аргументов.
Ссылку?
Ссылку на что, на все мои посты на этих 3х страницах? Почти каждый из них содержал аргументы на этот счёт, и вы их читали. Можно суммировать как простота развёртки (сборки LiveCD, см. mklivecd) и лёгкое обновление прикладного софта до актуальной версии (см. обновление софта портах). Это всё при условии поддержки железа, но с этим не так плохо, как кажется Linux'оидам (вероятность, что не подцепится типовая сетевая карта, очень мала — рутеру не много надо). Ссылки про остальное завтра поищу, на свежую голову.
— Гость (28/06/2012 02:36)   <#>
секъюрити-фиксы тоже не бэкпортятся.
Нет, про пакеты тут неправ, наверное. После бэкпорта изменений пакет (в OpenBSD) получает постфикс pX (в NetBSD — nbX), где X — число от 1 и выше. Но это изменение постфикса происходит при любых изменениях в порте, соответствующем пакету (например, исправление ошибок в инструкциях по сборке), а не только связанных с заменой сорсов в тарболле. Впрочем, если разработчики решили бросить поддержку безопасности в старом релизе своего софта, выпустить свежую версию и агитировать всех обновиться (с Tor'ом вроде такое было), то не уверен, что stable-порт/stable-пакет будут обновляться их мейнтейнерами.
— Гость (28/06/2012 17:58)   <#>

  • Вот тот генту-тред с посылом "надо валить". Список ряда претензий можно нарыть оттуда.
  • В bug list есть колонка changed. Если кликнуть по ссылкам, можно увидеть reported. Время разрешения багов по многим проблемам — от нескольких недель, до нескольких месяцев (и даже лет). Самые старые подтверждённые баги датируются 2010ым годом. И это всё при том, что генту достаточно популярна по сравнению с маргинальными BSD.
  • Tcl 8.5 был впервые стабилизирован в генте в августе 2009:
    18 Aug 2009; Christian Faulhammer <fauli@gentoo.org> tcl-8.5.7.ebuild: stable x86, bug 280845
    Lenny же вышел зимой 2009го, плюс вычитаем пол года на заморозку. Т.о. в lenny 8.5 появился на год раньше.

  • Lua 5.1 в своё время целый год туда добавляли. В это время в etch'е оно уже было, а сам etch вышел в апреле 2007го. В итоге по времени получается примерно то же самое, что и etch, даже с опозданием, но это совсем не то, чего ждёшь от rolling release-дистра. Идея в том, что дебиан, получается, в среднем меньше тормозит со стабилизацией, чем генту. Приходилось держать гигантский файл package.keyword, потому что держать всю систему на ~ опасно [~ — это аналог нестабильной ветки; смысл в том, что если используется стабильная ветка (типа x86), но нужно поставить порт из нестабильной (у него есть только ~x86), то нужно добавлять этот пакет и ~x86 в файл package.keywords].

P.S.: На уровне личной субъективной статистики. Конечно, вы можете видеть/найти другую статистику и cделать другие выводы, но откуда взялись мои доводы я пояснил. Если вы забыли, это ответ всё по поводу «в Linux тоже есть порты». Вот получается, что даже там, где они есть, к ним имеются претензии, у дебиана же дерева портов нет вообще. BSD тут как раз предоставляет разумную альтернативу Linux'ам.
— Гость (18/11/2012 00:52)   <#>
А авахи через % sudo apt-get autoremove avahi-daemon
# apt-get autoremove avahi-daemon
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  avahi-daemon avahi-utils libdrm-dev libnss-mdns libqt4-opengl libreadline5 linux-headers-2.6.32-21
  linux-headers-2.6.32-21-generic-pae mesa-common-dev socat telepathy-salut tsocks
0 upgraded, 0 newly installed, 12 to remove and 3 not upgraded.
After this operation, 94.3MB disk space will be freed.
Do you want to continue [Y/n]?
Если я хочу удалить авахи, почему с меня требуют удалить кучу других нужных пакетов, типа tsocks? Какое имеет отношение tsocks к авахи? После нажатия на Y Linux прийдёт в нерабочее состояние автоматически, судя по сносимым пакетам? Как снести аваху конвенциональным образом, не снося всего остального?
На страницу: 1, 2, 3, 4, 5, 6 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3