1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Пару слов о FreeBSD

Тема в разделе "Софт", создана пользователем OpenBoy, 30.04.08.

  1. Pasha

    Pasha Активный участник

    4.442
    1
    Андрюха,
    очевидно, в папке /usr/src/sys/amd64/conf...
    при перекомпилировании достаточно в точности следовать хендбуку, и все должно сразу заработать... А хендбук кстати точно от той версии фряхи?
     
  2. Андрюха

    Андрюха Активный участник

    3.469
    93
    Pasha,
    тот, который на freebsd.org
     
  3. OpenBoy

    OpenBoy Активный участник

    21.849
    142
    попробуйте альтернативный метод сборки (к слову сказать - от версии 5.3 до сегодня - использую именно его).
    Заходимс в каталог с конфигурационным файлом, сопируем файл GENERIC в какой нибуть другой, например - WS.

    Если GENERIC отсутсвует, значит его ктото убил, так как для каждого релиза он может отличаться, то проще всего, обновить исходники ядра до стабильного релиза. (/usr/local/share/examples/cvsup/stable-supfile - помоему здесь, лежит пример очень понятный, файла, для обновления всего чего угодно)

    После всего этого - редкатируем получившийся файл нужным образом (незабываем - ident в начале и имя файла - одно и то же).

    после - сделаем configure WS, внимателдьно читаем - куда иттить далее, как правило в :
    cd ../compile/WS
    ну а там - все просто,
    make
    make install clean

    вот собственно и все.

    В каталоге конфигурации, чтобы иметь хорошую подсказку, о синтаксисе - делаем make LINT. Получаем файл LINT, в котором перечислены ВСЕ возможные опции для ядра. Заглядываем при необходимости.
     
  4. OpenBoy

    OpenBoy Активный участник

    21.849
    142
    Автор, что там с едром, едриттвоюналево...?
     
  5. Pasha

    Pasha Активный участник

    4.442
    1
    OpenBoy,
    наверное, плюнул, и стер образы БСД )
    Вот так начинать знакомство сразу с едра ))
     
  6. colorprint

    colorprint Активный участник

    19.654
    51
    да что там компилить то вообще, в последних версиях ядра достаточно универсальные. не то что раньше, даже для поддержки SMP приходилось рекомпилить
     
  7. Андрюха

    Андрюха Активный участник

    3.469
    93
    OpenBoy,
    новые проблемы всплыли, когда make depend делаю ошибки сыпяться... вроде все исходники поставил... вообще цель была прозрачный прокси сделать на базе squid и ipfw, ну или pf на худой конец.
    Pasha,
    неа, не стер. И не собираюсь.
    colorprint,
    нужна поддрежка IPFIREWALL и IPFIREWALL_FORWARD.
    p.s. стоит 7.0
     
  8. Шелудивый кот

    Шелудивый кот Активный участник

    12.135
    762
    ...
     
  9. Андрюха

    Андрюха Активный участник

    3.469
    93
    Шелудивый кот,
    IPFIREWALL и IPFIREWALL_FORWARD сразу не стояли.
     
  10. Pasha

    Pasha Активный участник

    4.442
    1
    Андрюха,
    в любой статье про использование IPWF есть примеры изменений, вносимых в файл для включения этих модулей. Если делать все по мануалу, должно работать. Блин, ну тогда кидай сюда логи, что-ли...

    А ты пробовал тупо скомпилить ядро, не внося изменений в файлы?

    А ты не учился на МФ? Лицо уж больно знакомое )) Или на ФФ...
     
  11. Андрюха

    Андрюха Активный участник

    3.469
    93
    Pasha,
    на МФ.
    options FIREWALL
    options FIREWALL_FORWARD
    вот и все изменения.
    пробовал. тож самое... куча error....
     
  12. colorprint

    colorprint Активный участник

    19.654
    51
    сейчас точно не вспомню как, но без проблем все это настраивал (и squid, и VPN, и openVPN) без всяких рекомпиляций ядра.
    через модули вроде догружается это все и все. в ядро компилить поддержку совершенно не обязательно.
    стараюсь вообще без лишней необходимости не рекомпилить ядро, т.к. серваков много и обновлять все это потом...... а так через freebsd-update пропатчил и все :)
     
    Последнее редактирование: 09.04.09
  13. Андрюха

    Андрюха Активный участник

    3.469
    93
    colorprint,
    ну если б я сразу при установке это добавил, у меня тож б все работало. Переустанавливать ОС как-то не хочется.
     
  14. colorprint

    colorprint Активный участник

    19.654
    51
    что добавили?
    в /etc/rc.conf и /boot/loader.conf настраивайте и все.
     
  15. Андрюха

    Андрюха Активный участник

    3.469
    93
    colorprint,
    ладно, как полный ламер в фряхе, спрошу чего такого надо прописать в /etc/rc.conf и /boot/loader.conf для того чтобы при
    ipfw add 60 192.168.1.220,3128 tcp from any to any http in via vr0
    не выскакивало:
    get sockopt (IP_FW_ADD): invalid argument
     
  16. colorprint

    colorprint Активный участник

    19.654
    51
    я через pf для openvpn c NAT вот так делал:

    /etc/rc.conf:
    pf_enable="YES"
    pf_rules="/etc/pf.conf"
    gateway_enable="YES"
    openvpn_enable="YES"
    openvpn_if="tap"

    dsys135# cat /etc/pf.conf
    ext_if="xl0"
    vpn_if="tap0"

    vpn_network="10.10.10.1/24"

    nat on $ext_if from $vpn_network to any -> 64.20.33.122
    pass in on $ext_if proto udp from any to port 1194 keep state
    pass quick on $vpn_if

    добавлено через 58 секунд
    ipfw_enable="YES" прописано в rc.conf?
     
  17. Pasha

    Pasha Активный участник

    4.442
    1
    colorprint,
    некоторые модули должны быть скомпилированы в ядро, например, беэ этого не будет работать IPWF. Повезло, что у Вас был не тот случай.

    Андрюха,
    дык у тебя нет ipwf! потому и не получается
     
  18. Андрюха

    Андрюха Активный участник

    3.469
    93
    разумеется.
     
  19. colorprint

    colorprint Активный участник

    19.654
    51
    ну через pf попробуйте.
     
  20. Андрюха

    Андрюха Активный участник

    3.469
    93
    colorprint,
    попробовал через pf. заработало, только если в браузер вместо адреса айпишник вбиваю.... вроде и в ДНС - ДНС сервер провайдера вписал... что ему еще надо...
     
  21. colorprint

    colorprint Активный участник

    19.654
    51
    в resolv.conf прописан?
    с сервера резолвится?
     
  22. Pasha

    Pasha Активный участник

    4.442
    1
    Андрюха,
    named включен?
     
  23. Андрюха

    Андрюха Активный участник

    3.469
    93
    colorprint,
    естественно прописан, если в браузере прокси прописать все отлично работает, а хотелось бы прозрачно(((

    добавлено через 8 минут
    Pasha,
    ?
    а это кто такой? и где включать
     
  24. Pasha

    Pasha Активный участник

    4.442
    1
    ДНС-сервер, но, судя по твоей переписке, он тебе и не нужен - ведь странички открываешь с другого компа?

    Как вариант - можно открыть в фаерволе прохождение ДНС-пакетов. В твоем случае это UDP, порт 53.
     
  25. Андрюха

    Андрюха Активный участник

    3.469
    93
    Pasha,
    хотяб примерно как это делается?
     
  26. ZLO

    ZLO Активный участник

    616
    1
    ну днс не резолвит. покажите что выводит nslookup ya.ru и видно будет отрабатывают у вас днс или нет и покажите содержимое resolv.conf никакой named не нужен))
     
  27. OpenBoy

    OpenBoy Активный участник

    21.849
    142

    Это древний хендбук, в последних версиях depend делать не надо.

    Собственно - в установленой с нуля FreeBSD есть, при условии установки колекции портов и исходников базовых системы, все возможности по пересборке ядра, и что самое важное - ошибки в этом случае КРАЙНЕ редки, в основном при переходе с релиза на релиз, когда tit и окружение вместе с ядром пересобираеться.

    То есть как вывод - если вы точно знаете что и как у вас усстановлено (если например - чаксть работы по установке не сделал за вас ктото еще) - то будте уверены - если у вас ошибки, значит проблема именно в вас, или в той информации которой вы руководствуетесь.

    добавлено через 4 минуты

    Здесь все прсото. Генерируем LINT как написано выше, открываем его в ДРУГОЙ консоли, и ищем там как правильно добавить нужную опцию. Например - ищем подстроку IPF, упираемся в группу опций поддержки ipfw...
    Переходим к эксперементальному файлу конфигурации ядра и добавляем в него опции...компилим, пробуем,...

    добавлено через 8 минут
    Логи пересборки ядра, кидать с только что установленой ОС - смысла по большему счету не имеет, заведомо ошибка пользователя.

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

    Либо - в случае если ОСь уже давно стоит и используеться - неправильным обновлением (например - неполным) исходных кодов.

    добавлено через 14 минут

    Он веть наверное по статье по какой-нибуть все делает, а авторы таких статей - могут вертеть что и как хотят... допустим автору вздумалось реализовать что-либо поддержкой netgraph, а в этом случае - подгружаемые модули не обеспечивают полной функциональности.

    Тем более - по началу, достаточно сложно определить - что можно сделать по своему? Что можно поменять, так чтобы не обломаться неудачей... вот он и компилит едро видимо... Впринципе - наверное это правильно, ибо - кроме процесса - тут и результат не маловажен, несмотря на познавательный характер деятельности - в результате чтото должно работать). Это воодушевляет.

    добавлено через 23 минуты

    не выйдет) не выйдет при установке, добавить функциональности в ядро). но можно подгружать модули, в том числе и после установки).

    В частности с модулями - это можно сделать в файле /boot/loader.conf
    По умолчанию он пустой, и чтобы точно знать что писать - в катологе /boot/default/ есть фаил который моджет вам помочь, в описании загрузки модуля.
    В простейшем случае - например загрузка модуля для поддержки тв тунера на чипе филипс saa7134 надо написать там:
    saa_enable="YES"
    где saa - это часть имени (без расширения .ko) фаила модуля ядра, для поддержки этого тюнера, сам файл лежит в /boot/kernel/ или (например если драйвер собран из колекции портов) в /boot/modles/
    .
    К слову сказать - в /etc/defaults/ есть примеры описания запуска уже некоторых служб, навроде NAT или пакетных фильтров.
    Механизм - крайне похож, на механизм загрузки модулей ядра.

    добавлено через 29 минут

    Если целью стоит - заставить работать все с использованием ipfw то надо сделать так:
    (метод для тех, кто мало знает, но хочет)
    comp#ls /boot/kernel | grep ipf
    ipfw.ko
    ipfw_nat.ko

    следовательно для поддержки пакетного фильтра и NAT yflj lj,fdbnm d /boot/loader.conf строчки
    ipfw_enablеr="YES"
    ipfw_nat_enable="YES"

    Перезагрузиться.

    добавлено через 56 минут

    Если имена не ресолвятся в самой вряхе, при наличии коректной записи днс в resolv.conf значит пакетный фильтр запрещает прохождение пакетов между сервером днс и твоеи машиной.

    Для начала - проыверить прохождение пакетов:
    nslookup
    >server 89.249.224.1
    >ya.ru
    Non autoritative answear
    Name: ya.ru
    213.180.34.80

    Жирным выделено все, чт опишется руками, курсивом - вывод в ответ.
    Как видим в примере с днс сервером вист онлайн - днс трафик проходит, и имена ресолвятся.

    Если не проходит - начинаем издеваться над пакетным фильтром.

    В первую очередь - выясняем политику по умолчанию (все резать или все5 пропускать).
    Если имеем ipfw то :
    ipfw list выдаст список текущих правил, последнеес самым большим номером, (deny или allow) будет определять базовую политику пакетног офильтра, если дени - все что не подошло под предыдущие по порядку номера правило - канет в лету, если allow - проидет насквозь.

    если фильтр все запрешает - добавляем правило вида:

    comp#ipfw add 10 allow udp from $me to any port 53 via vr0 keep-state

    что означаеть - добавить правило 10 согласно которому пропускать udp трафик от меня ($me="<реальный IP который смотрит в инет>") к любому хосту на 53 порт через интерфеис vr0, кроме того - пропускать ОТВЕТНЫЙ трафик (за это отвечает опция keep-state).

    Если используеться PF - то все намног опроше, заходим в файл конфигурации, смотрим первые правила (в секции правил), если видим там
    block all значит политика запретительная, и надо добавить правило которое разрешит днс трафик
    правило вида
    pass {udp} from $me to any port 53 keep-state


    в случае - когда машина с фрибсд используеться как шлюз, в вильтр надо добавит полную прозрачность для днмс трафика
    pass {udp} from any to any port 53

    проферить коректность синтаксиса написания можно:
    pfctl -nf /etc.pf.conf
    загрузить - так же но без n.

    еще полезно читать man pf.conf, если хочеться по русски, есть такое дело - почти полный перевод документации по pf на русский язык. И еще мног очего на тему БСД, ссылку правда пока не помню, но в поисовике легко найти по ключевым словам "pf документация".

    Помню - в имени домена на котором эти доки лежат, есть strela и он наш, русский.

    добавлено через 1 час 1 минуту
    для быстрой проверки причин не работающего днс, можно попробыват ьотключить пак. фильтр - например:
    pfctl -d
    если после этого все заработает с ЛОКАЛЬНОЙ машины, значит и правда причина в пакетном фильтре.
     
  28. Андрюха

    Андрюха Активный участник

    3.469
    93
    ругается на
    добавлено через 59 минут
    кстати
    ls /boot/kernel | grep ipf
    выдает
    ipfw.ko
    ipfw.ko.symbols
    ng_ipfw.ko
    ng_ipfw.ko.symbols

    после
    d /boot/loader.conf строчки
    ipfw_enablеr="YES"
    ipfw_nat_enable="YES"
    и перезагрузки на
    ipfw add 60 fwd 192.168.1.220,3128 tcp from any to any http in via vr0
    опять пишет
    getsockopt (IP_FW_ADD): Invalid argument(((
     
  29. OpenBoy

    OpenBoy Активный участник

    21.849
    142
    Смотри вот тебе пример файла конфигурации pf:


    твое правило на которое ругаеться pf следовательно будет выглядеть так:
    pass on vr0 proto {udp} from any to any port 53 keep-state.

    для ipwf - помоему кромеподдержки в ядре, надо еще и в rc.conf написать, чтобы тот стартовал. Кстати для pf тоже, вручную:
    pfctl -e
    Вот это:
    ls /etc/rc.d | grep ipfw
    выведет тебе название скритпта, который надо будет запускат ьчерез rc.conf
     
  30. Pasha

    Pasha Активный участник

    4.442
    1
    ??