пятница, 1 ноября 2024 г.

WireGuard - установка через скрипт Nyr/wireguard-install на все ОС

 Установка на Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS и Fedora выполняется одной командой:

# wget https://git.io/wireguard -O wireguard-install.sh && bash wireguard-install.sh

Протестировано успешно на

CentOS 7
Ubuntu 18.04
Ubuntu 20.04
Ubuntu 22.04
Debian 11


По-умолчанию wireguard работает на 51820 порту

Проверить статус работы сервиса wireguard:

# systemctl status wg-quick@wg0.service
  • wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0
    Loaded: loaded (/lib/systemd/system/wg-quick@.service; enabled; vendor preset: enabled)
    Active: active (exited) since Fri 2022-12-16 05:55:46 UTC; 7min ago
      Docs: man:wg-quick(8)
            man:wg(8)
            https://www.wireguard.com/
            https://www.wireguard.com/quickstart/
            https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8
            https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8
   Process: 15695 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=0/SUCCESS)
  Main PID: 15695 (code=exited, status=0/SUCCESS)

Ссылка на github скрипта:

https://github.com/Nyr/wireguard-install

четверг, 24 октября 2024 г.

Шпаргалка по systemd

 Основные команды systemctl:


1. Проверка статуса службы:

   


   systemctl status <имя_сервиса>

   


2. Запуск службы:

   


   systemctl start <имя_сервиса>

   


3. Остановка службы:

   


   systemctl stop <имя_сервиса>

   


4. Перезапуск службы:

   


   systemctl restart <имя_сервиса>

   


5. Перезагрузка, только если служба работает:

   


   systemctl reload <имя_сервиса>

   


6. Включить автозапуск службы при загрузке:

   


   systemctl enable <имя_сервиса>

   


7. Отключить автозапуск службы:

   


   systemctl disable <имя_сервиса>

   


8. Показать все запущенные службы:

   


   systemctl list-units --type=service

   


9. Просмотр всех служб (включая остановленные):

   


   systemctl list-units --all --type=service

   


10. Показать все активные сервисы, включая другие юниты (mount, timer и т.д.):

    


    systemctl list-units --state=active

    


11. Маскировка службы (запрет её запуска):

    


    systemctl mask <имя_сервиса>

    


12. Демаскировка службы:

    


    systemctl unmask <имя_сервиса>

    

Шпаргалка по основным командам и настройкам MikroTik (RouterOS)

 1. Основные команды работы с MikroTik:

   

#### Просмотр конфигурации

- /export — экспорт текущей конфигурации.

- /interface print — вывод списка интерфейсов.

- /ip address print — вывод списка IP-адресов.

- /ip route print — вывод таблицы маршрутизации.

- /ip firewall filter print — вывод правил файрвола.


#### Управление интерфейсами

- /interface enable [имя_интерфейса] — включить интерфейс.

- /interface disable [имя_интерфейса] — отключить интерфейс.

- /interface set [имя_интерфейса] mtu=1500 — изменение MTU на интерфейсе.


#### Управление IP-адресами

- /ip address add address=192.168.1.1/24 interface=[имя_интерфейса] — добавить IP-адрес на интерфейс.

- /ip address remove [номер] — удалить IP-адрес по номеру из списка.


#### Настройка маршрутизации

- /ip route add dst-address=0.0.0.0/0 gateway=[ip-шлюза] — добавить маршрут по умолчанию (интернет).

- /ip route remove [номер] — удалить маршрут.


2. Настройка DHCP:


#### Настройка DHCP-сервера

- /ip dhcp-server setup — пошаговая настройка DHCP-сервера.

- /ip dhcp-server print — просмотр текущих DHCP-серверов.

- /ip dhcp-server lease print — просмотр выданных IP-адресов (lease).

- /ip dhcp-server network add address=192.168.1.0/24 gateway=192.168.1.1 — добавить сеть для раздачи IP-адресов.


#### Настройка DHCP-клиента

- /ip dhcp-client add interface=[имя_интерфейса] — добавить DHCP-клиента на интерфейс.

- /ip dhcp-client print — просмотр DHCP-клиентов.


