iperf

Official page

  • установка на linux описана тут, на win тут (как ни странно актуально)
  • у iperf погрешность порядка 20%
  • и на клиенте и на сервере без разницы будет reverse тест или прямой требуются ресурсы CPU ~ 10-20% CPU (intel i3/7) на гигабит однопоточного TCP трафика

IPERF есть и для Windows, Linux и даже Iphone/android (от афигенских bgp.he, правда по практике использования – мобильные аппы не огонь).

Читать дальше

Поднимаем FTP сервер на CentOS 7

Пошаговый гайд, аналог статьи про TFTP

0) Отключаем SELinux если раньше это не сделали и перезагружаем сервер (если уверены что он нам не нужен или не умеем с ним работать). Если без отключения для заливки файлов должны помочь строки “setsebool -P ftp_home_dir on” и “setsebool -P allow_ftpd_full_access on”

sudo vi /etc/selinux/config
SELINUX=disabled
1) Устанавливаем сервер, кладем в папку по умолчанию /var/ftp необходимые файлы
sudo yum -y install vsftpd
cp test_file /var/ftp/
2) Добавляем сервис FTP как разрешенный в файрволл и перезагружаем его (мягко для применения правил без разрыва существующих коннектов)
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
3) Запускаем FTP сервис, смотрим его состояние, добавляем сервис в автозагрузку
sudo systemctl start vsftpd
sudo systemctl status vsftpd
sudo systemctl enable vsftpd
4) Проверяем работу сервиса через обычный браузер
ftp://192.168.1.22/

Удаление

sudo firewall-cmd --permanent --remove-service=ftp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
sudo yum -y remove vsftpd

Linux: использование yum в CentOS (обновление, установка, удаление приложений)

Аналог статьи про Ubuntu, Gentoo.

CentOS работает с .rpm пакетами (так же как и RHEL, Fedora, Suse, Mandriva).

Вот тут есть очень хорошая шапаргалка. Ниже только самое используемое, остальное проще взять оттуда.

Обновление всех приложений (сразу и обновляем данные из репозиториев о пакетах и ставим эти пакеты)

sudo yum update

Если в списке обновлений было ядро – без перезагрузки не обойтись (если нужно проверить что код нового ядра запустится корректно прямо сейчас).

Читать дальше

Установка и использование Dante в качестве сервера Socks5 на Ubuntu 16

В свете огромной вероятности блокировки telegram в ближайшее время возник вопрос в установке и использовании Dante в качестве сервера Socks5 на Ubuntu 16.

Большая часть инфы нагло взята из офф. доки и отсюда.

Не забываем про теорию

Proxy – может использоваться по разному, например для логгирования клиентских запросов в компании, ограничения доступа (хех) или наоборот, обхода ограничения, блокировки определенного контента.

Читать дальше

Делаем демон приложения в CentOS

В CentOS, в отличии от Ubuntu, по умолчанию нет Start-stop-daemon для запуска своих процессов в виде демонов. При его наличии запуск приложения в виде демона решается простой командой (главное чтобы скрипт был исполняемым :)).

start-stop-daemon -Sbvx /home/redkin_p/bin/test.rb

Для того чтобы сделать это в CentOS есть такие варианты:

0) Запустить приложение через nohup.

Читать дальше

Поднимаем TFTP сервер на CentOS 7

Пошаговый гайд

0) Отключаем SELinux если раньше это не сделали и перезагружаем сервер (если уверены что он нам не нужен или не умеем с ним работать). Если без отключения для заливки файлов должна помочь строка setsebool -P tftp_anon_write 1

sudo vi /etc/selinux/config
SELINUX=disabled

1) Загружаем сервер, клиент и xinetd (без него никак, через него работает tftpd)

sudo yum install tftp tftp-server xinetd

2) Редактируем файл с конфигурацией /etc/xinetd.d/tftp.

Читать дальше

Скрипт на событие логина по SSH

Пришла идея создания скрипта для логгирования события подключения по SSH в таблицу SQL и уведомления о подключении определенных пользователей определенным пользователям:
  • писать всем пользователям о подключении их самих – сами пользователи знают, когда заходят и заход тогда, когда ты это делать не мог – есть повод обеспокоиться
  • админу писать о подключении всех пользователей, имеющих права на sudo
В целом логгирование в linux встроено по умолчанию – утилита last показывает полный лог авторизаций с момента создания файла /var/log/wtmp и продолжительность pts, а в lastlog есть информация о последнем подключении.

Читать дальше

32-битные счетчики sysUpTime

C 497 дня (4-миллиарда timeticks) обновляется значение Uptime при опросе sysUpTime (DISMAN-EVENT-MIB::sysUpTimeInstance или .1.3.6.1.6.3.10.2.1.3). Такое поведение аналогично на всех устройствах, включая Cisco. 64-битного счетчика timeticks (1/100 секунды), по аналогии с Counter64,  пока не существует. Для Cisco, Alcatel и многих других устройств (даже ZTE, но не D-Link) есть альтернатива – опрашивать количество секунд со старта (не epoch seconds) (SNMP-FRAMEWORK-MIB::snmpEngineTime или .1.3.6.1.2.1.1.3.0) и конвертировать во время самостоятельно скриптом.

Читать дальше

Использование screen

Хорошая шапаргалка

screen в основном используют для создания нескольких сессий и быстрого переключения между ними (по сути аналог tab’ов в secureCRT). Кроме того у сессий screen есть существенное преимущество по сравнению с “обычными” ssh-сессиями –  независимость от активности ssh-сессии (по причине отключения хоста/проблем в сети между сервером и хостом/етк). 

Читать дальше

Ruby простая отправка писем

Простая отправка писем в ruby без вложений:
#!/usr/bin/env ruby
#coding: utf-8
 
require 'net/smtp'
 
from = 'login@exmpl.com'
to = [ "mail_to@exmpl.com", "mail_to2@exmpl.com" ]
theme = 'Subj!'
text= "Msg"
message = ""
message<<"From: admin <#{from}>\n"
message<<"To: #{to}\n"
message<<"Subject: #{theme}\n"
message<<text
Net::SMTP.start('smtp.exmpl.com', 25, 'exmpl.ru',
 'login', 'pass', :plain) do |smtp|
smtp.send_message message, from, to
end
gem mail поддерживает отправку с вложениями.


Читать дальше