diff options
author | Ivan Davydov <lotigara@lotigara.ru> | 2025-03-20 18:01:43 +0300 |
---|---|---|
committer | Ivan Davydov <lotigara@lotigara.ru> | 2025-03-20 18:01:43 +0300 |
commit | 3b5269a407c29a30a97c3239e879b781d454b532 (patch) | |
tree | 76c634be6969459ffd832201c6ac387141fb1a0b | |
parent | f9d08843e323f5473c4ef5e45e988b7542262567 (diff) |
Allow published articles and drafts to show in the Git repo
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | drafts/--pubnix.md | 80 | ||||
-rw-r--r-- | drafts/-80211r----openwrt.md | 101 | ||||
-rw-r--r-- | fast-transition-wi-fi-roaming-with-openwrt-and-keeneticos.html | 69 | ||||
-rw-r--r-- | fast-transition-wi-fi-roaming-with-openwrt-and-keeneticos.md | 17 | ||||
-rw-r--r-- | index.html | 68 |
6 files changed, 337 insertions, 3 deletions
@@ -1,5 +1,4 @@ -*.html *.xml -*.md -drafts/ +all*.html +tag*.html .*.tar.gz diff --git a/drafts/--pubnix.md b/drafts/--pubnix.md new file mode 100644 index 0000000..82f972d --- /dev/null +++ b/drafts/--pubnix.md @@ -0,0 +1,80 @@ +Как настроить Pubnix + +# Предисловие + +Pubnix - это машина с общественным доступом, работающая на Unix. Грубо говоря, Pubnix - это как дешёвый хостинг на несколько пользователей. +Но понятие Pubnix шире, так как можно настроить такой без Web-сервера, или наоборот, дать каждому пользователю почтовый ящик, Jabber, собственный Web-сервер, возможность устанавливать свои программы... + +Именно такой мы и собираемся настроить, поэтому приготовьтесь :) + +# Требования +Системные: +- Машина (или даже контейнер, не пробовал) с Debian 12 **без граф. интерфейса** (когда выйдет новая версия, напишите) +- Отсутствие firewall-а или возможность его настроить (здесь нам нужен проброс портов, а для работы 1-1 звонков в XMPP - и вовсе отсутствие NAT), а также рекомендуется вместе с IPv4 иметь IPv6. +Прочие: +- Возможность и желание модерировать контент +- Соблюдение законодательства. Так как доступ по SSH без возможности проксировать заставляет [хакеров](https://www.gnu.org/philosophy/words-to-avoid.html#Hacker) чувствовать себя ограниченными (а если у вас провайдер добавляет ещё и свои блокировки?), можно попробовать сделать регистрацию либо по номеру телефона (правда, это будет дорого, т.к. гайки уже закручивают), либо по Госуслугам (придётся изменять программу для регистрации). Но (пока что) мы будем использовать архитипичную регистрацию по электронной почте. + +# Шаг 1, базовая настройка +Вы установили Debian, и попали в root-оболочку. Все команды будут выполняться пользователем `root`, если не указано иначе. + +Для начала, давайте будем каждого **нового** пользователя добавлять в группу `users`, это понадобится нам в будущем: +```sh +# /etc/adduser.conf +EXTRA_GROUPS="users" +ADD_EXTRA_GROUPS=1 +``` + +# Шаг 2, Web-сервер +Если вы хотите разрешить пользователям размещать свой Web-сайт на вашем Pubnix, вам нужно установить Web-сервер. В данном примере мы будем использовать Caddy. + +Установите Caddy: +```sh +apt install caddy +``` + +И измените настройки: +```caddy +{ + # Скрытия интерфейса администрирования + admin unix//var/lib/caddy/.caddy-admin.sock +} + +https://*.thoth.su { + # Вам придётся выпустить эти сертификаты самостоятельно + tls /etc/caddy/certs/cert.pem /etc/caddy/certs/key.pem + + # Не убирайте этот "host" (в Debian старая версия Caddy), а ещё поменяйте доменное имя + # ↓ ↓ + @host header_regexp host Host ^(?:[a-zA-Z0-9]+\-)?([A-Za-z0-9]+)\.thoth\.su # Для поддоменов + # ЛИБО + @host path host ^\/\~(?:[a-zA-Z0-9]+\-)?([A-Za-z0-9]+) # Для классического подпути + handle @host { + root * /home/{re.host.2}/public_html_nocaddy + #try_files {path}.html {path}.php {path}.htm {path} {path}/ =404 + try_files index.html / =404 + file_server + encode gzip + templates + } + handle_errors { + reverse_proxy unix///home/{re.host.1}/.webserver.sock { + health_status 2xx + health_interval 5s + health_timeout 60s + #handle_errors { + # @502 expression {err.status_code} == 502 + # handle @502 { + # respond * 502 { + # body "This site is either down or does not exist. + #If this site really does exist, please make sure your Caddy is running. Try systemctl --user start caddy. It is also possible you have a config issue, if so, please reach out to us on Matrix. + #" + # } + # } + #} + } + } +} +``` + +Метки: keep-this-tag-format, tags-are-optional, beware-with-underscores-in-markdown, example diff --git a/drafts/-80211r----openwrt.md b/drafts/-80211r----openwrt.md new file mode 100644 index 0000000..d11f338 --- /dev/null +++ b/drafts/-80211r----openwrt.md @@ -0,0 +1,101 @@ +Настройка 802.11r (быстрого перехода/роуминга) в OpenWrt. + +Эта заметка про настройку быстрого Wi-Fi роуминга [1], +то есть 802.11r, в OpenWrt. Здесь также будет описано, +как получать доступ в локальную сеть через Ethernet-порт +нашего ретранслятора. + +# Требования +- Два устройства с OpenWrt с поддержкой Wi-Fi; +- Базовые знания администрирования Unix-систем (SSH, vi...) +- Терпение + +# Настраиваем маршрутизатор +Для начала, подключите его к Интернету, так как нам понадобятся +пакеты `relayd` и `luci-proto-relay` на ретрансляторе. + +Будем считать, что вы настроили свою страну и пароль для Wi-Fi, +однако нам всё равно надо внести следующие правки в файл +`/etc/config/wireless`: +``` +... +config wifi-iface '...' + ... + option ieee80211r '1' + option nasid '123456' // Идентификатор данной точки доступа, уникален + option mobility_domain 'abcd' // Любое шестнадцатеричное число, + // состоящее из четырёх цифр. Если вдруг + // решите сделать роуминг с KeeneticOS, + // то на вашем Keenetic вводите + // это число с основанием 10. + option ft_over_ds '1' // Не проверял без этого параметра + option ft_psk_generate_local '1' +``` +Также не забудьте внести правки в другие `wifi-iface`, если имеются +(и ретранслятор/ы поддерживают одинаковые протоколы). + +# Настраиваем ретранслятор +Для того, чтобы этот ретранслятор раздавал по Wi-Fi подключение к Интернету, +нам сперва надо подключить ретранслятор к главному маршрутизатору в качестве +клиента. Подразумевается, что они соединены проводом (можно подключить его по +радио, это удобнее делать через LuCI). + +Сначала, вносим следующие правки в /etc/config/network: +- Меняем IP-адрес нашего ретранслятора: +``` +... +config interface 'lan' + ... + option ipaddr '192.168.2.1' // Здесь ставим любую подсеть, отличную от + // подсети главного маршрутизатора +``` +- Правим интерфейс `wan`: +``` +config interface 'wan' + option proto 'static' + option ipaddr '192.168.1.20' // IP-адрес в подсети главного + // маршрутизатора + option netmask '255.255.255.0' + option gateway '192.168.1.1' // IP-адрес главного маршрутизатора + list dns '192.168.1.1' // DNS-сервер/ы +``` +- Потом, удаляем все зоны, кроме `lan` в `/etc/config/firewall` и вносим следующие +изменения: +``` +config zone + option name 'lan' + ... + list network 'wan' // Сделать перенаправление пакетов между + // интерфейсами прозрачным +``` +- Правим `/etc/config/dhcp`: +``` +config dhcp 'lan' + option interface 'lan' + option ignore '1' +``` + +Теперь, установите вышеупомянутые пакеты, зайдя в меню +`System -> Software` в LuCI или выполнив следующую команду +через оболочку (не работает в выпусках после 24.10 из-за смены +пакетного менеджера разработчиками): +`opkg install relayd luci-proto-relay` + +После установки пакета, создайте интерфейс `bridge` в `/etc/config/network`: +``` +config interface 'bridge' + option proto 'relay' + option ipaddr '192.168.1.20' // IP-адрес, который вы выбрали ранее + list network 'lan' + list network 'wan' +``` + +Сейчас скопируйте настройки Wi-Fi-сети с главного маршрутизатора на ретранслятор, +убедившись в соответствии с названиями Wi-Fi-интерфейсов обоих устройств. + +--- +[1] Многие производители маршрутизаторов называют это «Mesh», +что на самом деле является обманом. Я не понял, что +такое настоящий mesh: <https://openwrt.org/docs/guide-user/network/wifi/mesh/mesh11sd> + +Метки: openwrt, сети, wi-fi, 802.11 diff --git a/fast-transition-wi-fi-roaming-with-openwrt-and-keeneticos.html b/fast-transition-wi-fi-roaming-with-openwrt-and-keeneticos.html new file mode 100644 index 0000000..976d587 --- /dev/null +++ b/fast-transition-wi-fi-roaming-with-openwrt-and-keeneticos.html @@ -0,0 +1,69 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link href="/css/main.css" rel="stylesheet" /> + <link href="/css/theme.css" rel="stylesheet" /> + <link href="/css/third-party.css" rel="stylesheet" /> + <link href="/css/responsivity.css" rel="stylesheet" /> +<title>Fast Transition (Wi-Fi Roaming) with OpenWrt and KeeneticOS</title> +</head><body> +<input type="checkbox" id="theme-switch"> +<div id="divbodyholder"><div class="inner_page"> +<div class="headerholder"><div class="header"> +<div id="title"> +<div class="page_header floating_element"> + <h1 class="floating_element">Блог самохостера Lotigara</h1> +</div> +<div class="floating_element"> + <h4 style="display:inline"><a style="color:white" href="/">главная|main page</a></h4> + <h4 style="display:inline"><a style="color:white" href="/status.php">состояние|status</a></h4> + <p style="display:inline">блог|blog</p> + <h4 style="display:inline"><a style="color:white" href="/files">файлы|files</a></h4> + <label id="switch-label" for="theme-switch"></label> +</div> +</div></div></div> +<div id="divbody"><div class="content"> +<!-- entry begin --> +<div class="section_header"><a class="ablack" href="fast-transition-wi-fi-roaming-with-openwrt-and-keeneticos.html"> +Fast Transition (Wi-Fi Roaming) with OpenWrt and KeeneticOS +</a></div> +<!-- bashblog_timestamp: #202503071940.59# --> +<div class="subtitle">марта 07, 2025 — +Ivan Davydov +</div> +<!-- text begin --> + +<h5>tested on KeeneticOS v3.8.7 & OpenWrt v23.05.5</h5> + +<p>First, set up FT on your OpenWrt devices.</p> + +<p>Then, change the mode of your Keenetic (?) devices to Extender (there are Repeater/Extender and Access Point/Extender, the last is the recommended).</p> + +<p>Go to the <code>Access Point/Extender (Repeater/Extender) > Home segment</code> menu. Change the settings of the Wi-Fi network to those ones in OpenWrt.</p> + +<p>Scroll below to the "Roaming for wireless devices" section. Enable "Fast transition (802.11r)" and write your mobility domain ID converted to the ASCII format.</p> + +<p>You can use an online converter like this one: <a href="https://www.rapidtables.com/convert/number/hex-to-ascii.html">https://www.rapidtables.com/convert/number/hex-to-ascii.html</a>. Keep the "Mobility domain key" field unedited.</p> + +<p>Press the "Save" button. Now you have a so-called "Wi-Fi system" with use of both KeeneticOS and OpenWrt!</p> + +<p>Метки: <a href='tag_keeneticos.html'>keeneticos</a>, <a href='tag_openwrt.html'>openwrt</a>, <a href='tag_wifi.html'>wifi</a>, <a href='tag_wifi-roaming.html'>wifi-roaming</a></p> + + + + + + + + + +<!-- text end --> +<!-- entry end --> +</div> +<div class="section_header section_header_last"> + <p>(c) Ivan Davydov 2025. Делайте с этим документом всё, что хотите!</p><hr/> + <a href="https://www.lotigara.ru/blog">Веб-сайт самохостера Lotigara</a> сгенерирован при помощи <a href="https://github.com/jakimfett/bashblog">Bashblog</a>. Исходные коды этой версии Bashblog можно найти <a href="https://www.lotigara.ru/files/bashblog">здесь</a>.</div> +</div> +</div></div></div> +</body></html> diff --git a/fast-transition-wi-fi-roaming-with-openwrt-and-keeneticos.md b/fast-transition-wi-fi-roaming-with-openwrt-and-keeneticos.md new file mode 100644 index 0000000..fd26836 --- /dev/null +++ b/fast-transition-wi-fi-roaming-with-openwrt-and-keeneticos.md @@ -0,0 +1,17 @@ +Fast Transition (Wi-Fi Roaming) with OpenWrt and KeeneticOS + +##### tested on KeeneticOS v3.8.7 & OpenWrt v23.05.5 + +First, set up FT on your OpenWrt devices. + +Then, change the mode of your Keenetic (?) devices to Extender (there are Repeater/Extender and Access Point/Extender, the last is the recommended). + +Go to the `Access Point/Extender (Repeater/Extender) > Home segment` menu. Change the settings of the Wi-Fi network to those ones in OpenWrt. + +Scroll below to the "Roaming for wireless devices" section. Enable "Fast transition (802.11r)" and write your mobility domain ID converted to the ASCII format. + +You can use an online converter like this one: <https://www.rapidtables.com/convert/number/hex-to-ascii.html>. Keep the "Mobility domain key" field unedited. + +Press the "Save" button. Now you have a so-called "Wi-Fi system" with use of both KeeneticOS and OpenWrt! + +Метки: keeneticos, openwrt, wifi, wifi-roaming diff --git a/index.html b/index.html new file mode 100644 index 0000000..6047403 --- /dev/null +++ b/index.html @@ -0,0 +1,68 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <link href="/css/main.css" rel="stylesheet" /> + <link href="/css/theme.css" rel="stylesheet" /> + <link href="/css/third-party.css" rel="stylesheet" /> + <link href="/css/responsivity.css" rel="stylesheet" /> +<title>Блог самохостера Lotigara</title> +</head><body> +<input type="checkbox" id="theme-switch"> +<div id="divbodyholder"><div class="inner_page"> +<div class="headerholder"><div class="header"> +<div id="title"> +<div class="page_header floating_element"> + <h1 class="floating_element">Блог самохостера Lotigara</h1> +</div> +<div class="floating_element"> + <h4 style="display:inline"><a style="color:white" href="/">главная|main page</a></h4> + <h4 style="display:inline"><a style="color:white" href="/status.php">состояние|status</a></h4> + <p style="display:inline">блог|blog</p> + <h4 style="display:inline"><a style="color:white" href="/files">файлы|files</a></h4> + <label id="switch-label" for="theme-switch"></label> +</div> +</div></div></div> +<div id="divbody"><div class="content"> +<div class="section_header"><a class="ablack" href="fast-transition-wi-fi-roaming-with-openwrt-and-keeneticos.html"> +Fast Transition (Wi-Fi Roaming) with OpenWrt and KeeneticOS +</a></div> +<!-- bashblog_timestamp: #202503071940.59# --> +<div class="subtitle">марта 07, 2025 — +Ivan Davydov +</div> +<!-- text begin --> + +<h5>tested on KeeneticOS v3.8.7 & OpenWrt v23.05.5</h5> + +<p>First, set up FT on your OpenWrt devices.</p> + +<p>Then, change the mode of your Keenetic (?) devices to Extender (there are Repeater/Extender and Access Point/Extender, the last is the recommended).</p> + +<p>Go to the <code>Access Point/Extender (Repeater/Extender) > Home segment</code> menu. Change the settings of the Wi-Fi network to those ones in OpenWrt.</p> + +<p>Scroll below to the "Roaming for wireless devices" section. Enable "Fast transition (802.11r)" and write your mobility domain ID converted to the ASCII format.</p> + +<p>You can use an online converter like this one: <a href="https://www.rapidtables.com/convert/number/hex-to-ascii.html">https://www.rapidtables.com/convert/number/hex-to-ascii.html</a>. Keep the "Mobility domain key" field unedited.</p> + +<p>Press the "Save" button. Now you have a so-called "Wi-Fi system" with use of both KeeneticOS and OpenWrt!</p> + +<p>Метки: <a href='tag_keeneticos.html'>keeneticos</a>, <a href='tag_openwrt.html'>openwrt</a>, <a href='tag_wifi.html'>wifi</a>, <a href='tag_wifi-roaming.html'>wifi-roaming</a></p> + + + + + + + + + +<!-- text end --> +<div id="all_posts"><a href="all_posts.html">Больше заметок</a> — <a href="all_tags.html">Все метки</a> — <a href="feed.rss">Подписаться</a></div> +</div> +<div class="section_header section_header_last"> + <p>(c) Ivan Davydov 2025. Делайте с этим документом всё, что хотите!</p><hr/> + <a href="https://www.lotigara.ru/blog">Веб-сайт самохостера Lotigara</a> сгенерирован при помощи <a href="https://github.com/jakimfett/bashblog">Bashblog</a>. Исходные коды этой версии Bashblog можно найти <a href="https://www.lotigara.ru/files/bashblog">здесь</a>.</div> +</div> +</div></div></div> +</body></html> |