среда, 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