Статья: шлюз на OpenBSD
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- BlackCat
- прапорщик
- Сообщения: 469
- Зарегистрирован: 2007-10-16 22:40:42
Статья: шлюз на OpenBSD
На ваш суд представлен материал, по настройке шлюза на базе OpenBSD от PPPoE-соединения до NTP-сервера и DynDNS.org клиента.
Часть 1 - Простейший маршрутизатор
Часть 2 - Более функциональная настройка pf(4)
Часть 3 - Тонкая настройка: DNS, DHCP, Dynamic DNS
Часть 4 - Установка мелких сервисов
Хотелось бы услышать ваше мнение.
=====
Небольшая просьба: не пишите, что проверяя во FreeBSD получили другой результат - это только отвлекает. Подобные коментарии будут просто проигнорированы.
Часть 1 - Простейший маршрутизатор
Часть 2 - Более функциональная настройка pf(4)
Часть 3 - Тонкая настройка: DNS, DHCP, Dynamic DNS
Часть 4 - Установка мелких сервисов
Хотелось бы услышать ваше мнение.
=====
Небольшая просьба: не пишите, что проверяя во FreeBSD получили другой результат - это только отвлекает. Подобные коментарии будут просто проигнорированы.
Последний раз редактировалось BlackCat 2010-03-14 4:58:08, всего редактировалось 1 раз.
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
- ADRE
- майор
- Сообщения: 2645
- Зарегистрирован: 2007-07-26 8:53:49
- Контактная информация:
- Alex Keda
- стреляли...
- Сообщения: 35465
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Статья: шлюз на OpenBSD
судя по тишине - публикуем в новости?
Убей их всех! Бог потом рассортирует...
- BlackCat
- прапорщик
- Сообщения: 469
- Зарегистрирован: 2007-10-16 22:40:42
Re: Статья: шлюз на OpenBSD
Хотелось бы услышать некоторый объем критики. Не бывает, что бы все хорошо и сразу. Сейчас опубликую на сайте - может в комментариях ответят.lissyara писал(а):судя по тишине - публикуем в новости?
P.S. Или, просто, ОСь не профильная.
- BlackCat
- прапорщик
- Сообщения: 469
- Зарегистрирован: 2007-10-16 22:40:42
Re: Статья: шлюз на OpenBSD
По результатам публикации на сайте, замечания:
- одна грамматическая ошибка;
- одна неопределенная ошибка/опечатка;
- одно предложение по дополнению.
Итого - ОС не профильный народу не интересно.
Теперь можно и в новости.
- одна грамматическая ошибка;
- одна неопределенная ошибка/опечатка;
- одно предложение по дополнению.
Итого - ОС не профильный народу не интересно.
Теперь можно и в новости.
- Alex Keda
- стреляли...
- Сообщения: 35465
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- gonzo111
- лейтенант
- Сообщения: 648
- Зарегистрирован: 2007-11-15 16:32:33
- Откуда: China
- Контактная информация:
Re: Статья: шлюз на OpenBSD
неплохо
настройка сервисов катит на любую версию фряхи
ИМХО во всех статейках, возможно, полезно было бы, в начале статьи писать оглавление с переходами, чтобы легче было ориенироватся что и где в этой части труда описано.
пример http://www.lissyara.su/articles/freebsd ... quid_sams/
может вообще все части обьеденить в одну книгу с оглавлением?
настройка сервисов катит на любую версию фряхи
ИМХО во всех статейках, возможно, полезно было бы, в начале статьи писать оглавление с переходами, чтобы легче было ориенироватся что и где в этой части труда описано.
пример http://www.lissyara.su/articles/freebsd ... quid_sams/
может вообще все части обьеденить в одну книгу с оглавлением?
Тяжело в учении легко в РАЮ!
беру зарплату гречкой и сахаром...
Наша комната - lissyara.su@conference.jabber.ru
беру зарплату гречкой и сахаром...
Наша комната - lissyara.su@conference.jabber.ru
- BlackCat
- прапорщик
- Сообщения: 469
- Зарегистрирован: 2007-10-16 22:40:42
Re: Статья: шлюз на OpenBSD
А как вы якоря по странице расставили, что бы на них ссылаться?gonzo111 писал(а):ИМХО во всех статейках, возможно, полезно было бы, в начале статьи писать оглавление с переходами, чтобы легче было ориенироватся что и где в этой части труда описано.
пример http://www.lissyara.su/articles/freebsd ... quid_sams/
- Alex Keda
- стреляли...
- Сообщения: 35465
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- BlackCat
- прапорщик
- Сообщения: 469
- Зарегистрирован: 2007-10-16 22:40:42
Re: Статья: шлюз на OpenBSD
Хм (с) Золотой теленокlissyara писал(а):в справочке всё описано вроде )
В течении пары дней добавлю оглавление ко всем частям.
- mastertron
- мл. сержант
- Сообщения: 107
- Зарегистрирован: 2009-02-06 20:48:53
- Откуда: Украина, Одесса
Re: Статья: шлюз на OpenBSD
Мне помагают подобные статьи. Спасибо!
Делай как нибудь, а как надо - само получится!
- torki
- сержант
- Сообщения: 165
- Зарегистрирован: 2006-08-19 13:54:29
- Откуда: г. Одесса
Re: Статья: шлюз на OpenBSD
Всем привет!!!
Если шлюз средней как говорится ноги, то надо-бы рассмотреть и почту(с MYSQL) и трафик с подсчетом как у волшебника Lissyar-ы, и иии... А вообще мысль правильная автор начинает с простого и обычного. Респект ему и уважуха!!!
Если шлюз средней как говорится ноги, то надо-бы рассмотреть и почту(с MYSQL) и трафик с подсчетом как у волшебника Lissyar-ы, и иии... А вообще мысль правильная автор начинает с простого и обычного. Респект ему и уважуха!!!
Полюбил Unix, Пиво и Кино.
-
- проходил мимо
Re: Статья: шлюз на OpenBSD
1. зачем в конце правил PF писать keep state?
2. set skip on lo, не lo0? хотя если это OpenBSD, то я хз....
3. ftp-proxy(8) во фре автоматом стартует по умолчанию rcorder /etc/rc.d/* | grep ftp-proxy
4. неплохо было бы написать как посмотреть правила, которые заносятся в якоря (и фильтра и ната) при старте ftp-proxy
щас еще почитаю
2. set skip on lo, не lo0? хотя если это OpenBSD, то я хз....
3. ftp-proxy(8) во фре автоматом стартует по умолчанию rcorder /etc/rc.d/* | grep ftp-proxy
4. неплохо было бы написать как посмотреть правила, которые заносятся в якоря (и фильтра и ната) при старте ftp-proxy
щас еще почитаю
-
- проходил мимо
Re: Статья: шлюз на OpenBSD
1. вот здесь: Часть 1 - Простейший маршрутизатор
надо убрать про DNS ибо там оно нафиг не надо, потому как если уж это простейший маршрутизатор и все рассчитано для начинающего, то пользоваться он будет провайдеровскими ДНСами, а грузить голову всякой херней не правильно.
2. Запускать bind просто командойочень не желательно, если уж упоминать то запускать надо
3. потом смотрюкароче нифига. на конкретном интерфейсе не запускается, слушает все.
4. здесь: Часть 3 - Тонкая настройка: DNS, DHCP, Dynamic DNS
не расскрыта тема "а что за такая команда rndc?", т.е. команда rndc reload есть, а че это? а почему у меня не работает? а как сделать чтобы работало?
5. теперь про динамическое обновление зон. крайне не правильно класть динамические зоны в папку master. Цитирую сам себя же
==================
резюмирую (если то кому-то интересно)
Часть 3 - Тонкая настройка: DNS, DHCP, Dynamic DNS - каша-малаша, неструктурировано. Я перестал конкретно вдумываться не дойдя до середины, тюжело читая понимать.
все остальное - хз - написано как и везде.
Вообще автор молодец, но если уже браться, то делать надо качественно, читай, для баранов, потому что только они и будут читать твои рукописи, всем остальным класть.
надо убрать про DNS ибо там оно нафиг не надо, потому как если уж это простейший маршрутизатор и все рассчитано для начинающего, то пользоваться он будет провайдеровскими ДНСами, а грузить голову всякой херней не правильно.
2. Запускать bind просто командой
Код: Выделить всё
named
Код: Выделить всё
named -u bind
попробовал на фреЗапуск dhcpd(8) на интерфейсе rl1Код: Выделить всё
dhcpd rl1
Код: Выделить всё
dhcpd vr0
Internet Systems Consortium DHCP Server V3.1.3
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Wrote 8 leases to leases file.
Listening on BPF/vr0/00:21:91:92:75:ab/192.168.1/24
Sending on BPF/vr0/00:21:91:92:75:ab/192.168.1/24
Sending on Socket/fallback/fallback-net
Код: Выделить всё
sockstat -l
root dhcpd 1388 5 udp4 *:67 *:*
4. здесь: Часть 3 - Тонкая настройка: DNS, DHCP, Dynamic DNS
не расскрыта тема "а что за такая команда rndc?", т.е. команда rndc reload есть, а че это? а почему у меня не работает? а как сделать чтобы работало?
5. теперь про динамическое обновление зон. крайне не правильно класть динамические зоны в папку master. Цитирую сам себя же
и не надо изобретать велосипед.В /etc/defaults/rc.conf есть параметр named_chroot_autoupdate="YES", т.е. если ничего не менять, то при запуске вместе с системой будет произведена автоматическая установка/обновление chroot компонентов для процесса named. По умолчанию старт named производится скриптом /etc/rc.d/named, в частности интересует функция chroot_autoupdate(), так вот если файл /etc/mtree/BIND.chroot.dist (в их определениях это спецификация) существует и доступен на чтение, то выполнится команда:
mtree -deU -f /etc/mtree/BIND.chroot.dist -p /var/named, которая начиная с каталога /var/named изменит владельца, группу, права и время модификации папок/файлов согласно спецификации /etc/mtree/BIND.chroot.dist, а также создаст отсутствующие папки или символические ссылки. Надо отметить, что если в /etc/rc.conf внести параметр: named_chroot_autoupdate="NO" - то функция chroot_autoupdate() выполняться не будет.
Вся идея сосотоит в том, что сущесвуют предопределенные папки (master, slave, dynamic) для хранения файлов данных зон в зависимости от роли(лей) DNS сервера BIND.
==================
резюмирую (если то кому-то интересно)
Часть 3 - Тонкая настройка: DNS, DHCP, Dynamic DNS - каша-малаша, неструктурировано. Я перестал конкретно вдумываться не дойдя до середины, тюжело читая понимать.
все остальное - хз - написано как и везде.
Вообще автор молодец, но если уже браться, то делать надо качественно, читай, для баранов, потому что только они и будут читать твои рукописи, всем остальным класть.
- Alex Keda
- стреляли...
- Сообщения: 35465
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Статья: шлюз на OpenBSD
сайт у вас ужасный.
в плане дизайна... слишком мрачно - я бы ничё не доверил из своего оборудования
в плане дизайна... слишком мрачно - я бы ничё не доверил из своего оборудования
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
Re: Статья: шлюз на OpenBSD
насчет ftp-proxy и правил, которые подгружаются в якоря.
Че-то вроде пантанулся... "надо показать", а сам щас решил попробовать и нифига не могу глянуть на правила....
подход:илиили если вместо rules ставить nat
не пашут....
вот уроды
они еще делают именованный поднабор правил, типо, "ftp-proxy/tatata", а как узнать какое там имя поднабора? (не надо слать в исходники, я там ничего не понимаю)
или я опять загоняюсь......
да, и погорячился насчет автостарта, вроде он стартует, но нифига не слушает интерфейс... надо проводить доп. манипуляции
Че-то вроде пантанулся... "надо показать", а сам щас решил попробовать и нифига не могу глянуть на правила....
подход:
Код: Выделить всё
pfctl -a ftp-proxy/* -s rules
Код: Выделить всё
pfctl -a ftp-proxy -s rules
не пашут....
вот уроды
они еще делают именованный поднабор правил, типо, "ftp-proxy/tatata", а как узнать какое там имя поднабора? (не надо слать в исходники, я там ничего не понимаю)
или я опять загоняюсь......
да, и погорячился насчет автостарта, вроде он стартует, но нифига не слушает интерфейс... надо проводить доп. манипуляции
это кому?lissyara писал(а):сайт у вас ужасный.
в плане дизайна... слишком мрачно - я бы ничё не доверил из своего оборудования
- Alex Keda
- стреляли...
- Сообщения: 35465
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- BlackCat
- прапорщик
- Сообщения: 469
- Зарегистрирован: 2007-10-16 22:40:42
Re: Статья: шлюз на OpenBSD
Добавил оглавление и ссылки на литературу, спасибо gonzo111 за замечание.
В описании полезных настроек pf добавил ограничение максимального размера сегмента (MSS).
=====
=====
В описании полезных настроек pf добавил ограничение максимального размера сегмента (MSS).
=====
Если буду добавлять, то обязательно отпишусь, пока нет необходимости.torki писал(а):Если шлюз средней как говорится ноги, то надо-бы рассмотреть и почту(с MYSQL) и трафик с подсчетом как у волшебника Lissyar-ы
=====
Обратная совместимость и меньше неявных моментов._Попов писал(а):1. зачем в конце правил PF писать keep state?
lo - это не один интерфейс, это группа интерфейсов._Попов писал(а):2. set skip on lo, не lo0? хотя если это OpenBSD, то я хз....
Добавил в раздел "Полезные комманды"._Попов писал(а):4. неплохо было бы написать как посмотреть правила, которые заносятся в якоря (и фильтра и ната) при старте ftp-proxy
- BlackCat
- прапорщик
- Сообщения: 469
- Зарегистрирован: 2007-10-16 22:40:42
Re: Статья: шлюз на OpenBSD
Использование DNS-серверов провайдера допустимо для одного узла, но для целой сети предпочтительнее использовать свой сервер для обслуживания клиентских узлов. Это позволяет локализовать потенциальный источник проблем в контролируемой зоне._Сатана писал(а):надо убрать про DNS ибо там оно нафиг не надо, потому как если уж это простейший маршрутизатор и все рассчитано для начинающего, то пользоваться он будет провайдеровскими ДНСами, а грузить голову всякой херней не правильно.
=====
Адрес и интерфейс - это разные понятия, и для привязки к каждому из них используются свои системные вызовы. В частности, в OpenBSD для привязки к заданому интерфейсу в dhcpd используется bpf(4)._Сатана писал(а):кароче нифига. на конкретном интерфейсе не запускается, слушает все.Код: Выделить всё
sockstat -l root dhcpd 1388 5 udp4 *:67 *:*
После запуска на rl1 под OpenBSD:
Код: Выделить всё
# netstat -an | grep "67"
udp 0 0 *.67 *.*
-
- проходил мимо
Re: Статья: шлюз на OpenBSD
А почему, если не указан ни один DNS-сервер в resolv.conf, обращение идет к DNS серверу по адресу 127.0.0.1? И как узнается конкретный адрес 127.0.0.1?Если вы используете (планируете использовать) сервер имен, запущенный на шлюзе (на том же самом узле) и никаких хитрых настроек производить не собираетесь, то файл /etc/resolv.conf можно оставить пустым - по умолчанию, если не указан ни один DNS-сервер, обращение идет к серверу по адресу 127.0.0.1.
Правильнее было бы упомянуть о nsswitch.conf(5) и строчке:
Код: Выделить всё
hosts: files dns
потому что в (4) ты уже "Теперь можно проверить доступность и работоспособность DNS-сервера на одном из узлов внутренней сети", хотя узел сам настривается в (5). Не логично правда?4. Поддержка DNS
5. Настройка узлов внутренней сети
и еще раз повторюсь расскрывать тему DNS сервера не надо в простейшем маршрутизаторе, ты переинформируешь людей, достаточно только resolv.conf и DNS прова.
ну, напиши это в тексте, а то черти так и будут некоторое (все?) время вставлять keep state пока не допрут, что это нахер не надо.BlackCat писал(а):Обратная совместимость и меньше неявных моментов._Попов писал(а):1. зачем в конце правил PF писать keep state?
видимо из-за недоходивости я нифига не понял...BlackCat писал(а):Адрес и интерфейс - это разные понятия, и для привязки к каждому из них используются свои системные вызовы. В частности, в OpenBSD для привязки к заданому интерфейсу в dhcpd используется bpf(4)._Сатана писал(а):кароче нифига. на конкретном интерфейсе не запускается, слушает все.Код: Выделить всё
sockstat -l root dhcpd 1388 5 udp4 *:67 *:*
После запуска на rl1 под OpenBSD:, и тем не менее работает только с интерфейсом rl1.Код: Выделить всё
# netstat -an | grep "67" udp 0 0 *.67 *.*
я хочу чтобы dhcpd слушал только один интерфейс, че надо сделать?
- AndreyK
- проходил мимо
- Сообщения: 5
- Зарегистрирован: 2010-03-02 16:17:21
Re: Статья: шлюз на OpenBSD
По пунтку "Связка ppp(8) и pppoe(8)" все понятно и прекрасно заработало. За что автору спасибо, т.к. приперло неожиданно настроить pppoe имеено на шлюзе с OpenBSD 4.6. Раньше все настройки были на модеме, а шлюз по LAN'у все получал. Еще раз спасибо. А вот по пункту "1.2. Использование интерфейса pppoe(4)" вроде бы все сделал как надо, но ничего не заработало. Непонятно указание IP-адресов 0.0.0.0 и 0.0.0.1 почему именно такие?
- BlackCat
- прапорщик
- Сообщения: 469
- Зарегистрирован: 2007-10-16 22:40:42
Re: Статья: шлюз на OpenBSD
Спасибо за приятный отзывAndreyK писал(а):По пунтку "Связка ppp(8) и pppoe(8)" все понятно и прекрасно заработало. За что автору спасибо, т.к. приперло неожиданно настроить pppoe имеено на шлюзе с OpenBSD 4.6. Раньше все настройки были на модеме, а шлюз по LAN'у все получал.
Ничего не заработало - это не диагноз. Если актуально, создавайте тему в подфоруме OpenBSD - попробуем решить.AndreyK писал(а):А вот по пункту "1.2. Использование интерфейса pppoe(4)" вроде бы все сделал как надо, но ничего не заработало.
Это не совсем адреса, это такие хитрые значения вместо которых будут подставлены IP-адрес, выданый провайдером, и вторая сторона туннеля (шлюз провайдера) соответственно. Всё написано в man 4 pppoe, в нём эти "адреса" называются wildcard.AndreyK писал(а):Непонятно указание IP-адресов 0.0.0.0 и 0.0.0.1 почему именно такие?
-
- проходил мимо
Re: Статья: шлюз на OpenBSD
Спасибо за статью!
Но в 4.7 изменен формат в PF -пришлось ман ковырять может нужно статью поправить?
Но в 4.7 изменен формат в PF -пришлось ман ковырять может нужно статью поправить?
- BlackCat
- прапорщик
- Сообщения: 469
- Зарегистрирован: 2007-10-16 22:40:42
Re: Статья: шлюз на OpenBSD
Нужно, не спорю. Обновлюсь (теперь уже, наверное, до 4.8) и за одно исправлю статью.kabaliero писал(а):может нужно статью поправить?
-
- проходил мимо
Re: Статья: шлюз на OpenBSD
Приветствую всех. По конфигу из статьи настроил pppoe (ppp.conf)
pppoe подключается:
xl0 - внутренняя сеть, машина НЕ должна быть шлюзом, NAT не нужен.
Адреса локальной сети при подключеном рррое пингуются, мир не пингуется не трассеруется. Что дальше?
pppoe подключается:
host# ppp -ddial Internet
Loading /lib/libalias_cuseeme.so
Loading /lib/libalias_ftp.so
Loading /lib/libalias_irc.so
Loading /lib/libalias_nbt.so
Loading /lib/libalias_pptp.so
Loading /lib/libalias_skinny.so
Loading /lib/libalias_smedia.so
Working in ddial mode
Using interface: tun0
host#
sk0 - интерфейс смотрящий на провайдера, через него идет рррроеhost# ifconfig
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=80009<RXCSUM,VLAN_MTU,LINKSTATE>
ether 00:50:04:d9:86:52
inet 192.168.100.112 netmask 0xffffff00 broadcast 192.168.100.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
sk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8000b<RXCSUM,TXCSUM,VLAN_MTU,LINKSTATE>
ether 00:17:31:83:26:b9
inet 10.0.17.11 netmask 0xffff8000 broadcast 10.0.127.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
options=80000<LINKSTATE>
inet 192.168.41.99 --> 195.177.238.29 netmask 0xffffffff
Opened by PID 22737
host#
xl0 - внутренняя сеть, машина НЕ должна быть шлюзом, NAT не нужен.
Адреса локальной сети при подключеном рррое пингуются, мир не пингуется не трассеруется. Что дальше?