По многочисленным просьбам зрителей, добавил в скрипты dcadduser
, dcdeluser
и dcpasswd
переменную DOMAIN
, если ее заполнить, т.е. указать там домен:DOMAIN="example.org"
То к имени пользователя будет автоматически добавляться @
и домен (paulzovatel@example.org
, например).
Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2020/12/10/skri
Page Summary
October 2025
|
Скрипты для создания виртуальных пользователей Dovecot. Небольшое улучшение.
Создание виртуальных пользователей Dovecot и скрипты для этого.
Продолжаю свои эксперименты с локальным почтовым сервером, соответственно, понадобилось создать на ём виртуальных пользователей. Пока не стал мудрить со всякими MySQL и прочими сложностями, ограничился простым passwd-file - т.е. текстовым файлом, содержащим список пользователей и соленых хэшей, наподобие стандартного файла Linux /etc/shadow . Однако, работа с этим файлом в Dovecot как-то не очень продумана, в разных руководствах и статьях предлагается примерно такой способ: #задаем имя пользователя echo $USERNAME:$(doveadm pw -s ssha512 -p $PASSWORD):::::: >> /etc/dovecot/users Где $USERNAME и $PASSWORD - ранее заданные переменные скрипта, в которых находятся, соответственно, имя пользователя и пароль.Таким скриптом легко загадить парольный файл, т.к. никаких проверок на одинаковость имен, РеГИсТР букв в ИмеНАХ пользователей нет. Решил немного улУчшить и углУбить. + Все имена пользователей приводятся к нижнему регистру + Перед добавлением пользователя проводится проверка, на наличие его в файле пользователей. - Не стал автоматически прикручивать к имени пользователя домен (@example.org), впрочем, кому надо, там просто допилить, а мне, пока экспериментирую, особо не надо, т.к. домены меняются %). Делается скриптом dcadduser .Можно запускать с параметрами: dcadduser <user> <password> , например, dcadduser paulzovatel@example.org passw0rd666 Если запустить без параметров, скрипт предложит ввести имя пользователя и пароль. Если пользователь существует - то скрипт сообщит об этом и завершит работу. dcadduser на GitHubДля удаления создал скрипт dcdeluser .Использование: dcdeluser <username> где <username> - имя пользователя в файле passwd-file .dcdeluser paulzovatel@example.org Перед удалением будет выдан запрос: Delete user paulzovatel@example.org? [Y/N]: Если пользователь не существует, скрипт сообщит об этом и завершит работу. dcdeluser на GitHubДля изменения пароля предназначен скрипт dcpasswd .Использование: dcpasswd <username> [new_password] где: <username> - имя пользователя в файле passwd-file .[new_password] - новый парольЕсли пользователь не существует, скрипт сообщит об этом и завершит работу. Если второй параметр (новый пароль) будет опущен, то скрипт предложит ввести новый пароль в интерактивном режиме. dcpasswd на GitHubСкрипт dclistuser выводит список пользователей из passwd-file Dovecot. Запускается без параметров.Пример вывода: ./dclistuser dclistuser на GitHubРепозиторий со скриптами Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2020/11/19/sozd Генерация самоподписанных ключей для Dovecot
Пригодится для локального сервера почты или для тестирования проекта, где нужен свой почтовый сервер. Буду эту тему дальше развивать, следите по тегу mailserver (копия). 1. Создаем приватный ключ для корневого сертификата. 2. Создаем самоподписанный корневой сертификат. 3. Создаем приватный ключ для простого (не корневого) сертификата. 4. Создаем запрос на подпись простого сертификата. 5. Создаем простой сертификат, подписанный с помощью корневого. 6. Копируем приватный ключ для простого сертификата и сам сертификат в /etc/dovecot/private/ 7. Устанавливаем файлам права в 400 . Т.е. разрешаем чтение только для владельца, остальное запрещаем.8. Если dovecot будет запускаться под отдельным пользователем, а так и надо, не забываем сменить файлам владельца.Поскольку, с первого раза настройка почтового сервера может не получиться [ВОРЧАНИЕ ON] куча инструкций, противоречащих друг другу или неполных, но одной хорошей и конкретной нет [/ВОРЧАНИЕ OFF] Вот скрипт: #!/bin/bash echo "Set permissions..." Скрипт на GitHub Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2020/10/08/gene Добавление дополнительных network namespaces к уже настроенным.
Когда-то давно поднимал тему network namespaces (копия), механизма Linux, позволяющего на машине с одним физическим сетевым интерфейсом организовать несколько независимых сетевых стеков, т.е. виртуальных сетевых интерфейсов с разными настройками (IP-адресом, маршрутизацией, правилами IPTABLES и т.д.). Возник вопрос, как к уже настроенным сетевым неймспейсам добавить еще один. Это не просто, а очень просто. Итак, имеется система такой вот конфигурации: А требуется нечто такое: 1. Создаем новый netspace с именем, например, linkns :ip netns add linkns 2. Создаем два связанных между собой виртуальных сетевых интерфейса veth2 и veth3 :ip link add veth2 type veth peer name veth3 3. Поднимаем интерфейс veth2 , который останется в основном неймспейсе:ifconfig veth2 0.0.0.0 up 4. Подождали, интерфейс поднялся (для проверки вызываем ifconfig без параметров):
5. Ассоциируем veth3 с новым неймспейсом linkns :ip link set veth3 netns linkns 6. Добавляем новый интерфейс ( veth2 ) к интерфейсам ранее созданного моста br0 brctl addif <имя_моста> <имя_интерфейса> brctl addif br0 veth2 Можно проверить список интерфейсов командой: brctl show br0 Вывод команды:
Теперь изначальная схема моста Превращается в такую: Включать/отключать физические сетевые интерфейсы или мост не нужно, все было сконфигурированно ранее. Осталось произвести настройки внутри namespace linkns :1. Поднимаем сетевой интерфейс veth3 внутри неймспейса linkns и присваиваем ему IP.ip netns exec linkns ifconfig veth3 192.168.0.21 netmask 255.255.255.0 2. Прописываем внутри нетспейса маршрут по умолчанию: ip netns exec linkns ip route add default via 192.168.0.1 dev veth3 src 192.168.0.21 3. Поднимаем внутри namespace'а loopback-интерфейс: ip netns exec linkns ifconfig lo 127.0.0.1 4. Если нужно, добавляем файлы конфигурации для namespace'а, например resolv.conf (копия)5. Проверяем работоспособность неймспейса. Проверяем сетевые устройства: ip netns exec linkns ifconfig
ping: ip netns exec linkns ping 8.8.8.8 и интернет: ip netns exec linkns lynx google.com ФАНФАРЫ! Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2020/09/27/doba Network namespeces, resolv.conf и прочие файлы конфигурации.
Когда писал заметку о сетевых неймспейсах, т.е. о том, как на одном компьютере с одной физической сетевой картой организовать несколько виртуальных сетевых интерфейсов с разными IP (копия), забыл упомянуть о маленьком, но важном моменте. Например, в основном неймспейсе есть файл /etc/resolv.conf в котором прописаны адреса DNS для основной системы:nameserver 10.10.0.1 И пусть в системе существует второй namespace с именем linkns и для него надо прописать DNS от Google (8.8.8.8 и 8.8.4.4 ):1. Создаем каталог /etc/netns/linkns .2. В каталоге создаем (или копируем готовый из /etc ) файл resolv.conf .3. Записываем в файл новые адреса DNS: nameserver 8.8.8.8 Аналогично можно поступить и с другими файлами конфигурации, например правилами IPTABLES (если ваша система поддерживает конфигурацию фаервола через конфигурационные файлы). Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2020/09/27/netw Установка и настройка I2P в Slackware Linux
I2P это такая скрытая пиринговая сеть, подробнее можно узнать в Википедии или на официальном сайте. В отличии от TOR, она обеспечивает не анонимный доступ в Интернет, а доступ к собственным ресурсам (сайтам, файлообменникам и т.д.), скрытым из обычной сети. Гейты в "большой" Интернет в ней есть, но они кривые, косые и пользоваться ими не рекомендуется. Расскажу, как ее установить и настроить на Slackware, заодно разрешив пользователям из локальной сети также получать к ней доступ. Клиент сети написан на Java, потому ее надо сначала установить. На официальном сайте есть рекомендации о необходимой версии: Java Runtime Version 7 or higher. (Oracle, OpenJDK, or IcedTea Java Version 7 or 8 recommended. Сама установка довольно проста: 1. Идем, например сюда 2. Скачиваем jdk-8u162-i586-2gds.txz 3. Устанавливаем стандартным образом: installpkg jdk-8u162-i586-2gds.txz 4. Добавляем в автозагрузку (если вы не сделали отдельного скрипта для запуска сервера, то /etc/rc.d/rc.local ) пути к java:echo "Add JAVA paths..." 5. Перезагружаем машину. 6. Вводим в консоли команду java без параметров. Если все было сделано правильно, то вы должны увидеть вывод краткой справки по параметрам java.Понятно, что операции с пользователями надо делать под root или с sudo .1. Создаем отдельную группу для I2P: groupadd i2pgrp 2. Создаем интерактивного (пока, потом мы вырубим ему всю интерактивность) пользователя, например i2psrv :useradd -g i2pgrp -m -d /home/i2psrv -s /bin/bash i2psrv где: -g i2pgrp - группа пользователя (i2pgrp )-m - создать домашний каталог-d /home/i2psrv - путь к домашнему каталогу (/home/i2psrv )-s /bin/bash - установить пользователю оболочку, в данном случае фиктивную (/bin/bash )i2psrv - имя пользователя3. Задаем ему пароль: passwd i2psrv В интерактивном режиме повторяем пароль 2 раза, о сложности можно не беспокоиться - все равно потом отключим. 1. Скачиваем установщик для Linux с официального сайта 2. Копируем в директорию пользователя ( /home/i2psrv ) и меняем владельца файла:chown i2psrv:i2pgrp i2pinstall_0.9.44.jar 3. Логинимся под новым пользователем. 4. Запускаем установку (через консоль): java -jar i2pinstall_0.9.44.jar -console 5. Приводят возможность выбрать язык: Select your language Оставляем английский (нажимая ENTER). 6. Далее предлагают продолжить установку: Нажимаем 1 [ENTER] 7. Опять лицензия и всякая хрень: Нажимаем 1 [ENTER] 8. Выбор пути для установки. Поскольку устанавливаем в каталоге нового пользователя, пусть так и делает - нажимаем [ENTER] 9. Далее нажимаем O и [ENTER] (в прошлых версиях было меньше гемора и подтверждений, а сейчас словно анкету в ментовку работать заполняешь :)10. Еще раз предлагают подтвердить, что все ОК (1 и [ENTER]) 11. Наконец, тебе говорят, что все ОК: ==================== 12. Тебе говорят, что все совсем ОК: Installation was successful Если вы намерены использовать I2P только на локальном компьютере, этот шаг можно пропустить. 1. Идем в файл /home/i2psrv/i2p/i2ptunnel.config , предварительно его куда-нибудь скопировав, и меняем в нем все 127.0.0.1 на адрес нашего компьютера в локальной сети (например на 192.168.0.20 , см. адрес вашего компьютера), таким образом все сервисы I2P будут доступны с любой машины в локальной сети.2. В том же файле смотрим порты, если где-то у нас какой-то порт для чего-то занят, например на том же порту уже висит HTTP или TOR-proxy, смело меняем порт. I2P - порядочный сервис, и сам умеет переключать пользователя, под которым запускается. Некоторые даже рекомендуют завести двух пользователей, одного для запуска, другого для установки I2P, но мы, ради экономии времени, делать этого не будем - и запуск и установка будут под одним пользователем. Тем не менее, необходимо отредактировать скрипт i2prouter (в /home/ip2srv/i2p ):1. Ищем строку, содержащую RUN_AS_USER= 2. Раскомментируем ее (удаляем # в начале строки).3. Дописываем после знака = имя пользователя (в этом примере "i2psrv" ).Отслеживание статуса соединения с сетью I2P, ошибки и основные настройки доступны через Web-интерфейс, который запускается на локальной машине на порту 7657 , но если физического доступа к той машине, на которой установлен I2P нет (или лень), то можно управлять ей и с любого компьютера локальной сети.Внимание! Это не очень одобряется официальными инструкциями. По идее можно сделать безопасный SSL-туннель, как это описывалось в одной из старых инструкций. Но я опишу самый простой вариант, просто поменяю конфиг. Заходим в clients.config (/home/i2psrv/i2p ), предварительно сделав бэкап. И опять меняем 127.0.0.1 на 192.168.0.20 , т.е. меняем адрес машины, по которому должна появиться консоль.Далее меняем clientApp.4.startOnLoad=true на clientApp.4.startOnLoad=false , т.к. на сервере нет смысла открывать панель управления после старта I2P.( Дальнейшая настройка под катом ) Переходим по адресу http://i2p-projekt.i2p I2P довольно медленная сеть и работает с некоторыми перебоями, так что если вместо сайта вы увидите надпись "Сайт недоступен. Возможно, сайт отключен, сеть перегружена или ваш маршрутизатор недостаточно интегрирован с другими пирами. Вы можете повторить операцию.", то действительно, скорее всего, операцию нужно повторить. На самом деле интерактивный доступ к системе для пользователя i2psrv был нужен только на этапе установки сервиса I2P, и я оставлял его до конца настройки на случай, если I2P понадобится переустановить. Теперь консоль пользователю i2psrv более не нужна. Отключаем:Редактируем (под root 'ом) файл /etc/passwd .Находим в этом файле строку, начинающуюся с имени пользователя ( i2psrv ) и в конце строки меняем /bin/bash на /bin/false .Сохраняем файл. Остались нераскрытыми темы подписок (как добавлять I2P-сайты неизвестные вашему маршрутизатору I2P), интересные I2P-сайты, другие сервисы I2P, кроме WWW. Может быть когда-нибудь вернусь к этому вопросу, а пока рекомендую детально ознакомиться с документацией на сайте https://geti2p.net/, http://i2p-projekt.i2p и в консоли I2P. Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2019/12/19/usta Установка и настройка tor-ноды
1. Загружаем исходники tor отсюда я взял версию 0.4.2.4-rc посвежее. 2. Собираем пакет: - Распаковываем из архива каталог tor-0.4.2.4-rc со всеми подкаталогами- Переходим в этот каталог и выполняем последовательно: ./configure checkinstall нас спросит, какой пакет хотим создать (Slackware [S], RPM [R] or Debian [D]? ), отвечаем s , далее вводим описание пакета, например tor и нажимаем два раза ENTER, после чего подтверждаем, что все верно (нажав ENTER еще раз) и checkinstall создаст пакет.3. Можно сразу его установить: installpkg tor-0.4.2.4-rc-i386-1.tgz Негоже запускать tor под обычным пользователем, а тем более под root 'ом, потому создадим для него отдельного пользователя. Пользователь будет неинтерактивный, т.е. войти в систему с терминала он не сможет.1. Добавляем группу, например torgroup :groupadd torgroup 2. Смотрим файл /etc/shells и проверяем, чтоб в файле была строка /bin/false , если ее нет - смело дописываем.3. Создаем пользователя с именем, например, torusr :useradd -g torgroup -m -d /home/torusr -s /bin/false torusr где: -g torgroup - группа пользователя (torgroup )-m - создать домашний каталог-d /home/torusr - путь к домашнему каталогу (/home/torusr )-s /bin/false - установить пользователю оболочку, в данном случае фиктивную (/bin/false )torusr - имя пользователя4. Создаем каталог для данных tor: cd /home/torusr и изменяем владельца созданного каталога на torusr chown torusr:torgroup .tordata В каталоге /home/torusr создаем файл torrc и записываем в него следующие строки:SocksPort 9050 - порт на localhost , где будет висеть tor, и принимать на него запросы. Проще говоря, это порт прокси-сервера, который надо будет прописать, чтоб соединиться с сетью tor с локальной машины. Порт 9050 является портом по умолчанию, и назначается на localhost (127.0.0.1), если строки SocksPort будут отсутствовать в конфигурации.SocksPort 192.168.0.20:9660 - то же самое, только внутри локальной сети. Клиенты из локальной сети должны будут подключаться по адресу 192.168.0.20 и порту 9666 , чтобы использовать сеть tor.Tor организует только SOCKS5 прокси, как быть с браузерами, которым нужен HTTP, рассмотрим далее. SocksPolicy accept 192.168.0.0/24 Принимать запросы только из локальной сети и localhost'а. Log notice file /home/torusr/notices.log - файл, куда будет писаться лог tor'аRunAsDaemon 1 - запуск tor в режиме демона.DataDirectory /home/torusr/.tordata - путь для данных torORPort 9001 - порт, используемый для пересылки пакетов с других узлов. DirPort 9030 - порт, используемый для сервиса каталогов, т.е узел будет позволять получать информацию о других узлах tor, а не только транслировать трафик.Конечно, стоило бы облегчить жизнь пользователям, сидящим за сетевыми экранами и пустить трафик по портам 80 (8080) или 443, но я пока не стал. Впрочем, если вам будет надо - смотрите статью на Хабре (копия) RelayBandwidthRate 1000 MB - ограничение пропускной способности. Чем больше, тем лучше. Но настраивайте эти числа под свой канал, чтоб не загадить его трафиком tor совсем.Nickname PersonalChaosRelay - имя вашего релея (ноды) в базе tor. Можете придумать любое, но советую сначала проверить придуманное имя здесь, введя его в поиске. Если ничего не найдется, проздрабляю, ваш релей будет уникальным.ExitPolicy reject *:* - запрет использовать tor-ноду в качестве выходной. Для ГОРФ параметр строго обязательный.Примечание: в /usr/local/etc/tor находится файл torrc.sample с подробным описанием конфигурации.Пример файла конфигурации на PasteBin Устанавливаем файлу правильного владельца: chown torusr:torgroup torrc Запуск осуществляется следующей командой: sudo -u torusr tor -f /home/torusr/torrc Если помещать запуск в автозагрузку, то желательно указать полный путь к файлу tor :sudo -u torusr /usr/local/bin/tor -f /home/torusr/torrc Запуск в отдельном network namespace (копия): ip netns exec provns sudo -u torusr /usr/local/bin/tor -f /home/torusr/torrc provns - имя network namespaceМинут через 15-20 после запуска можно заглянуть в /home/torusr/notices.log , если в последних строках файла написано что-то типа:Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor. значит порты ORPort и DirPort доступны извне, и нода нормально функционирует. Если же в логе что-то типа: Your server (x.x.x.x:9001) has not managed to confirm that its ORPort is reachable. Relays do not publish descriptors until their ORPort and DirPort are reachable. Please check your firewalls, ports, address, /etc/hosts file, etc. значит порты недоступны из интернета (закрыты фаерволлом, нужно сделать проброс портов на роутере, порты закрыты провайдером) и нода не появится в списке нод и не будет принимать соединения. В режиме клиента все будет работать, т.е. клиенты из локальной сети смогут ей пользоваться для выхода в сеть tor Если все в порядке, то через несколько часов нода появится в базе данных, и можно будет проверить ее наличие здесь введя в поисковой строке на странице Nickname, который указали в конфиге. ( Настройка для клиентов под катом ) Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2019/11/26/usta Network namespaces или несколько виртуальных сетевых карт (интерфейсов) с разными IP на одной машине
С одной физической сетевой картой. Например мы хотим организовать следующую схему: 1. После запуска сервер устанавливает соединение с VPN-провайдером, и весь трафик идет через VPN. 2. Некоторым программам VPN не нужен, пусть это например будут TOR, I2P (у них и так шифрование, плюс им бы желательно скорость работы повыше, а напрямую соединяться быстрее, чем через VPN). Плюс, например, мы хотим ходить на некоторые сайты в обход VPN, либо иметь возможность запускать в обход VPN какие-либо трафикоемкие программы, например торрент-клиент. Ну пусть еще будет отдельный локальный сервис, например FTP, также висящий на отдельном IP. Как. В Linux есть замечательный механизм network namespaces, который на одной машине позволяет создать несколько изолированных друг от друга сетевых подсистем, почти как сеть в виртуальной машине. Не бойтесь, все делается на уровне ядра, потому тормозов, характерных для виртуальных машин не будет. И пусть слово "изолированных" вас тоже не пугает, когда надо - изолированных, а когда надо - мы их свяжем. Эмулируется полностью сетевой стек: сетевые интерфейсы, таблица маршрутизации, файрволл и т.д. Так, как это работает на уровне ядра и для определенных процессов, то вполне можно получить рабочую конфигурации, когда на одной машине есть несколько сетевых интерфейсов с одинаковыми IP-адресами и ничто не конфликтует. Поскольку в процессе нам придется поднимать/опускать физические и виртуальные сетевые карты, настоятельно советую отключить Network Manager, а основную сеть настроить вручную. С включенным Network Manager может ничего не получиться, т.к. он в самый ответственный момент влезет и напоганит в конфигурации. Как на Slackware отключить Network Manager и настроить сеть вручную (копия) Конфигурация namespace'ов производится с помощью iproute2. 1. Создаем новый неймспейс с именем provns :ip netns add provns 2. Создаем две связанных между собой виртуальных сетевых карты (интерфейса) ip link add veth0 type veth peer name veth1 3. Поднимаем интерфейс veth0 :ifconfig veth0 0.0.0.0 up 4. Ассоциируем вторую виртуальную карту с созданным нэймспейсом: ip link set veth1 netns provns Получился один дополнительный namespace, связанный с основным виртуальными сетевыми интерфейсами veth0 и veth1 .Теперь надо связать виртуальный интерфейс veth0 с физической сетевой картой (интерфейсом) eth0 . Сделать это можно разными способами, например, присвоить интерфейсам разные IP-адреса из разных подсетей и сделать маскарадинг с помощью IPTABLES, а можно воспользоваться мостами.Мост - специальное сетевое устройство (в данном случае не физическое, а логическое) позволяющее связать два (и более) сетевых интерфейса на канальном уровне, как в маршрутизаторе. Подробнее про мосты: - Linux Bridge - Виртуальные сетевые устройства в Linux: Linux Bridge - 10 примеров команды brctl в Linux для сетевого Ethernet моста - Эти статьи в PDF Итак: 5. Отключаем физический интерфейс eth0 :ifconfig eth0 down 6. Включаем его, но IP-адрес не присваиваем (IP-адрес будет присвоен мосту): ifconfig eth0 0.0.0.0 up 7. Создаем мост br0 :brctl addbr br0 8. Соединяем (добавляем интерфейсы к мосту) eth0 и veth0 :brctl addif br0 eth0 veth0 9. Поднимаем (включаем) мост, присваивая ему IP-адрес и маску подсети: ifconfig br0 192.168.0.15 netmask 255.255.255.0 up Получилось как на схеме: 10. Устанавливаем маршрут по умолчанию в основном namespace: ip route add default via 192.168.0.1 dev br0 src 192.168.0.15 Далее конфигурируем namespace: Выполнение любых команд в указанном namespace производится командой ip netns exec <имя_namespace> <команда> [параметры_команды] Например, если мы хотим выполнить ifconfig в namespace с именем provns , то команда будет:ip netns exec provns ifconfig 11. Поднимаем (включаем) сетевой интерфейс veth1 внутри нэймспейса provns , и присваиваем ему адрес 192.168.0.20 :ip netns exec provns ifconfig veth1 192.168.0.20 netmask 255.255.255.0 12. Прописываем внутри нэймспейса маршрут по умолчанию: ip netns exec provns ip route add default via 192.168.0.1 dev veth1 src 192.168.0.20 13. Поднимаем внутри namespace'а loopback-интерфейс: ip netns exec provns ifconfig lo 127.0.0.1 ( Под катом ) Скрипт целиком на GitHub Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2019/11/24/netw Настройка сети в Slackware Linux вручную.
Краткая заметка, как настроить сеть на Slackware вручную. Все делаем под root'ом или через sudo. Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2019/11/22/nast Пример конфига GRUB для загрузки сервера
Установка Linux и шифрование ее и всего содержимого жесткого диска. Часть IV
Этап #19 Установка Linux и шифрование ее и всего содержимого жесткого диска. Часть III
Этап #16 Установка Linux и шифрование ее и всего содержимого жесткого диска. Часть II
Этап #11. Установка Linux и шифрование ее и всего содержимого жесткого диска.
Нам понадобятся: Домашний сервер на базе Slackware Linux
Давно хотел собрать в кучу заметки про то, как можно организовать домашний сервер (или сервер для малого офиса) на базе Slackware Linux с VPN, I2P, Tor, файл-помойкой на локальном FTP, возможностью установки с сервера ПО и операционных систем, а возможно и с внутренними Web-сайтами, чатами и что там еще надо в зависимости от ваших задач. А еще и с полным шифрованием жесткого(-их) дисков. Это пост-оглавление. Тут буду копить внутренние ссылки на заметки, относящиеся к организации сервера. Нумерация и последовательность также может меняться, т.к. я пишу как придется, а в содержании буду по мере накопления материала сортировать как надо. Что примерно надо построить на начальном этапе. Сервер в локальной сети, позволяющий клиентам выходить в Интернет, как минимум через два различных IP (VPN и IP основного провайдера), поддерживающий локальный FTP и/или Samba (файловое хранилище), поддерживающий проходную ноду Tor и I2P-роутер, а также обеспечивающий локальным клиентам доcтуп в сети Tor и I2P. Ремарка про железо. На самом деле, чем круче, тем круче, но изначально все делалось на старом Celeron с 500 Гб HDD и 512 Мб ОП, сейчас все вертится на Dual Core Intel Celeron E3200 (2400МГц) с гигабайтом встроенной памяти и встроенным видео, тоже не самая новая машина, но получше. А вообще хочу, чтоб оно на PIII-700 заработало. Сетевая карта одна (расскажу, как из одной реальной виртуальных наделать). Установка Linux и шифрование жесткого диска: - Часть I Копия - Часть II Копия - Часть III Копия - Часть IV Копия - Пример конфига GRUB для загрузки сервера Копия Эта часть целиком в PDF Начальная настройка сети Копия Network namespaces или несколько виртуальных сетевых карт (интерфейсов) с разными IP на одной машине. Копия Настройка файерволла (IPTABLES) Копия Локальный FTP Копия Нода TOR Копия Настройка доступа к I2P Копия PXE (установка и запуск различных ОС со своего сервера на локальных машинах) Копия Локальный прокси-сервер: - Запускающий скрипт Копия - Инструкция по установке Копия - Изменения в конфигурации последней версии Копия Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2019/11/13/doma Настройка IPTables на сервере. Часть вторая, с поправками.
Итак, раньше копия мы уже делали первоначальную настройку IPTables, но оказалось, что делали не очень верно. Настройка IPTABLES
На самом деле, жутко не люблю настраивать IPTables, поскольку синтаксис у него несколько инопланетный. Дома и на работе я как-то настроил один раз лет 10 назад и благополучно все забыл. Теперь вот приходится мучительно вспоминать: "Чем ты это делал? Ну вот этой вот мясорубкой.". |