3. Настройка NAT (для интернета):


- /ip firewall nat add chain=srcnat action=masquerade out-interface=[интерфейс_WAN] — добавить правило NAT для выхода в интернет.


4. Настройка VLAN:


- /interface vlan add name=vlan10 vlan-id=10 interface=[имя_интерфейса] — создать VLAN с идентификатором 10 на интерфейсе.

- /interface bridge vlan add bridge=[имя_моста] tagged=[интерфейс] vlan-ids=10 — добавить VLAN в мост.


5. Настройка Firewall (Базовые правила):


- /ip firewall filter add chain=input action=accept connection-state=established,related — разрешить уже установленные соединения.

- /ip firewall filter add chain=input action=drop connection-state=invalid — отбросить невалидные пакеты.

- /ip firewall filter add chain=forward action=drop connection-state=invalid — запретить невалидные соединения в цепочке forward.


6. Настройка PPPoE (подключение к интернету через PPPoE):

   

- /interface pppoe-client add name=pppoe-out1 user=[логин] password=[пароль] interface=[WAN-интерфейс] — создать PPPoE-клиента.

- /ip route add gateway=pppoe-out1 — добавить маршрут через PPPoE.


7. Сохранение и восстановление конфигурации:


#### Сохранение:

- /system backup save name=[имя_файла] — сохранить полную конфигурацию.

- /export file=[имя_файла] — экспорт конфигурации в текстовый файл.


#### Восстановление:

- /system backup load name=[имя_файла] — загрузить сохраненную конфигурацию.

- /import file=[имя_файла] — импортировать текстовую конфигурацию.


8. Диагностика:


- /ping [ip-адрес] — пинг IP-адреса.

- /tool traceroute [ip-адрес] — трассировка до IP-адреса.

- /tool bandwidth-test address=[ip-адрес] direction=both — тест скорости соединения.


9. Работа с пользователями:


- /user add name=[имя_пользователя] group=full password=[пароль] — добавить пользователя с полными правами.

- /user remove [имя_пользователя] — удалить пользователя.

- /user print — показать список пользователей.


0. Операции с логами:


- /log print — просмотр последних логов.

- /log print where topics~"[firewall]" — просмотр логов по определенной теме, например, firewall.

среда, 2 октября 2024 г.

iptables: как управлять правилами фильтрации трафика

 Команда iptables — это основной инструмент для настройки фильтрации сетевого трафика в Linux. 


Она позволяет управлять таблицами правил, которые контролируют входящий, исходящий и пересылаемый трафик, определяя, какие пакеты можно пропускать, а какие блокировать.


Основные параметры iptables


⏺-A (Append) — добавляет правило в конец цепочки.


iptables -A INPUT -s 192.168.1.1 -j DROP


Пример: блокировка трафика от IP-адреса 192.168.1.1 на вход.


⏺-I (Insert) — вставляет правило в определенное место в цепочке.


iptables -I INPUT 1 -s 10.0.0.1 -j ACCEPT


Пример: разрешение трафика от IP-адреса 10.0.0.1, вставив правило на первую позицию в цепочке.


⏺-D (Delete) — удаляет правило.


iptables -D INPUT 2


Пример: удаление второго правила в цепочке INPUT.


⏺-L (List) — выводит список всех правил в таблице.


iptables -L


Пример: отображение всех активных правил.


⏺-F (Flush) — очищает все правила в цепочке.


iptables -F INPUT


Пример: очистка цепочки INPUT.


Цепочки и политики


• INPUT — отвечает за входящий трафик.

• OUTPUT — управляет исходящим трафиком.

• FORWARD — отвечает за пересылаемый трафик.

Пример для политики по умолчанию, которая блокирует весь входящий трафик:


iptables -P INPUT DROP


Действия (targets)


1️⃣ACCEPT — разрешает пакет.


iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT


Пример: разрешение пакетов из подсети 192.168.0.0/24.


2️⃣DROP — блокирует пакет.


iptables -A FORWARD -d 10.0.0.0/8 -j DROP


Пример: блокировка пересылаемого трафика для сети 10.0.0.0/8.


