пятница, 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

четверг, 5 сентября 2024 г.

6in4 тунель для Mikrotik и Keenetic

Для Mikrotik:

https://6in4.ru

Пример конфигурации для Mikrotik

Последние две команды /ipv6 address add добавляют IPv6 адрес на интерфейсы sit1 и bridge соответственно.
У вас в системе могут быть другие имена интерфейсов

# Включаем IPv6 на микротике
/ipv6/settings/set disable-ipv6=no
# Добавляем туннель 6to4 /interface 6to4 add comment="6in4 Tunnel Broker" disabled=no local-address=LOCAL IP mtu=1480 name=sit1 remote-address=SERVER IP
# Прописываем пиринговый IPv6-адрес и маршрут по-умолчанию # Обратите внимание, что gateway указывается без /127 /ipv6 route add disabled=no distance=1 dst-address=2000::/3 gateway=IPv6 SERVER P2P scope=30 target-scope=10 /ipv6 address add address=IPv6 CLIENT P2P/127 advertise=no disabled=no eui-64=no interface=sit1
# Прописываем выданный IPv6 Prefix Delegation (PD) префикс на внутреннем интерфейсе /ipv6 address add address=IPv6 PD ADDRESS advertise=yes disabled=no eui-64=no interface=bridge
# Разрешить раздачу DNSv6 в локальной сети /ipv6 nd set [ find default=yes ] advertise-dns=yes
# Настройка DNSv6 серверов Яндекс Public DNS /ip dns set allow-remote-requests=yes servers=2a02:6b8::feed:0ff,2a02:6b8:0:1::feed:0ff # Правила IPv4 firewall для пропуска IPv6 пакетов внутри IPv4 /ip firewall filter add chain=input action=accept protocol=41 /ip firewall filter add chain=output action=accept protocol=41 # Правила firewall изменяющие TCP MSS значение для IPv6 трафика /ipv6 firewall mangle add chain=forward action=change-mss new-mss=clamp-to-pmtu passthrough=no tcp-flags=syn protocol=tcp out-interface=*WAN интерфейс* tcp-mss=1300-65535 log=no /ipv6 firewall mangle add chain=forward action=change-mss new-mss=clamp-to-pmtu passthrough=no tcp-flags=syn protocol=tcp in-interface=*WAN интерфейс* tcp-mss=1300-65535 log=no # Базовые настройки IPv6 firewall # !!! Не применяйте правила firewall если вы не понимаете, что вы делаете!!! /ipv6 firewall filter add action=drop chain=input connection-state=invalid in-interface=*WAN* add action=accept chain=input connection-state=established,related in-interface=*WAN* add action=accept chain=forward connection-state=established,related in-interface=*WAN* add action=accept chain=input dst-port=546 in-interface=*WAN* protocol=udp add action=accept chain=forward in-interface=bridge out-interface=*WAN* add action=accept chain=input in-interface=*WAN* protocol=icmpv6 add action=accept chain=forward in-interface=*WAN* protocol=icmpv6 add action=drop chain=input in-interface=*WAN* log=yes add action=drop chain=forward in-interface=*WAN*


Для Keenetic:

Туннели IPv6 через IPv4 используются для доступа к интернет-ресурсам по протоколу IPv6, когда ваш публичный IP-адрес версии 4 (IPv4). Чтобы настроить подключение, зарегистрируйтесь на сайте виртуального провайдера IPv6 (туннельного брокера), работающего по технологии 6in4. Параметры подключения вы получите при регистрации.

Важно! Необходимыми условиями для подключения к туннельному брокеру IPv6 являются:
— наличие выделенного (статического) публичного IP-адреса на внешнем интерфейсе;
— должен быть разрешен пинг роутера со стороны Интернета: ваш провайдер не должен блокировать входящие ICMP-пакеты и в Keenetic нужно создать правило Межсетевого экрана для ответа на пинг-запросы.

Перейдите на страницу туннельного брокера Hurricane Electric.

Нажмите кнопку Register для регистрации на сервисе.

he-reg-01.png

В окне IPv6 Tunnel Broker Registration укажите необходимую информацию для регистрации и нажмите кнопку Register.

he-reg-02.png

Для создания туннеля нажмите по ссылке Create Regular Tunnel.

crt.png

В окне Create New Tunnel в поле IPv4 Endpoint (Your side) укажите выделенный публичный IP-адрес интернет-центра. Посмотреть его можно в веб-конфигураторе на странице "Системный монитор".

В таблице Available Tunnel Servers выберите туннельный сервер. Вы можете самостоятельно выбрать наиболее близкий к вам сервер по территориальному признаку или оставить тот, который был выбран автоматически. Для продолжения нажмите кнопку Create Tunnel. 

he-01.png

Затем в разделе Configured Tunnels нажмите по ссылке созданного туннеля для получения подробной информации о туннеле IPv6.

he-03.png

В окне Tunnel Details на вкладке IPv6 представлена вся необходимая информация для настройки туннеля IPv6 через IPv4 в Keenetic.

