Archive for Network

Принудительное завершение сессии SSH (со стороны клиента)

// Апрель 22nd, 2017 // No Comments » // noob, ssh

Иногда так случается, что сессия к удаленному серверу «зависает», вариант принудительно завершить со стороны сервера или дожидаться таймаута — не всегда приемлемо, особенно когда по каким-то причинам keepalive пакеты проходят. Открывать новый терминал и подключаться заново часто тоже не всегда удобно, особенно если это цепочка подключений.
Для того что бы завершить сессию со стороны клиент — нужно последовательно нажать:
Enter, ~, .
(кнопка Enter, shift+`(кнопка под Esc), . (точка))

Mikrotik проверка и переключение маршрута

// Январь 27th, 2017 // No Comments » // mikrotik, Network, routing, script

Ситуация: есть L2 транспорт и его резервный канал, на канале L2 софт использует адрес on-connected (см. рис.) 10.1.1.1, который в случаи обрыва L2 канала становится недоступным и нужно переключить маршрут на резервный канал.

Попытка реализовать стандартными средствами: создать два маршрута на адрес 10.1.1.1, один через основной канал с меньшей метрикой (больший приоритет) и второй с большей метрикой через резервный — не увенчалась успехом, т.к. первый маршрут не становился неактивны при падении линка даже при условии микротиковской фичи проверки наличия ARP. Было так:

/ip route
 add distance=10 dst-address=10.1.1.1/32 gateway=10.4.12.1
 add distance=1 dst-address=10.1.1.1/32 gateway=ether1 check-gateway=arp

но не работало =(

Решение было написать скрипт, который проверяет наличие ARP записи и переключает маршрут
(далее…)

Nginx ошибка «413 Request Entity Too Large»

// Ноябрь 4th, 2016 // No Comments » // nginx

Ошибка HTTP 413 — Request Entity Too Large Error означает, что клиент отправил слишком большой запрос на сервер. Причина настройки nginx по умолчанию, параметр client_max_body_size равен 1m, его и нужно изменить под свои потребности.

Директива client_max_body_size задаёт максимально допустимый размер тела запроса клиента, указываемый в строке «Content-Length» в заголовке запроса. Если размер больше заданного, то клиенту возвращается ошибка «Request Entity Too Large» (413). Следует иметь в виду, что браузеры не умеют корректно показывать эту ошибку.

Подробнее

Есть два варианта установки этой переменной глобально для всего сервера, тогда нужно вписать в секцию http или для определенного виртуального хоста, тогда вписать в секцию server. Стоит разумно относится к установке размера данной директивы, т.к. слишком большой размер является потенциальной уязвимостью для возможной атаки на ваш сервер, обычно достаточный размер от 5 до 32m.
В файле nginx.conf, в нужную секцию http/server, добавить/изменить директиву:

http {
 ...
 client_max_body_size 32m;
 ...
}

Debian tftpd

// Март 2nd, 2016 // No Comments » // Debian, linux, tftp

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

apt-get install tftpd tftp

Добавляем в автозагрузку inetd, в файле /etc/inetd.conf редактируем строку, которая начинается с tftp, в принципе она вполне правильная, но мне нравится другой путь для каталога файлов:

tftp     dgram   udp   wait   nobody   /usr/sbin/tcpd    /usr/sbin/in.tftpd   /var/tftp

Перезапускаем inetd:

invoke-rc.d openbsd-inetd restart

Вот в принципе и все. Если что-то не так — проверяем, слушает ли демон порт:

netstat -lnp | grep :69

должен быть ответ похожий на этот:

udp        0      0 0.0.0.0:69              0.0.0.0:*                           15838/inetd

Проверяем/правим права на каталог с файлами:

chown -R nobody /var/tftp

Не удается создать ssh tunnel

// Март 1st, 2016 // No Comments » // linux, ssh

Вот примеры ошибок:

SSH Tunnel: does not support diffie-hellman-group1-sha1 for keyexchange.

и

SSH Tunnel: The negotiation of encryption algorithm is failed

Решение: добавить в конфиг /etc/ssh/sshd_config строки:

KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr

сгенерировать дополнительные ключи:

ssh-keygen -A

перезапустить демон sshd

service ssh restart