3️⃣REJECT — блокирует пакет с уведомлением отправителю.


iptables -A INPUT -p tcp --dport 22 -j REJECT

воскресенье, 29 сентября 2024 г.

Конфигурация сетевых интерфейсов через nmcli

 В общем виде синтаксис выглядит так:

nmcli <options> <section> <action>

Настройка интерфейса

  • con — сокращенно от connection (можно писать сокращенно или полностью)
  • mod — сокращенно от modify (можно писать сокращенно или полностью)
  • dev — сокращенно от device (можно писать сокращенно или полностью)
  • ens33 — имя интерфейса
  • ipv4.addresses — семейство протокола ipv4

Видео к статье можно посмотреть тут

Переименовать имя соединения:

nmcli con mod  "Wired connection 1" con-name "lan"

Установка адреса в ручном режиме:

nmcli con mod ens33 ipv4.method manual

Получить IP адрес автоматически через DHCP:

nmcli con mod ens33 ipv4.method auto

Установить IP адрес:

nmcli con mod ens33 ipv4.addresses 192.168.100.25/24

Удалить IP адрес:

nmcli con mod ens33 ipv4.addresses ""

Установить шлюз по умолчанию:

nmcli con mod ens33 ipv4.gateway  20.20.20.1

Удалить шлюз по умолчанию:

nmcli con mod ens33 ipv4.gateway ""

Установить DNS:

nmcli con mod ens33 ipv4.dns 8.8.8.8

Удалить DNS адрес:

nmcli con mod ens33 ipv4.dns ""

Включить интерфейс:

nmcli con up ens33

Выключить интерфейс:

nmcli con down ens33

Добавить дополнительный IP адрес:

nmcli con mod ens33 +ipv4.addresses "192.168.180.189/24"

Удалить IP адрес (второй вариант):

nmcli con mod ens33 -ipv4.addresses "192.168.8.189/24"

Добавить VLAN c тегом 21 на физический интерфейс ens33 (InterVLAN):

nmcli con add type vlan con-name VLAN21 ifname VLAN21 dev ens33 id 21

Установить IP адрес VLAN интерфейсу:

nmcli con mod VLAN21 ipv4.addresses 172.10.10.11/24

Команды диагностики

Cостояние всех интерфейсов:

nmcli dev status

Краткое состоянии всех интерфейсов:

nmcli -t dev

Cостояние физических интерфейсов и их UUID:

nmcli con show

Информация о конкретном интерфейсе:

nmcli dev show ens33

Информация о соединении интерфейса:

nmcli con show ens33

Маршрутизация

Посмотреть таблицу маршрутизации:

ip route

Добавить временный маршрут на сеть 192.168.2.0/24 через 192.168.100.1:

ip route add 192.168.2.0/24 via 192.168.100.1

Изменить временный маршрут:

ip route change 192.168.2.0/24 via 192.168.8.10

Добавить второй временный шлюз для сети 192.168.2.0/24 (балансировка маршрута):

ip route append 192.168.2.0/24 via 192.168.8.11

Удалить временный маршрут на сеть 192.168.2.0/24 через 192.168.8.12:

ip route del 192.168.2.0/24 via 192.168.8.11

Удалить временный маршрут на сеть 192.168.2.0/24 :

ip route del 192.168.2.0/24

Добавить постоянный маршрут на сеть 192.168.2.0/24 через 192.168.8.2 на интерфейсе ens33:

nmcli con mod ens33 +ipv4.routes "192.168.2.0/24 192.168.8.54" 
nmcli con up ens33 

Удалить маршрут на сеть 192.168.2.0/24 через 192.168.8.2 на интерфейсе ens33:

nmcli con mod ens33 -ipv4.routes "192.168.2.0/24 192.168.8.54" 
nmcli con up ens33 

Изменить метрику на интерфейсе:

nmcli con mod ens33 ipv4.route-metric 400
nmcli con up ens33

Изменить mtu на интерфейсе:

nmcli con mod ens33  ethernet.mtu 1600
nmcli con up ens33

пятница, 20 сентября 2024 г.

