Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
MikroTik Scripting
Lesson 1 - Development environment
Lesson 2 - Hello World
Lesson 3 (Part 1): Probe 1 - Temperature Checker
Lesson 3 (Part 2): Probe 1 - Temperature Checker
Lesson 04 (Part 1): Probe 2 - Interface Utilization Monitor
Lesson 04 (Part 2): Probe 2 - Interface Utilization Monitor
Lesson 05 (Part 1): Probe 3 - Web Monitor
Lesson 05 (Part 2): Probe 3 - Web Monitor
Lesson 06 (Part 1): Telegram Reporter
Lesson 06 (Part 2): Telegram Reporter
Lesson 06 (Part 3): Telegram Reporter
источник
👉@i_linux
Lesson 1 - Development environment
Lesson 2 - Hello World
Lesson 3 (Part 1): Probe 1 - Temperature Checker
Lesson 3 (Part 2): Probe 1 - Temperature Checker
Lesson 04 (Part 1): Probe 2 - Interface Utilization Monitor
Lesson 04 (Part 2): Probe 2 - Interface Utilization Monitor
Lesson 05 (Part 1): Probe 3 - Web Monitor
Lesson 05 (Part 2): Probe 3 - Web Monitor
Lesson 06 (Part 1): Telegram Reporter
Lesson 06 (Part 2): Telegram Reporter
Lesson 06 (Part 3): Telegram Reporter
источник
👉@i_linux
👍2🔥2❤1🎉1
Протоколы семейства TCP/IP. Теория и практика
В сети можно найти огромное количество материала о том, как функционируют сети на базе стека протоколов TCP/IP, а также как писать компьютерные программы с сетевыми возможностями. При рассмотрении компьютерных сетей часто углубляются в описание физических основ и структур данных, передаваемых по сети, а при рассмотрении сетевого программирования основное внимание уделяют интернет-сокетам.
Но при изучении и исследовании хочется большего, например, поэкспериментировать с пакетами сетевых протоколов. Многие сетевые протоколы реализованы в ядре операционной системы, и что-либо изменить может оказаться сложной задачей, так как это требует навыков в написании драйверов для операционной системы. Но использование специализированных библиотек позволяет работать с протоколами на низком уровне из пространства пользователя.
В ходе работы над статьёй я написал небольшое приложение, которое послужит отправной точкой для понимания компьютерных сетей и семейства протоколов TCP/IP. С приложением можно экспериментировать, получая дополнительные знания.
Приложение — простое и понятное и, надеюсь, упростит изучение материалов статьи. Ведь именно радость первой победы даёт мотивацию, достаточную для того, чтобы потратить гораздо больше времени на изучение темы.
В статье изложены наиболее важные с моей точки зрения понятия, которые должен знать любой программист, хоть как-то сталкивающийся с компьютерными сетями. Так что без теоретических сведений не обошлось.
Приложение доступно на GitHub.
https://habr.com/ru/companies/ruvds/articles/759988/
👉@i_linux
В сети можно найти огромное количество материала о том, как функционируют сети на базе стека протоколов TCP/IP, а также как писать компьютерные программы с сетевыми возможностями. При рассмотрении компьютерных сетей часто углубляются в описание физических основ и структур данных, передаваемых по сети, а при рассмотрении сетевого программирования основное внимание уделяют интернет-сокетам.
Но при изучении и исследовании хочется большего, например, поэкспериментировать с пакетами сетевых протоколов. Многие сетевые протоколы реализованы в ядре операционной системы, и что-либо изменить может оказаться сложной задачей, так как это требует навыков в написании драйверов для операционной системы. Но использование специализированных библиотек позволяет работать с протоколами на низком уровне из пространства пользователя.
В ходе работы над статьёй я написал небольшое приложение, которое послужит отправной точкой для понимания компьютерных сетей и семейства протоколов TCP/IP. С приложением можно экспериментировать, получая дополнительные знания.
Приложение — простое и понятное и, надеюсь, упростит изучение материалов статьи. Ведь именно радость первой победы даёт мотивацию, достаточную для того, чтобы потратить гораздо больше времени на изучение темы.
В статье изложены наиболее важные с моей точки зрения понятия, которые должен знать любой программист, хоть как-то сталкивающийся с компьютерными сетями. Так что без теоретических сведений не обошлось.
Приложение доступно на GitHub.
https://habr.com/ru/companies/ruvds/articles/759988/
👉@i_linux
👍2❤1🔥1
CCNA 200-301
How to Create Layer 3 Ether Channel On Cisco Switch
How to Configure IP Routing with Layer 3 Switch SVI
How to Convert IPv6 Address to IPv6 EUI-64 Format
How to Configure IPv6 routing using Link Local IPv6 address
How to Configure Cisco Wireless Access Point
👉@i_linux
How to Create Layer 3 Ether Channel On Cisco Switch
How to Configure IP Routing with Layer 3 Switch SVI
How to Convert IPv6 Address to IPv6 EUI-64 Format
How to Configure IPv6 routing using Link Local IPv6 address
How to Configure Cisco Wireless Access Point
👉@i_linux
👍2❤1🔥1🎉1
Команды Linux: Пользователи и группы
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 — изменить атрибуты пользователя
chage -E 2005-12-31 user1 — установить дату окончания действия учётной записи пользователя user1
👉@i_linux
groupadd group_name — создать новую группу с именем group_namegroupdel group_name — удалить группу group_namegroupmod -n new_group_name old_group_name — переименовать группу old_group_name в new_group_nameuseradd -c "Nome Cognome" -g admin -d /home/user1 -s /bin/bash user1 — создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell'а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognomeuseradd user1 — создать пользователя user1userdel -r user1 — удалить пользователя user1 и его домашний каталогusermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 — изменить атрибуты пользователя
passwd — сменить парольpasswd user1 — сменить пароль пользователя user1 (только root)chage -E 2005-12-31 user1 — установить дату окончания действия учётной записи пользователя user1
pwck — проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadowgrpck — проверяет корректность системных файлов учётных записей. Проверяется файл/etc/groupnewgrp [-] group_name — изменяет первичную группу текущего пользователя. Если указать «-», ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd👉@i_linux
👍3❤1
Шпаргалка по часто используемым командам systemctl
1. Посмотреть статус службы. Покажет статус службы на примере сети network
2. Запустить сервис. Запустит сервис баз данных на примере mysql
3. Остановить службу. Остановит сервис времени ntpd
4. Перезапустить службу. Перезапустит веб-сервер nginx
5. Включить автозапуск службы. Разрешит автозапуск веб-сервера apache
6. Отключить автозапуск службы. Запретит автозапуск брандмауэра firewalld
7. Выполнить команду на удаленной системе. Остановит cron на компьютере с IP-адресом 192.168.0.15, подключившись под учетной записью root
8. Перезагрузить сервер. Перезагрузит локальный сервер
9. Проверка работы сервиса. Выполняется с помощью опции is-active. В данном примере мы проверим работу службы docker.
а) Если сервис запущен, мы увидим:
active
б) Если не запущен:
failed
... или:
inactive
в) Если такого сервиса нет в системе:
unknown
... или:
inactive
Если сервис не работает или его нет в системе, команда вернет код ошибки, таким образом конструкция:
... приведет к выполнению команды docker run hello-world только в том случае, если сервис docker работает.
👉@i_linux
1. Посмотреть статус службы. Покажет статус службы на примере сети network
systemctl status network2. Запустить сервис. Запустит сервис баз данных на примере mysql
systemctl start mysql3. Остановить службу. Остановит сервис времени ntpd
systemctl stop ntpd4. Перезапустить службу. Перезапустит веб-сервер nginx
systemctl restart nginx5. Включить автозапуск службы. Разрешит автозапуск веб-сервера apache
systemctl enable apache6. Отключить автозапуск службы. Запретит автозапуск брандмауэра firewalld
systemctl disable firewalld7. Выполнить команду на удаленной системе. Остановит cron на компьютере с IP-адресом 192.168.0.15, подключившись под учетной записью root
systemctl --host root@192.168.0.15 stop cron8. Перезагрузить сервер. Перезагрузит локальный сервер
systemctl reboot9. Проверка работы сервиса. Выполняется с помощью опции is-active. В данном примере мы проверим работу службы docker.
systemctl is-active dockerа) Если сервис запущен, мы увидим:
active
б) Если не запущен:
failed
... или:
inactive
в) Если такого сервиса нет в системе:
unknown
... или:
inactive
Если сервис не работает или его нет в системе, команда вернет код ошибки, таким образом конструкция:
systemctl is-active docker && docker run hello-world... приведет к выполнению команды docker run hello-world только в том случае, если сервис docker работает.
👉@i_linux
🔥2👍1
Простое копирование ssh ключей между серверами c использованием утилиты ssh-copy-id
Традиционно администраторы решают задачу копирования ssh ключей между серверами путем копирования содержимого файла /root/.ssh/id_rsa.pub с сервера server1 на server2 в файл /root/.ssh/authorized_keys. Копируют обычно из одного терминала в другой, но есть более изящное решение — это использование утилиты ssh-copy-id, которая позволяет скопировать содержимое id_rsa.pub сервера источник (в нашем случае server1) на сервер приемник (server2) в нужный нам authorized_keys не открывая консоль сервера приемника (server2).
Исходные данные: 2 сервера с Debian (server1 и server2).
Задача: Организовать вход по ssh ключу с сервера server1 на server2 с правами root.
Итак сделаем все по порядку:
1. Генерируем публичный открытый и закрытый ключи, под пользователем root на server1:
Если на сервере уже есть эти ключи, то он выдаст предупреждение, где нужно будет либо подтвердить замену старых ключей либо отказаться.
Мы создаем ключи впервые, поэтому предупреждения не будет, будет выведена примерно такая информация:
Вы можете защитить приватный ключ паролем и тогда чтобы попасть на сервер server2 по ssh ключу нужно будет ввести этот пароль, я настоятельно рекомендую для доступа с уровнем root ввести пароль на приватный ключ.
Ключи сгенерированы, мы можем проверить под пользователем root выполнив команду
В ответ увидим примерно:
Теперь нужно передать публичный ключ id_rsa.pub пользователя root на server2, для этого на server1 выполняем:
Вводим пароль root от сервера server2 и ключ будет передан и записан в нужный файл authorized_keys
Важное уточнение: Чтобы передать публичный ключ на server2 под root нужно чтобы пользователю root было разрешен вход по ssh на server2, обычно при базовой установке Debian/Ubuntu вход под root по ssh разрешен, это настраивается директивой PermitRootLogin в файле /etc/ssh/sshd_config
PermitRootLogin yes — Вход под root по ssh разрешен.
PermitRootLogin no — Вход под root по ssh запрещен.
PermitRootLogin without-password — Вход под root по ssh разрешен только по ssh ключам.
PermitRootLogin forced-commands-only — Вход под root по ssh разрешен только по ssh ключам и только для выполнения заранее определенной команды, сама команда прописывается в /root/.ssh/authorized_keys в формате:
После изменения PermitRootLogin не забудьте перезапустить службу sshd командой:
👉@i_linux
Традиционно администраторы решают задачу копирования ssh ключей между серверами путем копирования содержимого файла /root/.ssh/id_rsa.pub с сервера server1 на server2 в файл /root/.ssh/authorized_keys. Копируют обычно из одного терминала в другой, но есть более изящное решение — это использование утилиты ssh-copy-id, которая позволяет скопировать содержимое id_rsa.pub сервера источник (в нашем случае server1) на сервер приемник (server2) в нужный нам authorized_keys не открывая консоль сервера приемника (server2).
Исходные данные: 2 сервера с Debian (server1 и server2).
Задача: Организовать вход по ssh ключу с сервера server1 на server2 с правами root.
Итак сделаем все по порядку:
1. Генерируем публичный открытый и закрытый ключи, под пользователем root на server1:
ssh-keygen -t rsaЕсли на сервере уже есть эти ключи, то он выдаст предупреждение, где нужно будет либо подтвердить замену старых ключей либо отказаться.
Мы создаем ключи впервые, поэтому предупреждения не будет, будет выведена примерно такая информация:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <-- ENTER
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <-- ENTER
Enter same passphrase again: <-- ENTER
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.Вы можете защитить приватный ключ паролем и тогда чтобы попасть на сервер server2 по ssh ключу нужно будет ввести этот пароль, я настоятельно рекомендую для доступа с уровнем root ввести пароль на приватный ключ.
Ключи сгенерированы, мы можем проверить под пользователем root выполнив команду
cat ~/.ssh/id_rsa.pubВ ответ увидим примерно:
ssh-rsa AAAAB3Nz.....ywWmpl root@server1Теперь нужно передать публичный ключ id_rsa.pub пользователя root на server2, для этого на server1 выполняем:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@server2Вводим пароль root от сервера server2 и ключ будет передан и записан в нужный файл authorized_keys
Важное уточнение: Чтобы передать публичный ключ на server2 под root нужно чтобы пользователю root было разрешен вход по ssh на server2, обычно при базовой установке Debian/Ubuntu вход под root по ssh разрешен, это настраивается директивой PermitRootLogin в файле /etc/ssh/sshd_config
PermitRootLogin yes — Вход под root по ssh разрешен.
PermitRootLogin no — Вход под root по ssh запрещен.
PermitRootLogin without-password — Вход под root по ssh разрешен только по ssh ключам.
PermitRootLogin forced-commands-only — Вход под root по ssh разрешен только по ssh ключам и только для выполнения заранее определенной команды, сама команда прописывается в /root/.ssh/authorized_keys в формате:
command="rsync" ssh-rsa AAAAB3N……. root@server2После изменения PermitRootLogin не забудьте перезапустить службу sshd командой:
service sshd restart👉@i_linux
👍2❤1🔥1
Конвертация PFX в CRT и KEY
Для ECDSA:
Если pfx запаролен, будет запрошен Import Password.
Для RSA:
Если pfx запаролен, будет запрошен Import Password. Ключ сперва сохраняется в зашифрованном виде, для этого требуется задать PEM pass, который затем нужно указать при расшифровке ключа.
👉@i_linux
Для ECDSA:
openssl pkcs12 -in certificate_ECDSA.pfx -out certificate_ECDSA.key -nodes -nocerts
openssl pkcs12 -in certificate_ECDSA.pfx -out certificate_ECDSA.crt -nokeysЕсли pfx запаролен, будет запрошен Import Password.
Для RSA:
openssl pkcs12 -in certificate_RSA.pfx -clcerts -nokeys -out certificate_RSA.crt
openssl pkcs12 -in certificate_RSA.pfx -nocerts -out certificate_RSA-encrypted.key
openssl rsa -in certificate_RSA-encrypted.key -out certificate_RSA.keyЕсли pfx запаролен, будет запрошен Import Password. Ключ сперва сохраняется в зашифрованном виде, для этого требуется задать PEM pass, который затем нужно указать при расшифровке ключа.
👉@i_linux
👍1