Статья: шлюз на OpenBSD

Вопросы настройки и работы с этой ОС.
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Статья: шлюз на OpenBSD

Непрочитанное сообщение BlackCat » 2010-03-02 0:58:05

На ваш суд представлен материал, по настройке шлюза на базе OpenBSD от PPPoE-соединения до NTP-сервера и DynDNS.org клиента.

Часть 1 - Простейший маршрутизатор
Часть 2 - Более функциональная настройка pf(4)
Часть 3 - Тонкая настройка: DNS, DHCP, Dynamic DNS
Часть 4 - Установка мелких сервисов

Хотелось бы услышать ваше мнение.
=====
Небольшая просьба: не пишите, что проверяя во FreeBSD получили другой результат - это только отвлекает. Подобные коментарии будут просто проигнорированы.
Последний раз редактировалось BlackCat 2010-03-14 4:58:08, всего редактировалось 1 раз.

Хостинговая компания 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/


Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение Alex Keda » 2010-03-04 9:55:31

судя по тишине - публикуем в новости?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение BlackCat » 2010-03-04 15:26:01

lissyara писал(а):судя по тишине - публикуем в новости?
Хотелось бы услышать некоторый объем критики. Не бывает, что бы все хорошо и сразу. Сейчас опубликую на сайте - может в комментариях ответят.

P.S. Или, просто, ОСь не профильная.

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение BlackCat » 2010-03-09 10:22:32

По результатам публикации на сайте, замечания:
- одна грамматическая ошибка;
- одна неопределенная ошибка/опечатка;
- одно предложение по дополнению.
Итого - ОС не профильный народу не интересно.

Теперь можно и в новости.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение Alex Keda » 2010-03-09 10:27:55

ушло
Убей их всех! Бог потом рассортирует...

Аватара пользователя
gonzo111
лейтенант
Сообщения: 648
Зарегистрирован: 2007-11-15 16:32:33
Откуда: China
Контактная информация:

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение gonzo111 » 2010-03-09 10:52:12

неплохо
настройка сервисов катит на любую версию фряхи

ИМХО во всех статейках, возможно, полезно было бы, в начале статьи писать оглавление с переходами, чтобы легче было ориенироватся что и где в этой части труда описано.
пример http://www.lissyara.su/articles/freebsd ... quid_sams/

может вообще все части обьеденить в одну книгу с оглавлением? :smile:
Тяжело в учении легко в РАЮ!
беру зарплату гречкой и сахаром...
Наша комната - lissyara.su@conference.jabber.ru

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение BlackCat » 2010-03-09 11:02:02

gonzo111 писал(а):ИМХО во всех статейках, возможно, полезно было бы, в начале статьи писать оглавление с переходами, чтобы легче было ориенироватся что и где в этой части труда описано.
пример http://www.lissyara.su/articles/freebsd ... quid_sams/
А как вы якоря по странице расставили, что бы на них ссылаться?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение Alex Keda » 2010-03-09 11:06:34

в справочке всё описано вроде =))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение BlackCat » 2010-03-09 11:19:02

lissyara писал(а):в справочке всё описано вроде =))
Хм (с) Золотой теленок
В течении пары дней добавлю оглавление ко всем частям.

Аватара пользователя
mastertron
мл. сержант
Сообщения: 107
Зарегистрирован: 2009-02-06 20:48:53
Откуда: Украина, Одесса

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение mastertron » 2010-03-09 13:07:05

Мне помагают подобные статьи. Спасибо!
Делай как нибудь, а как надо - само получится!

Аватара пользователя
torki
сержант
Сообщения: 165
Зарегистрирован: 2006-08-19 13:54:29
Откуда: г. Одесса

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение torki » 2010-03-09 23:47:28

Всем привет!!!
Если шлюз средней как говорится ноги, то надо-бы рассмотреть и почту(с MYSQL) и трафик с подсчетом как у волшебника Lissyar-ы, и иии... А вообще мысль правильная автор начинает с простого и обычного. Респект ему и уважуха!!! :smile:
Полюбил Unix, Пиво и Кино.

_Попов
проходил мимо

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение _Попов » 2010-03-12 15:47:55

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