OpenWRT: Основные команды для управления и настройки

 OpenWRT - это мощная встроенная операционная система с открытым исходным кодом, предназначенная для маршрутизаторов и других устройств сетевого оборудования. Она предоставляет пользователям гибкие инструменты для настройки сетей и обеспечивает высокий уровень контроля над функциональностью устройства. В этой статье мы рассмотрим основные команды OpenWRT, необходимые для эффективного управления и настройки сетевых устройств.

Управление пакетами с opkg

Opkg - это система управления пакетами, используемая в OpenWRT. Эта команда позволяет устанавливать, обновлять и удалять программные пакеты на устройстве.

# Установка пакета

opkg install package_name

# Обновление всех установленных пакетов

opkg update && opkg upgrade

# Удаление пакета

opkg remove package_name

Управление конфигурацией с uci

Uci (Unified Configuration Interface) предоставляет единый способ настройки параметров OpenWRT. Эта команда позволяет изменять конфигурационные файлы.

# Просмотр текущих настроек

uci show

# Изменение конфигурации

uci set config.section.option=value && uci commit

Настройка сетевых интерфейсов с ifconfig и ip

Команды ifconfig и ip используются для настройки сетевых интерфейсов, включая установку IP-адресов и управление состоянием интерфейсов.

# Просмотр активных интерфейсов

fconfig

# Настройка IP-адреса

ifconfig interface_name ip_address netmask subnet_mask

# Включение/отключение интерфейса

ifconfig interface_name up/down

Управление файрволлом с iptables

Iptables предоставляет средства управления файрволлом. Это необходимо для контроля трафика в сети.

# Просмотр правил файрволла

iptables -L

# Добавление правила

iptables -A chain_name -j target

# Удаление правила

iptables -D chain_name rule_number

Управление беспроводными интерфейсами с wifi

Команда wifi предоставляет возможность управления беспроводными интерфейсами и настройкой параметров Wi-Fi.

# Просмотр текущих настроек Wi-Fi

wifi status

# Включение/отключение беспроводного интерфейса

wifi up/down

# Перезагрузка беспроводных настроек

wifi reload

Просмотр системных логов с logread

Команда logread используется для просмотра системных журналов, что помогает отслеживать события и ошибки в системе.

# Просмотр последних записей в журнале

logread

Управление беспроводными интерфейсами с iw

Команда iw предоставляет инструменты для управления беспроводными интерфейсами.

# Просмотр информации о беспроводном интерфейсе

iw dev

# Сканирование беспроводных сетей

iw dev wlan0 scan

# Настройка параметров беспроводного интерфейса

iw dev wlan0 set power_save on

Управление маршрутами с route

Команда route используется для просмотра и управления таблицей маршрутизации.

# Просмотр текущих маршрутов

route -n

# Добавление маршрута

route add -net destination_ip netmask subnet_mask gw gateway_ip

# Удаление маршрута

route del -net destination_ip netmask subnet_mask

Управление процессами с ps

Команда ps предоставляет информацию о текущих процессах и позволяет завершать их выполнение.

# Просмотр всех процессов

ps aux

# Поиск процесса

ps | grep process_name

# Завершение процесса kill -9 process_id

10. Информация о сетевых подключениях с netstat

Команда netstat предоставляет информацию о сетевых подключениях и состоянии сетевых интерфейсов.

# Просмотр открытых сетевых подключений

netstat -tulpn

# Отображение статистики сетевых интерфейсов

netstat -i

Информация о дисковом пространстве с df

Команда df используется для отображения информации о дисковом пространстве.

# Просмотр места на диске

df -h

# Подробная информация о месте на диске

df -i

Эти команды предоставляют основные инструменты для эффективной настройки и управления OpenWRT. При использовании этих команд рекомендуется обращаться к документации OpenWRT и форумам сообщества для получения более подробной информации и поддержки. Работа с OpenWRT может быть удобнее с использованием интерфейса.

В дополнение к командной строке OpenWRT предоставляет графический интерфейс управления, известный как LuCI (Luci Web Interface). Этот интерфейс облегчает визуальную настройку и мониторинг устройства.

Доступ к LuCI:

