Есть у нас на работе два шлюза. Точнее в двух офисах расположены два шлюза. Сейчас они работают под 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 возможность обойти этот костыль, или придётся всё равно каждый раз вбивать по две строки?
Заранее спасибо за ответ!
openbsd шлюз (помогите советом)
Модератор: arachnid
-
- Сообщения: 894
- ОС: OpenBSD
openbsd шлюз
Linux kasakoff 6.10.11-200.fc40.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Sep 18 21:09:58 UTC 2024 x86_64 GNU/Linux
-
- Сообщения: 894
- ОС: OpenBSD
Re: openbsd шлюз
вобщем как бы я ни бился за разделение ресурсов всё равно получилось что на бедный openbsd сервер встал и сквид, и нгинкс, однако зато всё сделано по-человечески, да и pf на мой взгляд попрямее iptables. теперь вот думаю что я буду делать когда это всё "посыпется" от неизбежной кончины жёсткого диска.
Linux kasakoff 6.10.11-200.fc40.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Sep 18 21:09:58 UTC 2024 x86_64 GNU/Linux
-
- Сообщения: 418
- Статус: сдаются в аренду складские помещения в /var/spool
- ОС: Archlinux && BSD && MacOS
Re: openbsd шлюз
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]]]) }
-
- Сообщения: 894
- ОС: OpenBSD
Re: openbsd шлюз
clonezilla это мегаштуковина и я ей давно пользуюсь, один минус - время на восстановление, очень долго получается пока всё скопируется, быстрее конфиги обратно раскатать, если их немного. А их к счастью всего штук 5
Linux kasakoff 6.10.11-200.fc40.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Sep 18 21:09:58 UTC 2024 x86_64 GNU/Linux
-
- Сообщения: 418
- Статус: сдаются в аренду складские помещения в /var/spool
- ОС: Archlinux && BSD && MacOS
Re: openbsd шлюз
ну если часто меняете что-то в конфигах, есть вариант отсылать на почту их себе по крону, допустим раз в день)
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]]]) }
-
- Сообщения: 894
- ОС: OpenBSD
Re: openbsd шлюз
phantomSSL писал(а): ↑24.04.2012 12:06
ну если часто меняете что-то в конфигах, есть вариант отсылать на почту их себе по крону, допустим раз в день)
не часто, я к тому, что поставить систему заново и переписать конфиги, будет быстрее, чем раскатать образ А все конфиги "из коробки" рыбка бэкапит в /var/backups. Их я разумеется сохраняю
Linux kasakoff 6.10.11-200.fc40.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Sep 18 21:09:58 UTC 2024 x86_64 GNU/Linux
-
- Сообщения: 882
- ОС: Mac OS X, openSUSE
Re: openbsd шлюз
dump/restore + tar как вариант, если не нравится clonezilla :-). 2Gb примерно разворачивается за 10-15 минут,
-
- Сообщения: 81
-
- Сообщения: 894
- ОС: OpenBSD
Re: openbsd шлюз
BirdGovorun писал(а): ↑25.04.2012 19:15
PF научился многопоточности? Это его основные тормоза, на мнгоголовых процах.
не научился, но для 100 клиентов по-моему более чем достаточно.
Linux kasakoff 6.10.11-200.fc40.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Sep 18 21:09:58 UTC 2024 x86_64 GNU/Linux