Защита от простых наплывов запросов в Nginx
Часто, когда сайт начинает становится более популярным, всякие нехорошие люди (ботов люди создают) пытаются его положить наплывом запросов.
Можно попытаться защититься стандартными решениями на Nginx. В качестве ответов сервера здесь выдается 444 код (закрывает соединение без отправки данных), но можно ставить тот, который посчитаете нужным.
1. Когда в запросах идут левые заголовки, то можно оставить только нужные, а по остальным не отвечать:
2. Если запросы идут внешне нормальные, но с разными http_referer (например, с взломанных сайтов), то можно вести черные список при помощи map.
2.1 Перед разделом server в vhost создаем map
Аналогично example.com можно добавлять в новой строке и другие http_referer.
2.2 В разделе server создаем условие на проверку
Если в http_referer указан https://example.com, то он будет получать 444 от Nginx.
3. Если нужно ограничить количество запросов от IP-адресов, но некоторые адреса надо исключить, то можно применять limit_req со списком исключений (geo+map).
3.1 Формируем список перед разделом server в vhost
Сеть 192.168.1.0/24 будет в исключениях.
3.2 Создаем map c $binary_remote_addr
$binary_remote_addr - параметр в Nginx, который отвечающий за адрес клиента.
3.3 Перед разделом server создаем условия по запросам. В данном случае создаем зону reqtest, где возможно отправлять с одного IP 10 запросов в секунду.
3.4 В location ставим limit_req с возможностью всплеска 50:
Если нужно без задержек обрабатывать всплески, то надо добавить nodelay после burst. Если запросы выше всплеска, то будут отбрасываться.
4. Если надо ограничить количество одновременных запросов от IP-адреса, то можно применить limit_conn.
4.1 Перед разделом server создаем зону.
4.2 В разделе server указываем условия одновременных подключений. В данном примере 30.
Конечно, это всё защита не от серьезного DDOS'a, но в блокировке всяких мутных ботов может помочь. Плюс хорошо бы ещё добавить fail2ban для выявления и блокирования странных запросов в логах.
#devops@itmxav
😉 На сайте
Часто, когда сайт начинает становится более популярным, всякие нехорошие люди (ботов люди создают) пытаются его положить наплывом запросов.
Можно попытаться защититься стандартными решениями на Nginx. В качестве ответов сервера здесь выдается 444 код (закрывает соединение без отправки данных), но можно ставить тот, который посчитаете нужным.
1. Когда в запросах идут левые заголовки, то можно оставить только нужные, а по остальным не отвечать:
if ($request_method !~ ^(GET|POST|HEAD)$ ) {
return 444;
}
2. Если запросы идут внешне нормальные, но с разными http_referer (например, с взломанных сайтов), то можно вести черные список при помощи map.
2.1 Перед разделом server в vhost создаем map
map $http_referer $bad_referer {
default 0;
"~https://example.com" 1;
}Аналогично example.com можно добавлять в новой строке и другие http_referer.
2.2 В разделе server создаем условие на проверку
if ($bad_referer) {
return 444;
}Если в http_referer указан https://example.com, то он будет получать 444 от Nginx.
3. Если нужно ограничить количество запросов от IP-адресов, но некоторые адреса надо исключить, то можно применять limit_req со списком исключений (geo+map).
3.1 Формируем список перед разделом server в vhost
geo $limited_net {
default 1;
192.168.1.0/24 0;
}Сеть 192.168.1.0/24 будет в исключениях.
3.2 Создаем map c $binary_remote_addr
map $limited_net $addr_to_limit {
0 "";
1 $binary_remote_addr;
}$binary_remote_addr - параметр в Nginx, который отвечающий за адрес клиента.
3.3 Перед разделом server создаем условия по запросам. В данном случае создаем зону reqtest, где возможно отправлять с одного IP 10 запросов в секунду.
limit_req_zone $addr_to_limit zone=reqtest:10m rate=10r/s;
3.4 В location ставим limit_req с возможностью всплеска 50:
limit_req zone=reqtest burst=50;
Если нужно без задержек обрабатывать всплески, то надо добавить nodelay после burst. Если запросы выше всплеска, то будут отбрасываться.
4. Если надо ограничить количество одновременных запросов от IP-адреса, то можно применить limit_conn.
4.1 Перед разделом server создаем зону.
limit_conn_zone $binary_remote_addr zone=conntest:10m;
4.2 В разделе server указываем условия одновременных подключений. В данном примере 30.
limit_conn conntest 30;
Конечно, это всё защита не от серьезного DDOS'a, но в блокировке всяких мутных ботов может помочь. Плюс хорошо бы ещё добавить fail2ban для выявления и блокирования странных запросов в логах.
#devops@itmxav
😉 На сайте
Быстрая сортировка и удаление повторяющихся строк через терминал Linux
Короткая заметка, чтобы можно было быстро найти.
Иногда надо быстро отсортировать строки через терминал в Linux и убрать повторения.
Здесь хорошо может помочь конвейерные способы
или
Или sort через параметр -u
#linux@itmxav
😉 На сайте
Короткая заметка, чтобы можно было быстро найти.
Иногда надо быстро отсортировать строки через терминал в Linux и убрать повторения.
Здесь хорошо может помочь конвейерные способы
cat file.txt | sort | uniq
или
sort file.txt | uniq
Или sort через параметр -u
sort -u file.txt
#linux@itmxav
😉 На сайте
❗️Новости
Добавил теги к заметкам. Текущие теги можно посмотреть в закрепленном сообщении.
Хорошего дня 😊
Добавил теги к заметкам. Текущие теги можно посмотреть в закрепленном сообщении.
Хорошего дня 😊
Запросы с User-Agent claudebot
В последнее время много запросов с User-Agent "claudebot" прилетает от разных IP.
Если загуглить, то Claudebot, возможно, относится к конторе Anthropic, которая работает по теме AI, хотя с РФ не дружит.
Может просто совпадение.
Зачем этот сканер нужен остается загадкой, но на всякий случай его можно заблокировать.
#devops@itmxav
😉 На сайте
В последнее время много запросов с User-Agent "claudebot" прилетает от разных IP.
Если загуглить, то Claudebot, возможно, относится к конторе Anthropic, которая работает по теме AI, хотя с РФ не дружит.
Может просто совпадение.
Зачем этот сканер нужен остается загадкой, но на всякий случай его можно заблокировать.
#devops@itmxav
😉 На сайте
Блокирование ботов по User-Agent в Nginx
Короткая заметка, чтобы можно было быстро найти.
Недавно касался темы ботов. Самый простой вариант заблокировать ботов по User-Agent в Nginx
Если не хочется загружать конфиг, то можно вынести в отдельное место и подключить файл через include.
#devops@itmxav
😉 На сайте
Короткая заметка, чтобы можно было быстро найти.
Недавно касался темы ботов. Самый простой вариант заблокировать ботов по User-Agent в Nginx
if ($http_user_agent ~* (GPTBot|claudebot|GeedoProductSearch|GeedoBot|Amazonbot|Bytespider|SeopultContentAnalyzer|SeekportBot|DataForSeoBot|Barkrowler|BLEXBot|SemrushBot|MJ12bot|AhrefsBot|bingbot|DotBot|PetalBot|LinkpadBot|SputnikBot|statdom.ru|MegaIndex.ru|WebDataStats|Jooblebot|Baiduspider|BackupLand|NetcraftSurveyAgent|openstat.ru|thesis-research-bot|fidget-spinner-bot|facebookexternalhit)){
return 444;
}
Если не хочется загружать конфиг, то можно вынести в отдельное место и подключить файл через include.
#devops@itmxav
😉 На сайте
Сбор конфигурации Zelax в Oxidized
Столкнулся с ситуацией, что для коммутаторов Zelax 30ХХ, на данный момент, нет модели в Oxidized.
В качестве тестового примера можно закоментить лишнее в ios.rb и назвать файл типа zlx.rb в папке model, потому что синтаксис необходимых команд схож.
В router.db можно добавить
В config можно добавить:
Конечно, пользователь на Zelax был создан заранее с нужным уровнем и нужными разрешенными командами, как в Cisco.
В тестовом варианте конфиг собрался. Может модель скоро и в официальном репозитории Oxidized появится.
#сети@itmxav
#devops@itmxav
😉 На сайте
Столкнулся с ситуацией, что для коммутаторов Zelax 30ХХ, на данный момент, нет модели в Oxidized.
В качестве тестового примера можно закоментить лишнее в ios.rb и назвать файл типа zlx.rb в папке model, потому что синтаксис необходимых команд схож.
В router.db можно добавить
NameRouter:zlx:cisco:IPAddress
В config можно добавить:
groups:
cisco:
username: usernameZLX
password: passwordZLX
model_map:
cisco: zlx
Конечно, пользователь на Zelax был создан заранее с нужным уровнем и нужными разрешенными командами, как в Cisco.
В тестовом варианте конфиг собрался. Может модель скоро и в официальном репозитории Oxidized появится.
#сети@itmxav
#devops@itmxav
😉 На сайте
Ведение записей в Telegram
Когда так или иначе обрабатываешь много информации, то часто надо делать заметки для себя. Возникает потребность в каком-нибудь приложении, чтобы записи можно быть открыть на смартфоне и на компьютере под разными операционными системами. Конечно, таких приложений много, и платных, и бесплатных: Google Keep, Evernote, Simplenote и т. д. Если есть возможность держать сервер, то можно, например, Nextcloud приспособить или сделать свой небольшой сайт в стиле ToDo-листа.
Пробовал разные варианты, но остановился всё же на Telegram, потому что он отвечал на мои критерии:
- Кроссплатформенность. Поддерживает разные операционки и можно даже через браузер зайти, если потребуется.
- Очень прост в управлении. Пишешь просто сообщение, а если задача выполнена или сообщение стало неактуально — удаляешь сообщение.
- Можно организовать многопользовательский режим. Просто добавить ещё человека и совместно обсуждать темы. Можно и без этого обойтись, но приятный момент.
- Можно передавать файлы.
- Можно делать отложенные сообщения. Некий аналог напоминалок в календаре.
- Можно общаться в рамках тем и поднять старое сообщение, если потребуется.
- Есть возможности закрепления тем и сообщений.
- Можно вести видеотрансляции через obs или просто созваниваться там же, где записи делаются. Конечно, эта функциональность необязательна, но приятный момент.
Думаю, что уже понятно как организовать такое в Telegram, но всё же кратко опишу:
1. Создаем группу и называем её как-то.
2. Переходим в редактирование группы и тыкаем включить темы. По умолчанию они выключены.
3. Дальше нажимаем в группе на круглую кнопку создать тему.
4. Называем тему и пишем сообщения по этой теме. Так можно создавать много тем.
Для примера прикладываю скриншот. Если у кого-то есть другие удобные варианты ведения записей, то пишите.
#разное@itmxav
🔗 На сайте
Когда так или иначе обрабатываешь много информации, то часто надо делать заметки для себя. Возникает потребность в каком-нибудь приложении, чтобы записи можно быть открыть на смартфоне и на компьютере под разными операционными системами. Конечно, таких приложений много, и платных, и бесплатных: Google Keep, Evernote, Simplenote и т. д. Если есть возможность держать сервер, то можно, например, Nextcloud приспособить или сделать свой небольшой сайт в стиле ToDo-листа.
Пробовал разные варианты, но остановился всё же на Telegram, потому что он отвечал на мои критерии:
- Кроссплатформенность. Поддерживает разные операционки и можно даже через браузер зайти, если потребуется.
- Очень прост в управлении. Пишешь просто сообщение, а если задача выполнена или сообщение стало неактуально — удаляешь сообщение.
- Можно организовать многопользовательский режим. Просто добавить ещё человека и совместно обсуждать темы. Можно и без этого обойтись, но приятный момент.
- Можно передавать файлы.
- Можно делать отложенные сообщения. Некий аналог напоминалок в календаре.
- Можно общаться в рамках тем и поднять старое сообщение, если потребуется.
- Есть возможности закрепления тем и сообщений.
- Можно вести видеотрансляции через obs или просто созваниваться там же, где записи делаются. Конечно, эта функциональность необязательна, но приятный момент.
Думаю, что уже понятно как организовать такое в Telegram, но всё же кратко опишу:
1. Создаем группу и называем её как-то.
2. Переходим в редактирование группы и тыкаем включить темы. По умолчанию они выключены.
3. Дальше нажимаем в группе на круглую кнопку создать тему.
4. Называем тему и пишем сообщения по этой теме. Так можно создавать много тем.
Для примера прикладываю скриншот. Если у кого-то есть другие удобные варианты ведения записей, то пишите.
#разное@itmxav
🔗 На сайте
Zelax не отправляет логи в Graylog
Наткнулся на ситуацию, когда логи с оборудования Zelax не появляются в Graylog.
Сначала надо настроить Zelax. В документации почему-то информация по настройке Syslog'а yt подходит и настраивается немного иначе:
1. Включаем info-center
2. Указываем источника для канала
Пояснения:
level Х - уровень сообщений (0 - emergencies, 1 - alerts, 2 - critical, 3 - errors, 4 - warnings, 5 - notifications, 6 - informational, 7 - debugging);
channel X - номер канала, где часть каналов уже определена:
channel 0 - передача сообщений уровня debugging в консоль;
channel 1 - передача сообщений уровня debugging в терминальный монитор;
channel 2 - зарезервирован под передачу на Syslog-сервер;
channel 3 - передача debugging trap в буфер;
channel 4 - передача сообщений уровня warning в память (logsdram);
channel 5 - передача сообщений уровня critical в память (lognvram).
3. Направляем вывод на сервер Graylog
Пояснения:
IP_ADDRESS - адрес сервера;
facility - категория сообщения для сервера;
channel X - номер канала, который должен совпадать с предыдущей настройкой.
И, вроде, должно всё заработать. По анализатору трафика видно, что все пакеты доходят, но почему-то отображения логов нет.
Момент заключается в том, что Graylog не обрабатывает полученные пакеты, пока в Zelax не будет установлены параметры времени.
Настраиваем:
Странно. На Cisco, Huawei, Eltex, HPE таких моментов нет и Graylog сам фиксирует время, главное чтобы данные пришли, а здесь нет 😐
#zelax@itmxav
#сети@itmxav
🔗 На сайте
Наткнулся на ситуацию, когда логи с оборудования Zelax не появляются в Graylog.
Сначала надо настроить Zelax. В документации почему-то информация по настройке Syslog'а yt подходит и настраивается немного иначе:
1. Включаем info-center
info-center enable
2. Указываем источника для канала
info-center source debug level 7 prefix on channel 2
Пояснения:
level Х - уровень сообщений (0 - emergencies, 1 - alerts, 2 - critical, 3 - errors, 4 - warnings, 5 - notifications, 6 - informational, 7 - debugging);
channel X - номер канала, где часть каналов уже определена:
channel 0 - передача сообщений уровня debugging в консоль;
channel 1 - передача сообщений уровня debugging в терминальный монитор;
channel 2 - зарезервирован под передачу на Syslog-сервер;
channel 3 - передача debugging trap в буфер;
channel 4 - передача сообщений уровня warning в память (logsdram);
channel 5 - передача сообщений уровня critical в память (lognvram).
3. Направляем вывод на сервер Graylog
info-center loghost IP_ADDRESS facility local7 channel 2
Пояснения:
IP_ADDRESS - адрес сервера;
facility - категория сообщения для сервера;
channel X - номер канала, который должен совпадать с предыдущей настройкой.
И, вроде, должно всё заработать. По анализатору трафика видно, что все пакеты доходят, но почему-то отображения логов нет.
Момент заключается в том, что Graylog не обрабатывает полученные пакеты, пока в Zelax не будет установлены параметры времени.
Настраиваем:
ntp enable
ntp server IP_ADDRESS_SERVER
clock timezone MSK add 3 0
Странно. На Cisco, Huawei, Eltex, HPE таких моментов нет и Graylog сам фиксирует время, главное чтобы данные пришли, а здесь нет 😐
#zelax@itmxav
#сети@itmxav
🔗 На сайте
Быстрый поиск файлов в Linux, содержащих определенный текст
Короткая заметка, чтобы можно было отыскать.
Когда надо быстро найти файлы с определенным текстом, то можно перейти в нужную папку и использовать grep:
Главное не потерять точку перед /, а то поиск будет производиться от корня.
#linux@itmxav
🔗 На сайте
Короткая заметка, чтобы можно было отыскать.
Когда надо быстро найти файлы с определенным текстом, то можно перейти в нужную папку и использовать grep:
grep -iRl "нужный_текст" ./
Главное не потерять точку перед /, а то поиск будет производиться от корня.
#linux@itmxav
🔗 На сайте
Как проверить fstab в Linux?
Иногда требуется проверить файл /etc/fstab.
Перед внесением изменений лучше забэкапить fstab.
Можно рассмотреть вариант с ключом -a. Т.е. смонтируются всё, что указано в fstab.
Как вариант, можно использоваться mount с фейковым подключением, т.е. проверка без внесения изменений. Главное не использовать ключ -f во FreeBDS. Там значение ключа другое - force.
Либо через findmnt можно сделать проверку.
#linux@itmxav
🔗 На сайте
Иногда требуется проверить файл /etc/fstab.
Перед внесением изменений лучше забэкапить fstab.
cp -p /etc/fstab /etc/fstab.bak
Можно рассмотреть вариант с ключом -a. Т.е. смонтируются всё, что указано в fstab.
mount -a
Как вариант, можно использоваться mount с фейковым подключением, т.е. проверка без внесения изменений. Главное не использовать ключ -f во FreeBDS. Там значение ключа другое - force.
mount -fav
Либо через findmnt можно сделать проверку.
findmnt --verify --verbose
#linux@itmxav
🔗 На сайте
👍1
Как настроить Syslog на Cisco ASA 5500 серии?
Для начала надо настроить время. Указываем зону и NTP-сервер:
Далее настроиваем куда отправлять логи. Отправляем логи через inside-интерфейс и указываем, что отправляем их на порт 1234. По умолчанию 514 порт, но иногда лучше поменять порт. Например, Graylog почему-то не хотел логи с 514 порта обрабатывать, хотя логи других нормально обрабатывались.
#cisco@itmxav
#сети@itmxav
🔗 На сайте
Для начала надо настроить время. Указываем зону и NTP-сервер:
clock timezone MSK/MSD 3
ntp server IP_NTP_server source inside
Далее настроиваем куда отправлять логи. Отправляем логи через inside-интерфейс и указываем, что отправляем их на порт 1234. По умолчанию 514 порт, но иногда лучше поменять порт. Например, Graylog почему-то не хотел логи с 514 порта обрабатывать, хотя логи других нормально обрабатывались.
logging enable
logging trap informational
logging asdm errors
logging device-id string ASA55ver
logging host inside IP_syslog 17/1234
#cisco@itmxav
#сети@itmxav
🔗 На сайте
Изменения в скрипте с оповещением в RocketChat
Немного подправил payload в скрипте с оповещением в RocketChat. Посмотреть/скачать можно с сайта или Github'а.
Плюс так можно легко найти нужное сообщение через поиск в RocketChat'е. Почему-то поиск не может найти текст в attachments сообщения.
📝 Другие заметки по RocketChat:
- Как исправить apparmor DENIED в snap.rocketchat-server.rocketchat-mongo?
- Как сделать резервное копирование данных rocketchat server?
- Как обновить Rocket.chat через snap?
- Как сбросить пароль RocketChat (admin) SNAP?
#devops@itmxav
🔗 На сайте
Немного подправил payload в скрипте с оповещением в RocketChat. Посмотреть/скачать можно с сайта или Github'а.
Плюс так можно легко найти нужное сообщение через поиск в RocketChat'е. Почему-то поиск не может найти текст в attachments сообщения.
📝 Другие заметки по RocketChat:
- Как исправить apparmor DENIED в snap.rocketchat-server.rocketchat-mongo?
- Как сделать резервное копирование данных rocketchat server?
- Как обновить Rocket.chat через snap?
- Как сбросить пароль RocketChat (admin) SNAP?
#devops@itmxav
🔗 На сайте
Как посмотреть логи контейнера в Docker?
Просто посмотреть логи контейнера:
Отслеживать появляющиеся новые сообщения в логах:
Посмотреть логи за определенный период:
📝 Другие заметки по Docker:
- Простая установка Docker
- Как установить docker-compose?
- Как собрать образ из контейнера Docker для отправки в реестр?
- Как работать с Docker под своим пользователем?
- Как узнать ip контейнера docker?
#docker@itmxav
#devops@itmxav
🔗 На сайте
Просто посмотреть логи контейнера:
docker logs NameContainer
Отслеживать появляющиеся новые сообщения в логах:
docker logs -f NameContainer
Посмотреть логи за определенный период:
docker logs -f NameContainer --since 2024-04-30 --until 2024-05-01
📝 Другие заметки по Docker:
- Простая установка Docker
- Как установить docker-compose?
- Как собрать образ из контейнера Docker для отправки в реестр?
- Как работать с Docker под своим пользователем?
- Как узнать ip контейнера docker?
#docker@itmxav
#devops@itmxav
🔗 На сайте
Как зеркалировать трафик на коммутаторе Huawei S5700?
Чтобы зеркалировать трафик надо указать куда зеркалировать, откуда и какой трафик (входящий и/или исходящий).
1. Переходим в режим конфигурирования:
2. Выбираем порт наблюдения. Например 11
3. Указываем порт откуда трафик зеркалировать. Например 10:
Если требуется только входящий трафик зеркалироваться, то
Только исходящий
4. Посмотреть порт наблюдения:
5. Посмотреть порт зеркалирования:
📝 Другие заметки по Huawei:
- Как задать время на коммутаторе Huawei?
- Как поменять старый пароль на новый на Huawei?
#huawei@itmxav
#сети @itmxav
🔗 На сайте
Чтобы зеркалировать трафик надо указать куда зеркалировать, откуда и какой трафик (входящий и/или исходящий).
1. Переходим в режим конфигурирования:
system-view
2. Выбираем порт наблюдения. Например 11
observe-port 1 interface GigabitEthernet0/0/11
3. Указываем порт откуда трафик зеркалировать. Например 10:
interface GigabitEthernet 0/0/10
port-mirroring to observe-port 1 both
quit
Если требуется только входящий трафик зеркалироваться, то
port-mirroring to observe-port 1 inbound
Только исходящий
port-mirroring to observe-port 1 outbound
4. Посмотреть порт наблюдения:
display observe-port
5. Посмотреть порт зеркалирования:
display port-mirroring
📝 Другие заметки по Huawei:
- Как задать время на коммутаторе Huawei?
- Как поменять старый пароль на новый на Huawei?
#huawei@itmxav
#сети @itmxav
🔗 На сайте
Как заблокировать сайты на Squid?
Чтобы заблокировать сайты на прокси со Squid надо:
1. Создать список с сайтами для блокировки
или
2. Добавляем сайты в список. Например:
Т.к. работа будет происходить по регулярным выражениям,то точку надо экранировать
3. В начале acl'ов указываем каким адресам надо проверять список. В данном примере 10 сети:
и ниже указываем сам пуст к списку:
4. Перед всеми http_access указываем, что надо блокировать соединения из списка:
5. Проверяем конфиг:
6. Если всё хорошо, то перечитываем конфигурационный файл без остановки Squid:
#linux@itmxav
#сети@itmxav
🔗 На сайте
Чтобы заблокировать сайты на прокси со Squid надо:
1. Создать список с сайтами для блокировки
nano /etc/squid/blacklistsites
или
nano /etc/squid3/blacklistwebsites
2. Добавляем сайты в список. Например:
site1\.ru
site2\.ru
Т.к. работа будет происходить по регулярным выражениям,то точку надо экранировать
3. В начале acl'ов указываем каким адресам надо проверять список. В данном примере 10 сети:
acl url_filtred src 10.0.0.0/8
и ниже указываем сам пуст к списку:
acl blacklistsites url_regex -i "/etc/squid/blacklistwebsites"
4. Перед всеми http_access указываем, что надо блокировать соединения из списка:
http_access deny blacklistsites url_filtred
5. Проверяем конфиг:
squid -k parse
6. Если всё хорошо, то перечитываем конфигурационный файл без остановки Squid:
squid -k reconfigure
#linux@itmxav
#сети@itmxav
🔗 На сайте
Ох уж этот Docker!
Как дальше жить, если кит уплывает:
1. Прописать registry-mirrors
в Linux
или
Для Windows
Для Windows с Docker Desktop
И перечитать конфиг
🙃 Но если скучно и одиноко в этом сером, мрачном мире, то
2. Поднять свой удобный прокси и пустить все через него. Вот здесь описывал как настроить работу Docker через прокси.
📝 Другие заметки по Docker:
- Простая установка Docker
- Как установить docker-compose?
- Как собрать образ из контейнера Docker для отправки в реестр?
- Как работать с Docker под своим пользователем?
- Как узнать ip контейнера docker?
#docker@itmxav
#devops@itmxav
🔗 На сайте
Как дальше жить, если кит уплывает:
1. Прописать registry-mirrors
{ "registry-mirrors" : [ "https://куда-то-там" ] }в Linux
/etc/docker/daemon.json
или
~/.config/docker/daemon.json
Для Windows
C:\ProgramData\docker\config\daemon.json
Для Windows с Docker Desktop
C:\Users\<Пользователь>\.docker\daemon.json
И перечитать конфиг
systemctl reload docker
🙃 Но если скучно и одиноко в этом сером, мрачном мире, то
systemctl restart docker
2. Поднять свой удобный прокси и пустить все через него. Вот здесь описывал как настроить работу Docker через прокси.
📝 Другие заметки по Docker:
- Простая установка Docker
- Как установить docker-compose?
- Как собрать образ из контейнера Docker для отправки в реестр?
- Как работать с Docker под своим пользователем?
- Как узнать ip контейнера docker?
#docker@itmxav
#devops@itmxav
🔗 На сайте
Продолжая тему блокирования обновлений Firefox..
Несмотря на разные способы блокировки иногда каким-то образом Firefox умудряется обновляться и роняет открытые вкладки. Как вариант, можно использовать версию Firefox Developer Edition. В основных настройках есть пункт "Проверять наличие обновлений, но позволять вам решать, устанавливать ли их". На версии для Linux точно такое есть.Скорее всего уведомление о новых версиях будет часто появляться, но хоть так можно рулить обновлениями Firefox.
#разное@itmxav
🔗 На сайте
Несмотря на разные способы блокировки иногда каким-то образом Firefox умудряется обновляться и роняет открытые вкладки. Как вариант, можно использовать версию Firefox Developer Edition. В основных настройках есть пункт "Проверять наличие обновлений, но позволять вам решать, устанавливать ли их". На версии для Linux точно такое есть.Скорее всего уведомление о новых версиях будет часто появляться, но хоть так можно рулить обновлениями Firefox.
#разное@itmxav
🔗 На сайте
Ошибка target is busy при umount
Иногда при отмонтировании можно получить ошибку "target is busy".
1. Это значит, что какая-то программа работает ещё с тем, что нужно отмонтировать
2. С помощью lsof можно узнать какой процесс задействован.
Получили вот такой примерный вывод
3. В данном случае у нас задействован процесс с PID 2463085. Точнее работает BASH. И правда был открыт терминал и находились именно в /path/to/target. После закрытия терминала или перехода в другую папку всё отмонтировалось как надо.
#linux@itmxav
🔗 На сайте
Иногда при отмонтировании можно получить ошибку "target is busy".
1. Это значит, что какая-то программа работает ещё с тем, что нужно отмонтировать
sudo umount /path/to/target
umount: /path/to/target: target is busy
2. С помощью lsof можно узнать какой процесс задействован.
sudo lsof /path/to/target
Получили вот такой примерный вывод
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
lsof: WARNING: can't stat() fuse file system /run/user/1000/doc
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 2463085 user cwd DIR 7,65 2048 1792 /path/to/target
3. В данном случае у нас задействован процесс с PID 2463085. Точнее работает BASH. И правда был открыт терминал и находились именно в /path/to/target. После закрытия терминала или перехода в другую папку всё отмонтировалось как надо.
sudo umount /path/to/target
#linux@itmxav
🔗 На сайте
❕Новости про видео
Решил разделить видео на 3 основный направления:
1. SlowHowTo – видео, где объясняется, поясняется, что делается и зачем. Видео для тех, кто хочет послушать комментарии или объяснения того, что происходит. Длинные, «душные» видео.
2. FastHowTo – видео, где нет объяснений, а только показывается, как сделать что-то. Видео для тех, кто хочет быстро узнать, как сделать то или иное. Короткие видео.
3. FunnyHowTo - видео, где могут быть разные нестандартные подходы к решению задач, просто видео на тему «сделаю, потому что могу» или какой-то развлекательный контент.
Зачем это надо?
Очевидно, что все люди разные по уровню знаний. Для кого-то достаточно показать что-то без объяснений и всё станет понятно. Для кого-то нужны комментарии, пояснения, объяснений, а не просто «сделай так, так и вот так». Кто-то хочет отвлечься от загруженности по своим задачам, но есть потребность в развлекательном контенте.
Как понять где какое видео?
Все просто. В названии видео будет нужный тег [SlowHowTo], [FastHowTo] или [FunnyHowTo]. Также в ТГ в постах тоже будет указываться нужный тег #SlowHowTo #FastHowTo #FunnyHowTo
Через навигационное сообщение в ТГ можно легко найти всё и на сайте тоже будут теги, разделы.
🔗 На сайте
Решил разделить видео на 3 основный направления:
1. SlowHowTo – видео, где объясняется, поясняется, что делается и зачем. Видео для тех, кто хочет послушать комментарии или объяснения того, что происходит. Длинные, «душные» видео.
2. FastHowTo – видео, где нет объяснений, а только показывается, как сделать что-то. Видео для тех, кто хочет быстро узнать, как сделать то или иное. Короткие видео.
3. FunnyHowTo - видео, где могут быть разные нестандартные подходы к решению задач, просто видео на тему «сделаю, потому что могу» или какой-то развлекательный контент.
Зачем это надо?
Очевидно, что все люди разные по уровню знаний. Для кого-то достаточно показать что-то без объяснений и всё станет понятно. Для кого-то нужны комментарии, пояснения, объяснений, а не просто «сделай так, так и вот так». Кто-то хочет отвлечься от загруженности по своим задачам, но есть потребность в развлекательном контенте.
Как понять где какое видео?
Все просто. В названии видео будет нужный тег [SlowHowTo], [FastHowTo] или [FunnyHowTo]. Также в ТГ в постах тоже будет указываться нужный тег #SlowHowTo #FastHowTo #FunnyHowTo
Через навигационное сообщение в ТГ можно легко найти всё и на сайте тоже будут теги, разделы.
🔗 На сайте
Небольшая заметка по Markdown
В Википедии говорится ,что
Заголовки
Их можно определить следующим образом
Альтернативный вариант
Цитаты
Ссылки
Списки
Неупорядоченный
Упорядоченный
Списки можно комбинировать.
Ссылки
Таблицы
Пример таблицы с 3 столбцами и 3 строками, включая названия
Способы есть разные выделения того или иного текста, ссылок, таблиц и т.п. Здесь для себя оставил некоторые моменты. Возможно, позже дополню. Если есть что добавить, то пишите.
Доп.материалы:
- Онлайн редактор
- Статья на Habr
- Статья на doka.guide
#разное@itmxav
🔗 На сайте
В Википедии говорится ,что
Markdown (МФА: [ˈmɑːkdaʊn], произносится маркда́ун) — облегчённый язык разметки, созданный с целью обозначения форматирования в простом тексте, с максимальным сохранением его читаемости человеком, и пригодный для машинного преобразования в языки для продвинутых публикаций (HTML, Rich Text и других).
Заголовки
Их можно определить следующим образом
# Заголовок первого уровня #
## Заголовок второго уровня ##
### Заголовок третьего уровня ###
Альтернативный вариант
Заголовок первого уровня
========================
Заголовок второго уровня
------------------------
Цитаты
> Текст цитаты
Ссылки
[Текст ссылки](http://example.com/ "Необязательный заголовок ссылки")
Списки
Неупорядоченный
- Первый элемент
- Второй элемент
- Вложенный первый элемент
- Вложенный первый элемент
- Вложенный второй элемент
- Третий элемент
Упорядоченный
+ Первый элемент
+ Второй элемент
+ Вложенный первый элемент
+ Вложенный первый элемент
+ Вложенный второй элемент
+ Третий элемент
Списки можно комбинировать.
Ссылки
\\Текст ссылки\http://ссылка_на_ресурс/\\
Текст перед ссылкой: \\http://ссылка_на_ресурс/\\
Таблицы
Пример таблицы с 3 столбцами и 3 строками, включая названия
! **1 столбец**
! **2 столбец**
! **3 столбец**
! Название в первом стобце 2 строке
! Текст во втором столбце второй строки.
! Текст в третьем столбце второй строки.
! Название во втором стобце 3 строке
! Текст во втором столбце третьей строки.
! Текст в третьем столбце третьей строки.
Способы есть разные выделения того или иного текста, ссылок, таблиц и т.п. Здесь для себя оставил некоторые моменты. Возможно, позже дополню. Если есть что добавить, то пишите.
Доп.материалы:
- Онлайн редактор
- Статья на Habr
- Статья на doka.guide
#разное@itmxav
🔗 На сайте