Для доступа к LuCI, откройте веб-браузер и введите IP-адрес вашего устройства в адресной строке. Обычно это http://192.168.1.1. Введите учетные данные, предоставленные при первом входе.

Управление интерфейсами:

В LuCI можно настраивать сетевые интерфейсы, включая LAN, WAN, Wi-Fi и другие. Интерфейс предоставляет простые формы для изменения IP-адресов, DHCP-настроек и других параметров.

Настройка беспроводной сети:

В разделе "Network" можно управлять беспроводными настройками, включая настройку точек доступа, безопасности и каналов.

Настройка файрволла:

Раздел "Network" также предоставляет возможность настройки правил файрволла через графический интерфейс, что упрощает добавление, изменение и удаление правил.

Пакетный менеджер в LuCI:

LuCI также предоставляет графический интерфейс для управления пакетами. Вы можете устанавливать, обновлять и удалять программные пакеты через встроенный пакетный менеджер.

Мониторинг и статистика:

LuCI предоставляет вкладки для мониторинга системных ресурсов, статистики сети и сведений о подключенных устройствах. Это упрощает отслеживание производительности и использования сети.

Обновление прошивки:

Через LuCI можно обновлять прошивку устройства. Процесс обновления может быть выполнен с использованием загруженного файла прошивки.

Настройка VPN:

LuCI предоставляет возможность настройки VPN-серверов и клиентов. Это позволяет легко создавать защищенные соединения и виртуальные частные сети.

Использование графического интерфейса LuCI дополняет работу с командной строкой, делая процесс настройки OpenWRT более доступным пользователям, не имеющим опыта в работе с командами Linux.

OpenWRT предоставляет обширный набор инструментов для управления и настройки сетевых устройств. Команды командной строки, такие как opkg, uci, iptables, и другие, предоставляют высокую гибкость и контроль над устройством. Графический интерфейс LuCI облегчает визуальную настройку, делая OpenWRT доступным для широкого круга пользователей.

При работе с OpenWRT рекомендуется ознакомиться с документацией, форумами и ресурсами сообщества, чтобы использовать все возможности этой мощной операционной системы и успешно настроить сетевые устройства.

среда, 11 сентября 2024 г.

Установка и использование fping в Linux

 Когда нужно проверить доступность сети, мы часто используем команду ping. 


Но что, если вам нужно пинговать несколько хостов одновременно? Для этого существует мощная утилита fping.


Что такое fping?


Fping — это утилита, аналогичная стандартному ping, но с расширенными возможностями. 


Она позволяет отправлять эхо-запросы сразу нескольким узлам, задавать диапазоны адресов и даже работать с файлами списков. 


Это делает её особенно полезной для системных администраторов и DevOps-инженеров, которым нужно быстро проверять целые подсети.


Установка


fping можно легко установить на большинстве Linux-дистрибутивов:


Debian/Ubuntu:


sudo apt install fping


CentOS/RHEL:


sudo yum install fping


Fedora:


sudo dnf install fping


Arch Linux:


sudo pacman -S fping


Если вы хотите установить утилиту из исходников, выполните следующие команды:


$ wget https://fping.org/dist/fping-4.0.tar.gz

$ tar -xvf fping-4.0.tar.gz

$ cd fping-4.0/

$ ./configure

$ make && sudo make install


Примеры использования fping


Пинг нескольких адресов


# fping 192.168.1.1 192.168.1.2 192.168.1.3


Эта команда отправляет запросы сразу на несколько IP-адресов. В результате вы получите статус для каждого узла: "alive" или "unreachable".


Пинг диапазона адресов


# fping -g 192.168.0.1 192.168.0.9


С помощью флага -g можно задать диапазон IP-адресов для проверки. Это особенно удобно, если вам нужно быстро проверить доступность сети.


Пинг целой подсети


# fping -g -r 1 192.168.0.0/24


Эта команда пингует все устройства в указанной подсети. Опция -r 1 указывает на одно повторение операции для повышения точности результата.


Пинг с адресами из файла 


Если у вас есть список адресов в текстовом файле (например, fping.txt), вы можете использовать его для массовой проверки:


# fping < fping.txt