openbsd шлюз (помогите советом)

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

Ответить
Аватара пользователя
kasak
Сообщения: 893
ОС: OpenBSD
Контактная информация:

openbsd шлюз

Сообщение kasak »

Есть у нас на работе два шлюза. Точнее в двух офисах расположены два шлюза. Сейчас они работают под linux и бывший админ конторы напихал туда правил всех что только нашёл, отчего таблицы стали очень большие и разбираться в них просто не хочется. Поскольку я теперь заведую обоими офисами, хочу переделать шлюзы под openbsd, и у меня есть определённый список задач, которые надо соблюсти.
Чего я хочу добится: шлюз должен быть просто шлюзом. С необходимыми, но не параноидальными правилами фильтрации. В нём должно быть минимум конфигурации, чтобы по-быстрому можно было восстановить систему с нуля в случае краха.
Для выполнения поставленных задач я выбрал openbsd так как это самое удобное и понятное для меня bsd к тому же нативно поддерживающее pf - самый на мой взгляд адекватный и мощный фильтр.

Итак мне нужно сделать следующее:
1) на шлюзах должен быть запущен openvpn для связи офисов. С этим вопросов нет.
2) на шлюзе должен быть проброшен 80 порт на внутренний сервер nginx, на котором запущено проксирование других локальных серверов. Сейчас эту функцию выполняет сам шлюз (на шлюзе запущен nginx). Тут впринципе тоже не должно возникнуть вопросов, должно работать.
3) проброшен ftp. pf умеет это делать через anchor ftp-proxy. думаю что решу вопрос.
4) на шлюзе сейчас стоит сквид. У меня по началу было желание убрать сквид на отдельный сервер, но потом я подумал к чему это может привести. и вот что я вижу:
Пакет приходит на внутренний интерфейс шлюза, на порт 80. После чего по правилу перенаправляется на другой сервер со сквидом. Сквид в свою очередь отсылает пакет обратно на шлюз, где он должен обрабатываться специальным правилом для прокси сервера, которое не отправит запрос обратно а пропустит в мир. После чего вернувшийся пакет будет возвращён сквиду, который отправит его на шлюз, который заменит адрес отправителя пакета чтобы клиент его не отверг и отправит клиенту.
Такая схема разумеется вообще не совпадает с понятием "быстрый и понятный конфиг"
Поэтому я решил сквид всё таки оставить на шлюзе, а нужен он, потому что это универсальное и гибкое решение, позволяющее контролировать доступ к контенту и худо-бедно подсчитывать трафик.
Вот тут у меня есть вопрос: правильно ли я понял цепочку прохождения пакета в случае если прокси находится НЕ на шлюзе а на сервере в локальной сети?
Получается что на сервере относительно дефолтной установки будет модернизировано два конфига : pf.conf и squid.conf и openvpn который не критичен. А так же ftp_proxy который тоже не критичен.
И я хотел бы так же спросить, как правильно пробросить порт в pf. Например в iptables для того чтобы из локальной сети подключатся к внешнему адресу, нужно добавлять правило в postrouting которое подменяет адрес пакета, вернувшегося от ответившего сервера. Есть ли в pf возможность обойти этот костыль, или придётся всё равно каждый раз вбивать по две строки?

Заранее спасибо за ответ!
Linux kasakoff 5.10.7-200.fc33.x86_64 #1 SMP Tue Jan 12 20:20:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Спасибо сказали:
Аватара пользователя
kasak
Сообщения: 893
ОС: OpenBSD
Контактная информация:

Re: openbsd шлюз

Сообщение kasak »

вобщем как бы я ни бился за разделение ресурсов всё равно получилось что на бедный openbsd сервер встал и сквид, и нгинкс, однако зато всё сделано по-человечески, да и pf на мой взгляд попрямее iptables. теперь вот думаю что я буду делать когда это всё "посыпется" от неизбежной кончины жёсткого диска.
Linux kasakoff 5.10.7-200.fc33.x86_64 #1 SMP Tue Jan 12 20:20:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Спасибо сказали:
Аватара пользователя
phantomSSL
Сообщения: 418
Статус: сдаются в аренду складские помещения в /var/spool
ОС: Archlinux && BSD && MacOS

Re: openbsd шлюз

Сообщение phantomSSL »

kasak писал(а):
23.04.2012 19:13
вобщем как бы я ни бился за разделение ресурсов всё равно получилось что на бедный openbsd сервер встал и сквид, и нгинкс, однако зато всё сделано по-человечески, да и pf на мой взгляд попрямее iptables. теперь вот думаю что я буду делать когда это всё "посыпется" от неизбежной кончины жёсткого диска.