щас еще почитаю

_Сатана
проходил мимо

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение _Сатана » 2010-03-12 18:01:15

1. вот здесь: Часть 1 - Простейший маршрутизатор
надо убрать про DNS ибо там оно нафиг не надо, потому как если уж это простейший маршрутизатор и все рассчитано для начинающего, то пользоваться он будет провайдеровскими ДНСами, а грузить голову всякой херней не правильно.

2. Запускать bind просто командойочень не желательно, если уж упоминать то запускать надо

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

named -u bind
3.
Запуск 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
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение Alex Keda » 2010-03-12 22:39:28

сайт у вас ужасный.
в плане дизайна... слишком мрачно - я бы ничё не доверил из своего оборудования =)
Убей их всех! Бог потом рассортирует...

_Менделеев
проходил мимо

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение _Менделеев » 2010-03-12 22:57:52

насчет ftp-proxy и правил, которые подгружаются в якоря.
Че-то вроде пантанулся... "надо показать", а сам щас решил попробовать и нифига не могу глянуть на правила....
подход:

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

pfctl -a ftp-proxy/* -s rules
или

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

pfctl -a ftp-proxy -s rules
или если вместо rules ставить nat
не пашут....
вот уроды
они еще делают именованный поднабор правил, типо, "ftp-proxy/tatata", а как узнать какое там имя поднабора? (не надо слать в исходники, я там ничего не понимаю)
или я опять загоняюсь......

да, и погорячился насчет автостарта, вроде он стартует, но нифига не слушает интерфейс... надо проводить доп. манипуляции
lissyara писал(а):сайт у вас ужасный.
в плане дизайна... слишком мрачно - я бы ничё не доверил из своего оборудования =)
это кому?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение Alex Keda » 2010-03-13 10:04:58

ракете СС20 в простонародье
Убей их всех! Бог потом рассортирует...

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение BlackCat » 2010-03-14 5:50:14

Добавил оглавление и ссылки на литературу, спасибо gonzo111 за замечание.
В описании полезных настроек pf добавил ограничение максимального размера сегмента (MSS).
=====
torki писал(а):Если шлюз средней как говорится ноги, то надо-бы рассмотреть и почту(с MYSQL) и трафик с подсчетом как у волшебника Lissyar-ы
Если буду добавлять, то обязательно отпишусь, пока нет необходимости.
=====
_Попов писал(а):1. зачем в конце правил PF писать keep state?
Обратная совместимость и меньше неявных моментов.
_Попов писал(а):2. set skip on lo, не lo0? хотя если это OpenBSD, то я хз....
lo - это не один интерфейс, это группа интерфейсов.
_Попов писал(а):4. неплохо было бы написать как посмотреть правила, которые заносятся в якоря (и фильтра и ната) при старте ftp-proxy
Добавил в раздел "Полезные комманды".

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение BlackCat » 2010-03-14 6:15:16

_Сатана писал(а):надо убрать про DNS ибо там оно нафиг не надо, потому как если уж это простейший маршрутизатор и все рассчитано для начинающего, то пользоваться он будет провайдеровскими ДНСами, а грузить голову всякой херней не правильно.
Использование DNS-серверов провайдера допустимо для одного узла, но для целой сети предпочтительнее использовать свой сервер для обслуживания клиентских узлов. Это позволяет локализовать потенциальный источник проблем в контролируемой зоне.
=====
_Сатана писал(а):

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

sockstat -l
root     dhcpd      1388  5  udp4   *:67                  *:*
кароче нифига. на конкретном интерфейсе не запускается, слушает все.
Адрес и интерфейс - это разные понятия, и для привязки к каждому из них используются свои системные вызовы. В частности, в OpenBSD для привязки к заданому интерфейсу в dhcpd используется bpf(4).
После запуска на rl1 под OpenBSD:

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

# netstat -an | grep "67"
udp        0      0  *.67                   *.*
, и тем не менее работает только с интерфейсом rl1.

_Попов
проходил мимо

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение _Попов » 2010-03-14 11:27:43

Если вы используете (планируете использовать) сервер имен, запущенный на шлюзе (на том же самом узле) и никаких хитрых настроек производить не собираетесь, то файл /etc/resolv.conf можно оставить пустым - по умолчанию, если не указан ни один DNS-сервер, обращение идет к серверу по адресу 127.0.0.1.
А почему, если не указан ни один DNS-сервер в resolv.conf, обращение идет к DNS серверу по адресу 127.0.0.1? И как узнается конкретный адрес 127.0.0.1?
Правильнее было бы упомянуть о nsswitch.conf(5) и строчке:

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

hosts: files dns
Также надо поменять местами главы:
4. Поддержка DNS
5. Настройка узлов внутренней сети
потому что в (4) ты уже "Теперь можно проверить доступность и работоспособность DNS-сервера на одном из узлов внутренней сети", хотя узел сам настривается в (5). Не логично правда?

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

BlackCat писал(а):
_Попов писал(а):1. зачем в конце правил PF писать keep state?
Обратная совместимость и меньше неявных моментов.
ну, напиши это в тексте, а то черти так и будут некоторое (все?) время вставлять keep state пока не допрут, что это нахер не надо.

BlackCat писал(а):
_Сатана писал(а):

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

sockstat -l
root     dhcpd      1388  5  udp4   *:67                  *:*
кароче нифига. на конкретном интерфейсе не запускается, слушает все.
Адрес и интерфейс - это разные понятия, и для привязки к каждому из них используются свои системные вызовы. В частности, в OpenBSD для привязки к заданому интерфейсу в dhcpd используется bpf(4).
После запуска на rl1 под OpenBSD:

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

# netstat -an | grep "67"
udp        0      0  *.67                   *.*
, и тем не менее работает только с интерфейсом rl1.
видимо из-за недоходивости я нифига не понял...

я хочу чтобы dhcpd слушал только один интерфейс, че надо сделать?

Аватара пользователя
AndreyK
проходил мимо
Сообщения: 5
Зарегистрирован: 2010-03-02 16:17:21

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение AndreyK » 2010-03-24 16:39:14

По пунтку "Связка 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

Непрочитанное сообщение BlackCat » 2010-04-23 1:50:21

AndreyK писал(а):По пунтку "Связка ppp(8) и pppoe(8)" все понятно и прекрасно заработало. За что автору спасибо, т.к. приперло неожиданно настроить pppoe имеено на шлюзе с OpenBSD 4.6. Раньше все настройки были на модеме, а шлюз по LAN'у все получал.
Спасибо за приятный отзыв :Yahoo!:
AndreyK писал(а):А вот по пункту "1.2. Использование интерфейса pppoe(4)" вроде бы все сделал как надо, но ничего не заработало.
Ничего не заработало - это не диагноз. Если актуально, создавайте тему в подфоруме OpenBSD - попробуем решить.
AndreyK писал(а):Непонятно указание IP-адресов 0.0.0.0 и 0.0.0.1 почему именно такие?
Это не совсем адреса, это такие хитрые значения вместо которых будут подставлены IP-адрес, выданый провайдером, и вторая сторона туннеля (шлюз провайдера) соответственно. Всё написано в man 4 pppoe, в нём эти "адреса" называются wildcard.

kabaliero
проходил мимо

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение kabaliero » 2010-09-26 20:21:45

Спасибо за статью!
Но в 4.7 изменен формат в PF -пришлось ман ковырять :) может нужно статью поправить?

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение BlackCat » 2010-09-28 8:58:38

kabaliero писал(а):может нужно статью поправить?
Нужно, не спорю. Обновлюсь (теперь уже, наверное, до 4.8) и за одно исправлю статью.

Skripach
проходил мимо

Re: Статья: шлюз на OpenBSD

Непрочитанное сообщение Skripach » 2011-01-11 11:56:02

Приветствую всех. По конфигу из статьи настроил pppoe (ppp.conf)
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#
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#
sk0 - интерфейс смотрящий на провайдера, через него идет ррррое
xl0 - внутренняя сеть, машина НЕ должна быть шлюзом, NAT не нужен.
Адреса локальной сети при подключеном рррое пингуются, мир не пингуется не трассеруется. Что дальше?