he-02.png

В Routed /48 сразу не показывается информация о префиксе. Для получения префикса нажмите Assign.

Понадобится следующая информация:

  1. Server IPv4 Address (IPv4-адрес сервера)
  2. Client IPv6 Address (IPv6-адрес клиента)
  3. Routed /48 (Префикс IPv6)

Подключитесь к веб-конфигуратору интернет-центра.

Для работы с протоколом IPv6 в Keenetic должен быть установлен компонент системы "Протокол IPv6". Убедитесь, что он установлен. Сделать это можно на странице "Общие настройки" в разделе "Обновления и компоненты", нажав на "Изменить набор компонентов".

ipv6-comp.png

Если компонент "Протокол IPv6" не установлен, установите его.

Затем перейдите на страницу "Другие подключения" и в разделе "Подключения IPv6 через IPv4" нажмите кнопку "Добавить подключение". 

he-04.png

В окне "Параметры подключения" обязательно включите опцию "Использовать для выхода в Интернет". В поле "Имя подключения" укажите любое имя для описания подключения. В поле "IPv4-адрес" нужно вписать адрес сервера для подключения (он указан в панели управления брокера в "Server IPv4 Address"). В поле "IPv6-адрес" вставьте адрес клиента, указанный в панели управления в "Client IPv6 Address" (добавьте адрес без префикса /64). И в поле "Префикс IPv6" вставьте адрес из "Routed /48".

he-05.png

Нажмите "Сохранить" для записи конфигурации роутера.

На странице "Другие подключения" для активации туннеля переведите переключатель в состояние Включено.

he-06.png

Важно! Начиная с версии KeeneticOS 4.0 были внесены изменения в реализацию работы Подключений IPv6 через IPv4. Теперь для работы данного типа туннелей необходимо поднять приоритет IPv6-подключения, т.е. сделать его основным на странице "Приоритеты подключений" на вкладке "Политики доступа в Интернет".

вторник, 20 августа 2024 г.

Как установить и настроить OpenVPN сервер на Ubuntu / Debian / CentOS за 5 минут

Нужно открыть затребованные порты, такие как SSH port 22, 80, 443, 993 и так далее:

sudo ufw allow 22

sudo ufw allow 80

sudo ufw allow 443

sudo ufw allow 993

Устанавливаем скрипт openvpn-install.sh

wget https://git.io/vpn -O openvpn-install.sh

Запустим скрипт openvpn-install.sh для установки и настройки сервера OpenVPN в автоматическом режиме:

sudo bash openvpn-install.sh

На первом шаге выбираем IP-адрес 138.68.110.10 (замените 138.68.110.10 на Ваш актуальный IP). На втором шаге — выбираем протокол, по которому будет работать OpenVPN. В нашем случае — это протокол TCP.

На третьем шаге выбираем порт, на котором будет работать OpenVPN-сервер. На четвертом шаге — выбираем, какой именно DNS-сервер будем использовать, В нашем случае — CloudFlare.

На последнем этапе — указываем имя клиента (например, client-01, client-02, и т. д.). Нажимаем Enter, скрипт должен все успешно установить.

На этом всё. Вы смогли настроить OpenVPN, а точнее — его серверную часть. И теперь она полностью готова к работе. Вы можете посмотреть файл добавленных правил фаервола в каталоге по адресу /etc/systemd/system/multi-user.target.wants/openvpn-iptables.service, используя команду cat:

less /etc/systemd/system/multi-user.target.wants/openvpn-iptables.service → /etc/systemd/system/openvpn-iptables.service

Кроме того, Вы можете посмотреть настройки Вашего сервера OpenVPN, сгенерировав их скриптом, приведенным ниже:

sudo less /etc/openvpn/server/server.conf

Важно: не редактируйте этот файл вручную!


Давайте теперь разберемся в том, как работать с сервером OpenVPN. И какие именно команды для этого могут использоваться.


sudo systemctl stop openvpn

sudo systemctl start openvpn

sudo systemctl restart openvpn


Настраиваем клиент OpenVPN

Есть еще несколько полезных вещей, которые помогут качественно настроить OpenVPN. К примеру, на сервере Вы найдете файл настройки клиента с названием ~/client-01.ovpn. Этот файл находится в домашней папке пользователя, от имени которого Вы запускали приведенный выше скрипт. Все, что Вам нужно сделать — это скопировать данный файл на Ваш локальный рабочий стол и предоставить его OpenVPN-клиенту. 

Тогда как установки клиента OpenVPN на Debian / Ubuntu Linux осуществляется командой apt:

sudo apt install openvpn

Далее — скопируйте client-01.ovpn, как показано ниже:

 sudo cp client-01.ovpn /etc/openvpn/client.conf

Проверьте соединение от CLI:

sudo openvpn --client --config /etc/openvpn/client.conf

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

ping 10.8.0.1 # Ping to OpenVPN server gateway