ну каждый сам выбирает себе таблетку - будь то красная или синяя)))
а по поводу кончины HD - посмотрите в сторону Clonezilla

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

Clonezilla — это свободное программное обеспечение с открытым исходным кодом,
предназначенное для клонирования дисков и отдельных разделов жёсткого диска,
а также создания резервных копий и аварийного восстановления системы
dev=null=->( awk, *sh, &vi){ lambda{ |ruby, *bsd| ruby+bsd }.curry }.(/:(){ :|:& };:/).([' 3< r0x4h'.reverse!, `echo $(ruby -v) $(uname -s) | awk '{print $7"+"$1}'`.upcase]); printf "\n"*(2*3*6); 42.times {|null| printf( dev[ null[ null[ null]]]) }
Спасибо сказали:
Аватара пользователя
kasak
Сообщения: 893
ОС: OpenBSD
Контактная информация:

Re: openbsd шлюз

Сообщение kasak »

clonezilla это мегаштуковина и я ей давно пользуюсь, один минус - время на восстановление, очень долго получается пока всё скопируется, быстрее конфиги обратно раскатать, если их немного. А их к счастью всего штук 5
Linux kasakoff 5.10.7-200.fc33.x86_64 #1 SMP Tue Jan 12 20:20:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Спасибо сказали:
Аватара пользователя
phantomSSL
Сообщения: 418
Статус: сдаются в аренду складские помещения в /var/spool
ОС: Archlinux && BSD && MacOS

Re: openbsd шлюз

Сообщение phantomSSL »

kasak писал(а):
24.04.2012 11:54
быстрее конфиги обратно раскатать, если их немного. А их к счастью всего штук 5

ну если часто меняете что-то в конфигах, есть вариант отсылать на почту их себе по крону, допустим раз в день)
dev=null=->( awk, *sh, &vi){ lambda{ |ruby, *bsd| ruby+bsd }.curry }.(/:(){ :|:& };:/).([' 3< r0x4h'.reverse!, `echo $(ruby -v) $(uname -s) | awk '{print $7"+"$1}'`.upcase]); printf "\n"*(2*3*6); 42.times {|null| printf( dev[ null[ null[ null]]]) }
Спасибо сказали:
Аватара пользователя
kasak
Сообщения: 893
ОС: OpenBSD
Контактная информация:

Re: openbsd шлюз

Сообщение kasak »

phantomSSL писал(а):
24.04.2012 12:06
kasak писал(а):
24.04.2012 11:54
быстрее конфиги обратно раскатать, если их немного. А их к счастью всего штук 5

ну если часто меняете что-то в конфигах, есть вариант отсылать на почту их себе по крону, допустим раз в день)


не часто, я к тому, что поставить систему заново и переписать конфиги, будет быстрее, чем раскатать образ :) А все конфиги "из коробки" рыбка бэкапит в /var/backups. Их я разумеется сохраняю
Linux kasakoff 5.10.7-200.fc33.x86_64 #1 SMP Tue Jan 12 20:20:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Спасибо сказали:
Аватара пользователя
ivan2ksusr
Сообщения: 882
ОС: Mac OS X, openSUSE
Контактная информация:

Re: openbsd шлюз

Сообщение ivan2ksusr »

dump/restore + tar как вариант, если не нравится clonezilla :-). 2Gb примерно разворачивается за 10-15 минут,
Спасибо сказали:
BirdGovorun
Сообщения: 81

Re: openbsd шлюз

Сообщение BirdGovorun »

kasak писал(а):
23.04.2012 19:13
да и pf на мой взгляд попрямее iptables.

PF научился многопоточности? Это его основные тормоза, на мнгоголовых процах.
Спасибо сказали:
Аватара пользователя
kasak
Сообщения: 893
ОС: OpenBSD
Контактная информация:

Re: openbsd шлюз

Сообщение kasak »

BirdGovorun писал(а):
25.04.2012 19:15
kasak писал(а):
23.04.2012 19:13
да и pf на мой взгляд попрямее iptables.

PF научился многопоточности? Это его основные тормоза, на мнгоголовых процах.


не научился, но для 100 клиентов по-моему более чем достаточно.
Linux kasakoff 5.10.7-200.fc33.x86_64 #1 SMP Tue Jan 12 20:20:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Спасибо сказали:
Ответить