uzverss
View:Recent Entries.
View:Archive.
View:Friends.
View:User Info.
You're looking at the latest 20 entries.
Missed some entries? Then simply jump back 20 entries

Subject:поиск по блогу
Time:12:03 pm
Поиск по блогу
Image


https://uzverss.livejournal.com/tag/
https://uzverss.dreamwidth.org/tag/
http://lj.rossia.org/users/uzverss/tag
comments: Leave a comment Tell A Friend Add to Memories

Subject:свежий LibreOffice
Time:06:17 pm



посмотреть
очистка от предыдущей версии


sudo apt-get remove --purge libreoffice*
sudo apt-get clean && sudo apt-get autoremove


(глянуть что сносит и нужное поставить опять)

можно конечно воспользоваться ppa:


sudo add-apt-repository ppa:libreoffice/ppa



добавление ppa репозитория в debian
как добавить ключ репозитория в debian или ubuntu
Добавление ключей репозитория, когда другие способы не помогли

добавить недостающие ключи


sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com `sudo aptitude update 2>&1 | grep -o '[0-9A-Z]\{16\}$' | xargs`



но мы пойдём другим путём:


mkdir -p $HOME/tmp/LOO1/DEBS; cd $HOME/tmp/LOO1; wget http://download.documentfoundation.org/libreoffice/stable/6.0.1/deb/x86/LibreOffice_6.0.1_Linux_x86_deb.tar.gz http://download.documentfoundation.org/libreoffice/stable/6.0.1/deb/x86/LibreOffice_6.0.1_Linux_x86_deb_helppack_ru.tar.gz http://download.documentfoundation.org/libreoffice/stable/6.0.1/deb/x86/LibreOffice_6.0.1_Linux_x86_deb_langpack_ru.tar.gz; for name in *.tar.gz ; do tar -xvpf $name -C . ; done; find . -name \*.deb -exec mv '{}' DEBS \;; cd DEBS; sudo dpkg -i *deb; cd ../..; rm -rf LOO1



Краткая памятка по работе с архиваторами из консоли в Linux

поскольку нам необходимо чтобы программы LOO завускались из консоли, то добавим переменную в $PATH


echo 'PATH="$PATH:$HOME/bin:/opt/libreoffice/bin"' | tee $HOME/.xsessionrc



проверим наличие


grep -rn "/opt/libreoffice/bin" $HOME



и создадим пакет, в котором будут ссылки на программы из /opt/libreoffice6.0/program/

структура пакета
DEBIAN/control и opt/libreoffice/bin/файлы


mkdir -p $HOME/tmp/LOO/libreoffice-opt/opt/libreoffice/bin $HOME/tmp/LOO/libreoffice-opt/DEBIAN/



в каталоге /opt/libreoffice/bin будут лежать файлы следующего содержания:


#!/bin/sh
exec /opt/libreoffice6.0/program/swriter "$@"


делаем файлы исполняемыми


chmod -R +x $HOME/tmp/LOO/libreoffice-opt/opt/libreoffice/bin



в случае изменения версии LOO


find $HOME/tmp/LOO/libreoffice-opt/opt/libreoffice/bin -exec sed -i -r 's/libreoffice6.0/libreoffice6.1/g' {} \;



делаем бинарик для каждой программы из каталога


ls /opt/libreoffice6.0/program/ |egrep -v *.so*



готовим пакет


sudo chown -R root:root $HOME/tmp/LOO/libreoffice-opt/
fakeroot dpkg-deb --build $HOME/tmp/LOO/libreoffice-opt/



вот результат, забирайте

http://linux-notes.org/poisk-i-zamena-slov-v-fajlah-linux/
http://forum.ubuntu.ru/index.php?topic=171497.0
comments: Leave a comment Tell A Friend Add to Memories

Subject:OpenWRT подборка
Time:10:03 pm



ознакомиться
https://openwrt.org/
https://lede-project.org/
https://librecmc.org/
https://www.dd-wrt.com/site/support/router-database
https://dd-wrt.com/wiki/index.php/Supported_Devices

Обзор альтернативных прошивок домашних роутеров

https://wiki.openwrt.org/ru/start
Настройка WiFi на OpenWRT
OpenWRT, или Что еще можно сделать со своим роутером
Пошаговая прошивка OpenWRT на роутер TP-LINK TL-WR741ND из Windows
Настройка сети в OpenWRT
Открытие доступа на openwrt из интернета

https://wiki.openwrt.org/start
https://wiki.openwrt.org/doc/uci
Настройка OpenWrt с помощью UCI

Установка OpenWrt в VirtualBox
OpenWrt + внешний HDD + Transmission + Samba
Миникомпьютер из роутера с OpenWRT: пишем драйвер фреймбуфера
Как сделать портативный ремонтный сервер
настройка vlan
Менеджер пакетов opkg. Offline инсталляция пакетов в образ корневой файловой системы
Как устанавливать пакеты приложений?
OpenWRT(с OpenVPN) на TL-WR740N. Как добавить vlan.
Команды операционной системы OpenWRT

https://wiki.openwrt.org/doc/howto/vpn.ipsec.basics

Кошерная организация туннелей в OpenWRT

Поднимаем VPN-туннель из мира домой в обход NAT
OpenWRT — OpenVPN и маршрутизация
OpenVPN Client Setup
IPsec Site To Site Using Openswan
Подключение к провайдеру используя L2TP с Dual Access
https://support.aa.net.uk/L2TP_Client:_OpenWRT
https://wiki.strongswan.org/projects/strongswan/wiki/OpenWrtUCI
L2TP Туннель между роутером с OpenWRT и Mikrotik RB951G-2HnD
Настройка L2TP-соединения (провайдер «Гарант», г.Гомель) в OpenWRT
OpenWrt + L2TP Beeline
https://wiki.debian.org/ru/OpenL2TP
Настройка L2TP/IPSec PSK Туннеля под OpenWRT (Linux), настройка клиентов, в частности Windows 7
https://linux.die.net/man/5/ipsec.conf
Быстрая настройка l2tp на openwrt beeline
OpenWRT l2tp
luci-app-ipsec-vpnd
доп репозиторий с ipsec l2tp
Instalacja ipsec/l2tp (strongswan4 + xl2tpd) na OpenWRT działa z Androidem
https://hide.me/en/vpnsetup/ubuntu/ikev2/

Быстрый роуминг (802.11r) в WiFi сети на базе Lede (aka OpenWRT)
Обход DPI провайдера на роутере с OpenWrt, используя только busybox
Исследуем «Ревизор» Роскомнадзора

OpenWRT — восстановление прошивки
LEDE — Сборка из исходников
OpenWRT — сборка в Debian 9 «Stretch»
OpenWRT — Сборка из исходников
Руководство по уменьшению размера прошивки OpenWRT
OpenWRT — Монтируем BtrFS
OpenWRT — Ретрансляция онлайн-радио

Запуск OpenWRT 14.07 на Mikrotik и пример сборки Аsterisk c дополнительным модулем
Common Procedures for Mikrotik RouterBoard Products
OperWRT на MetaROUTER Mikrotik
Виртуальная машина MetaROUTER и запуск OpenWRT на маршрутизаторах Mikrotik
Instalace OpenWRT do Mikrotik RouterBOARD 512
OpenWRT on Mikrotik Routerboard 411/750
GETTING SHELL ON A ROUTERBOARD

OpenWRT em Mikrotik Routerboard 750 (Linux on MIPS AR7xxx/AR9xxx)
OpenWrt build system – Installation
https://wiki.openwrt.org/toh/mikrotik/start

OpenWRT — дружба с DIR-300 B5, B6 и B7

Видеонаблюдение своими руками с программой motion detection (обнаружение движения) на openwrt (linux)
Подключение веб-камеры в openwrt
Установка и настройка samba в openwrt
dyndns на openwrt подключение в качестве wifi клиента
Одновременное подключение usb-флешки и usb-hdd в openwrt

Видео
------------------------------------------------------------------------
Вернуть стандартную прошивку роутера вместо OpenWrt
https://www.youtube.com/watch?v=WNTftKOJfAs
https://www.youtube.com/watch?v=Cb-xNex7W38
------------------------------------------------------------------------
Установка и настройка OpenWRT под Beeline на роутер TP-Link TL-WDR4300
https://www.youtube.com/watch?v=wm0ZYj74yrQ
------------------------------------------------------------------------
мост на openwrt для хялявного инета
https://www.youtube.com/watch?v=pCCKR1zJtNw
------------------------------------------------------------------------
Интернет через роутер с Linux (OpenWRT, MR3220)
https://www.youtube.com/watch?v=GuhAGVJDLVQ
------------------------------------------------------------------------
Настройка multiwan на openwrt
объединить два интернет канала от разных провайдеров в один.
https://www.youtube.com/watch?v=oNLss7btnP4
------------------------------------------------------------------------
configure OPENWRT as access point
https://www.youtube.com/watch?v=bG_Tyk6AGaM
------------------------------------------------------------------------
uzverss первый запуск OpenWRT на QEMU
comments: Leave a comment Tell A Friend Add to Memories

Subject:делаем vim удобным
Time:12:14 am



развернуть
чтоб не забыть, некоторые команды vim


gg перейти в начало файла
G перейти в конец файла
i режим вставки
ESC перейти в режим просмотра
dd вырезать (удалить) строку
4dd - удалить 4 строки
3x - удалить 3 символа
cc удалить и начать редактирование
yy копировать строку
p вставить из буфера обмена
:set paste вставить длинную строку
v выделить (стрелка вправо или лево)
ctrl+v вылелить вертикальный блок
V выделить строку (стрелка вверх или вниз - несколько строк)
ggVG выделить весь файл
Vu Перевести строку в нижний регистр
VU Перевести строку в верхний регистр
g~~ Инвертировать регистр
ggguG Перевести весь текст в нижний регистр
:%!sort отсортировать весь файл
u, :u[ndo] отмена предыдущего действия (undo)
CTR-R, :red[o] отмена отмены предыдущего действия (redo)
/ начало шаблона прямого поиска (например /ufs)
n следующее совпадение
N предыдущее совпадение
:<n> перейти на строку #n
:set number включить нумерацию строк
:set nonumber отключить нумерацию строк
:tabs вывести список табов
:tabs вывести список табов
:tabn следующий таб
:tabp предыдущий таб
<n>gt перейти на таб #n
e ++enc=<имя кодировки> Редактирование файла в ??? кодировке
w ++enc=<имя кодировки> Сохранить файл в новой кодировке
:set fileencodings Список кодировок
:syntax on включить подсветку синтаксиса
:syntax off выключить подсветку (по умолчанию)
:set list Отображать табуляцию и переводы строк
:e . Открыть встроенный файл-менеджер
:!pwd Выполнить команду pwd и вернуться
!!pwd Выполнить команду pwd и вставить результат в редактор
:sh Открыть шелл
$exit Вернуться в редактор из шелла
:q! выйти из редактора, не сохраняя изменения
:wq сохранить изменения и выйти из редактора



настройка конфига
vim $HOME/.vimrc или vim $HOME/.vim/vimrc


function! ConfigureView()
set number
" Включить подсветку синтаксиса
syntax on
" Поиск по набору текста (очень полезная функция)
set incsearch
" Подсвечивание поиска
set hlsearch
" умная зависимость от регистра %)
set ignorecase
set smartcase
"match errorMsg /[\t]/
" Кодировка текста по умолчанию
set termencoding=utf8
" Включаем несовместимость настроек с Vi (ибо Vi нам и не понадобится).
set nocompatible
" Показывать положение курсора всё время.
set ruler
" Показывать незавершённые команды в статусбаре
set showcmd
" Фолдинг по отсупам
set foldenable
set foldlevel=100
set foldmethod=indent
" Выключаем надоедливый "звонок"
set noerrorbells visualbell t_vb=
autocmd GUIEnter * set visualbell t_vb=
" Поддержка мыши
set mouse=a
set mousemodel=popup
" Не выгружать буфер, когда переключаемся на другой
" Это позволяет редактировать несколько файлов в один и тот же момент без необходимости сохранения каждый раз
" когда переключаешься между ними
set hidden
" Скрыть панель в gui версии ибо она не нужна
set guioptions-=T
" Сделать строку команд высотой в одну строку
set ch=1
" Скрывать указатель мыши, когда печатаем
set mousehide
" Включить автоотступы
set autoindent
"Не переносить строки
set nowrap
" Преобразование Таба в пробелы
set expandtab
" Размер табуляции по умолчанию
set shiftwidth=4
set softtabstop=4
set tabstop=4
" Формат строки состояния
set statusline=%<%f%h%m%r\ %b\ %{&encoding}\ 0x\ \ %l,%c%V\ %P
set laststatus=2
" Включаем "умные" отступы ( например, авто отступ после {)
set smartindent
" Отображение парных символов
set showmatch
set lines=50
set columns=140
" Навигация с учетом русских символов
set iskeyword=@,48-57,_,192-255
" Удаление символов бэкспэйсом в Windows
set backspace=indent,eol,start
set cursorline
highlight CursorLine guibg=lightblue ctermbg=lightgray
highlight CursorLine term=none cterm=none
set history=200
set wildmenu
set list listchars=tab:→\ ,trail:·
filetype plugin on
endfunc

function! InitExternalPlugins()
let g:UltiSnipsExpandTrigger = "<c-j>"
let g:tagbar_left = 1
let g:tagbar_type_rust = {
\ 'ctagstype' : 'rust',
\ 'kinds' : [
\ 'f:function',
\ 'm:macros',
\ 'T:types',
\ 'm:types1',
\ 'm:modules',
\ 'm:consts',
\ 'm:traits',
\ ],
\ }
endfunction

function! BindKeys()
" просмотр списка буферов
nmap <C-b> <Esc>:BufExplorer<cr>
vmap <C-b> <esc>:BufExplorer<cr>
imap <C-b> <esc><esc>:BufExplorer<cr>
nmap <C-\> :TagbarToggle<CR>
cnoremap @ <c-r>=expand("%:h")<cr>/
inoremap <Tab> <C-R>=SuperCleverTab()<cr>
nmap <silent> <Leader>of :FSHere<cr>
nmap fd :Rgrep<cr>
nmap fb :GrepBuffer<cr>
nmap p4e :!p4 edit %<cr>
endfunction

function! ConfigureCompletitions()
" Слова откуда будем завершать
set complete=""
" Из текущего буфера
set complete+=.
" Из словаря
set complete+=k
" Из других открытых буферов
set complete+=b
" из тегов
set complete+=t

set completeopt-=preview
set completeopt=menuone,menu,longest,preview

" automatically open and close the popup menu / preview window
au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
set mps-=[:]
endfunction

function! SuperCleverTab()
if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
return "\<Tab>"
else
return "\<C-p>"
endif
endfunction

function! LocalConf()
if filereadable(".vim_config")
source .vim_config
endif
endfunc

call LocalConf()
call ConfigureView()
call BindKeys()
call ConfigureCompletitions()
call InitExternalPlugins()


http://sysdev.me/wp-content/uploads/2013/08/vimrc.txt
Удобный Vim
Vim как IDE для разработки на Python
http://najomi.org/vim
https://ru.wikibooks.org/wiki/Vim
http://eax.me/vim-commands/
5 плагинов Vim, делающих из него IDE
Полезные плагины для Vim. Часть 2
https://wiki.archlinux.org/index.php/Vim_(Русский)
http://vim-scripts.org/vim/scripts.html
https://github.com/junegunn/vim-plug


comments: Leave a comment Tell A Friend Add to Memories

Subject:первый запуск OpenWRT на QEMU
Time:06:59 pm




1) скачивается образ отсюда


cd $HOME/Downloads/iso; wget https://downloads.openwrt.org/chaos_calmer/15.05.1/x86/kvm_guest/openwrt-15.05.1-x86-kvm_guest-combined-ext4.img.gz; gunzip openwrt-15.05.1-x86-kvm_guest-combined-ext4.img.gz



2) запускается витруальный сетевой интерфейс

sudo virsh net-start default

который можно погасить командой

sudo virsh net-destroy default

посмотреть запущенный вирт.сетевые интерфейсы можно командой

sudo virsh net-list


сами настройки виртуального дефолтного сетевого интерфейса находится в файле
/etc/libvirt/qemu/networks/default.xml

и представляют собой запись


<network>
<name>default</name>
<bridge name="virbr0"/>
<forward/>
<ip address="192.168.122.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.122.2" end="192.168.122.254"/>
</dhcp>
</ip>
</network>


можно создать свой вирт. сетевой интерфейс, со своими настройками, напр:

sudo nano /etc/libvirt/qemu/networks/def1.xml


<network>
<name>def1</name>
<bridge name="virbr1"/>
<forward/>
<ip address="192.168.1.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.1.2" end="192.168.1.254"/>
</dhcp>
</ip>
</network>


затем

sudo virsh net-create /etc/libvirt/qemu/networks/def1.xml


3) В Virtual Machine Manager выбирается "Импорт существующего диска" и ставится чекбокс "изменить настройки перед установкой".

В Видео выбирается модель VGA, добавляется несколько виртуальных сетевых интерфейсов и выбирается модель virtio, также желательно добавить дополнительный виртуальный жёсткий диск, 300 - 500 Мб более чем достаточно

4) после загрузки необходимо сконфигурировать выход в сеть, для этого необходимо внести правку в файл /etc/config/network
поскольку в запущенном ранее дефолтном витр. сетевом интерфейсе ip address="192.168.122.1" то и настройки будут соответствующие


vi /etc/config/network



config interface 'eth1'
option ifname 'eth1'
option proto 'static'
option ipaddr '192.168.122.5'
option netmask '255.255.255.0'
option gateway '192.168.122.1'
option dns '8.8.8.8 8.8.4.4'


чтобы применить изменения необходимо выполнить команду

/etc/init.d/network restart


чтоб не забыть, команды vi


gg перейти в начало файла
G перейти в конец файла
i режим вставки
ESC перейти в режим просмотра
dd вырезать (удалить) строку
4dd - удалить 4 строки
3x - удалить 3 символа
cc удалить и начать редактирование
yy копировать строку
p вставить из буфера обмена
:set paste вставить длинную строку
v выделить (стрелка вправо или лево)
ctrl+v вылелить вертикальный блок
V выделить строку (стрелка вверх или вниз - несколько строк)
ggVG выделить весь файл
Vu Перевести строку в нижний регистр
VU Перевести строку в верхний регистр
g~~ Инвертировать регистр
ggguG Перевести весь текст в нижний регистр
:%!sort отсортировать весь файл
u, :u[ndo] отмена предыдущего действия (undo)
CTR-R, :red[o] отмена отмены предыдущего действия (redo)
/ начало шаблона прямого поиска (например /ufs)
n следующее совпадение
N предыдущее совпадение
:<n> перейти на строку #n
:set number включить нумерацию строк
:set nonumber отключить нумерацию строк
:tabs вывести список табов
:tabs вывести список табов
:tabn следующий таб
:tabp предыдущий таб
<n>gt перейти на таб #n
e ++enc=<имя кодировки> Редактирование файла в ??? кодировке
w ++enc=<имя кодировки> Сохранить файл в новой кодировке
:set fileencodings Список кодировок
:syntax on включить подсветку синтаксиса
:syntax off выключить подсветку (по умолчанию)
:set list Отображать табуляцию и переводы строк
:e . Открыть встроенный файл-менеджер
:!pwd Выполнить команду pwd и вернуться
!!pwd Выполнить команду pwd и вставить результат в редактор
:sh Открыть шелл
$exit Вернуться в редактор из шелла
:q! выйти из редактора, не сохраняя изменения
:wq сохранить изменения и выйти из редактора



5) после всего этого в OpenWRT можно получить доступ через телнет
telnet 192.168.122.5 или открыв в браузере адрес http://192.168.122.5

в случае успеха обновить пакеты

opkg update

или поставить mc

opkg install mc

Для правильной работы MC, перед запуском нужно выполнить:

export TERMINFO="/usr/share/terminfo"
export TERM="xterm"
mc


Но что бы каждый раз не писать эти строчки перед запуском, то лучше прописать их в файле profile:

vi /etc/profile
export TERMINFO=/usr/share/terminfo
export TERM=xterm


opkg list покажет всё что можно установить ещё

после всех этих действий необходимо сменить пароль командой passwd
если, после неоднократных экспериментов, возникнет ошибка
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! то

ssh-keygen -f "$HOME/.ssh/known_hosts" -R 192.168.122.5

Прочие действия:

если возникнет необходимость увеличить файл образа, то

truncate --size=+50M Download/iso/openwrt-15.05.1-x86-kvm_guest-combined-ext4.img

затем нужно добавить раздел, в увеличенную область (при увеличении существующей будут ошибки)

sudo parted Download/iso/openwrt-15.05.1-x86-kvm_guest-combined-ext4.img

но удобней сделать так:

sudo losetup -f Download/iso/openwrt-15.05.1-x86-kvm_guest-combined-ext4.img
sudo losetup -a Download/iso/openwrt-15.05.1-x86-kvm_guest-combined-ext4.img

sudo gparted /dev/loop0

sudo losetup -d /dev/loop0

после манипуляций, завустить и зайти по ssh

ssh root@192.168.122.5

и установить нужное


opkg update ; opkg install block-mount kmod-fs-ext4 kmod-usb-storage-extras kmod-usb-core parted



затем сгенерировать fstab



block detect > /etc/config/fstab; \
sed -i s/option$'\t'enabled$'\t'\'0\'/option$'\t'enabled$'\t'\'1\'/ /etc/config/fstab; \
sed -i s#/mnt/sda1#/overlay# /etc/config/fstab; \
cat /etc/config/fstab;



отредактировать fstab

vi /etc/config/fstab


config 'global'
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'

config 'mount'
option target '/overlay'
option uuid '57f8f4bc-abf4-655f-bf67-946fc0f9f25b'
option enabled '1'

config 'mount'
option target '/mnt/sda2'
option uuid '57f8f4bc-abf4-655f-bf67-946fc0f9f25b'
option enabled '1'

config 'mount'
option target '/mnt/sda3'
option uuid 'db3d5a79-917c-4675-bfd7-baff792e19f5'
option enabled '1'



(это тоже пригодится)
mkswap -f -L swap /dev/sda2
mkfs.ext4 -L over /dev/sda1
-L присвоение label
"swap" - метка для /dev/sda2
"over" - метка назначается разделу /dev/sda1

reboot
после перезагрузки


mkdir -p /mnt/sda3/python3.4 /mnt/sda3/python2.7; ln -s /mnt/sda3/python3.4 /usr/lib/python3.4; ln -s /mnt/sda3/python2.7 /usr/lib/python2.7



установка pip

wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py

ошибка
wget: can't execute 'openssl': No such file or directory

opkg install ca-certificates openssl-util

python3 get-pip.py

ошибка
distutils.errors.DistutilsPlatformError: invalid Python installation: unable to open /usr/lib/python3.4/config-3.4/Makefile (No such file or directory)

этот способ работает:


cd /tmp; wget http://download.rsdev.16mb.com/OpenWrt/Scripts/installPIP.sh; chmod +x ./installPIP.sh; ./installPIP.sh



если возникает ошибка
OSError: [Errno 28] No space left on device

то
cd /tmp/; rm -r *

установка всех вышеперечисленных пакетов одной командой:


opkg update; opkg install block-mount kmod-fs-ext4 kmod-usb-storage-extras kmod-usb-core kmod-nls-utf8 mc ca-certificates openssl-util blkid


PS
помучившись с кучей косяков (utf8, шрифты в консоли и тд), понял, что лучше так:

https://lede-project.org/



cd $HOME/Downloads/iso; wget https://downloads.lede-project.org/releases/17.01.4/targets/x86/generic/lede-17.01.4-x86-generic-combined-ext4.img.gz; gunzip lede-17.01.4-x86-generic-combined-ext4.img.gz



запускаем и настраиваем, затем ставим python и pip
opkg update; opkg install libopenssl libustream-openssl mc python3

wget https://bootstrap.pypa.io/get-pip.py

настройка vlan
Как устанавливать пакеты приложений?
OpenWRT(с OpenVPN) на TL-WR740N. Как добавить vlan.
Команды операционной системы OpenWRT

PPS
в случае с древними версиями openwrt, например attitude_adjustment в которой есть пакет openswan, нужный ради старых настроек ipsec, необходимо кроме настроек интернета, также разрешить порты iptables, по умолчанию в котором всё блокировано, настроим интернет

vi /etc/config/network


config interface wan
option ifname eth1
option proto static
option ipaddr 192.168.122.30
option netmask 255.255.255.0
option gateway 192.168.122.1
option dns 8.8.8.8


/etc/init.d/network restart

затем фрайвол

vi /etc/firewall.user


WAN='eth1'
iptables -A input_rule -i $WAN -p tcp --dport 80 -j ACCEPT
iptables -A input_rule -i $WAN -p tcp --dport 22 -j ACCEPT


/etc/init.d/firewall restart

в QEMUvirt-manager соответственно) при использовании старых релизов openwrt, в настройках виртуальных сетевых интерфейсов вместо модели virtio выбирается pcnet или ne2k_pci, драйверов virtio в них нет


https://wiki.openwrt.org/doc/howto/wget-ssl-certs
https://forum.arduino.cc/index.php?topic=347224.15
https://wiki.openwrt.org/ru/doc/uci/fstab
https://www.stableit.ru/2012/06/kvm-ext4.html
https://wiki.openwrt.org/ru/doc/howto/extroot
http://cyber-place.ru/showthread.php?t=371&page=3
Настройка сети в OpenWRT
Открытие доступа на openwrt из интернета
Управление виртуальными машинами с помощью virsh
Создаем изолированную сеть для виртуальных машин KVM
Работа с KVM в Debian или Ubuntu из командной строки
comments: Leave a comment Tell A Friend Add to Memories

Subject:Два в одном: как пользоваться Vim и Nano?
Time:03:25 pm

Зачем нужна ещё одна, 1001я публикация на эту тему? Статей про vim и nano написано огромное количество, но как правило они касаются только одного из редакторов, либо представляют из себя общий обзор. Чтобы в одной были сжато описаны оба редактора, но при этом без углубления в дебри приведены все основные клавиши управления для полноценной работы, я не нашёл. Поэтому, почитав найденные материалы, я начал их конспектировать, так и родилась эта статья.

Read more... )
https://habrahabr.ru/post/331600/
Клавиши и комбинации клавиш VIM
Моя шпаргалка по работе в Vim
http://najomi.org/vim
Арнольд Роббинс, Элберт Хана, Линда Лэмб "Изучаем редакторы vi и Vim" (7-е издание) 2013
Перевод справочника команд редактора vi из официального учебника Solaris
------------------------------------------------------------------
самое простое для новичка:

чтобы внести изменения в содержание файла в редакторе vi— необходимо:
  • нажать клавишу «i» или «Insert»
  • для выхода из режима редактирования — «esc»
  • для сохранения внесенных изменений — «Shift+:» затем «wq» и нажать «Enter»
  • чтобы выйти без сохранения — «Shift+:» затем «q!» и нажать «Enter»

можно также запустить в "ограниченном режиме"
rgvim

comments: Leave a comment Tell A Friend Add to Memories

Subject:Настройка сети в CentOS 7
Time:02:35 pm

У начинающих пользователей Linux могут возникнуть затруднения на самом первом этапе — не получится проверить текущее состояние сети командой ifconfig (будет выдаваться сообщение — команда не найдена). Это не проблема, это особенность работы CentOS, поэтому данную команду необходимо запускать от суперпользователя (администратора) командой:
Read more... )
http://www.gotoadm.ru/network-settings-in-centos-7/
comments: Leave a comment Tell A Friend Add to Memories

Subject:Yum, шпаргалка
Time:02:24 am

Шпаргалка по работе с пакетным менеджером Yum (Yellowdog Updater, Modified), который используется в популярных Linux дистрибутивах: RedHat, CentOS, Scientific Linux (и других). В целях экономии места вывод команд не представлен.

Read more... )
https://habrahabr.ru/post/301292/
comments: Leave a comment Tell A Friend Add to Memories

Subject:EPEL Repo на CentOS 7/6 — Инструкция по Установке
Time:02:12 am

EPEL (Extra Packages for Enterprise Linux) — это основанный сообществом открытый и бесплатный проект репозитория предоставляемый командой Fedora, который содержит высококачественные пакеты дополнительного программного обеспечения для Linux дистрибутивов.

Read more... )
https://www.shellhacks.com/ru/epel-repo-centos-7-6-install/
comments: Leave a comment Tell A Friend Add to Memories

Subject:Базовая настройка CentOS 7
Time:02:02 am

Первым делом — выполняем обновление системы. Стоит отметить, в CentOS используется свой менеджер по работе с файлами — yum.
Read more... )
https://www.gotoadm.ru/basic-settings-centos-7/

CentOS Полезные советы
---------------------------------------------------------------------

yum install yum-plugin-fastestmirror
yum install yum-plugin-priorities
yum -y install epel-release

кракозябры в консоли
unicode_start

минимальная графика
yum groupinstall "X Window System"
yum install gdm fluxbox
(без gdm и кучи что он потащит нормально запустить иксы не выйдет, приколочено гвоздями)
comments: Leave a comment Tell A Friend Add to Memories

Subject:Обработка URI форматов telnet://host для linux
Time:09:07 pm

xdg-utils для своей работы использует конфигурационные файлы расположенные в ~/.local/share/applications/. В данной директории есть файл mimeapps.list это список пользовательских типов, в него необходимо внести только одну строку:
Read more... )
https://habrahabr.ru/sandbox/110020/
comments: Leave a comment Tell A Friend Add to Memories

Subject:Aptly – свой репозиторий с контролем версий
Time:09:51 pm

Возникла необходимость фиксировать локальный репозиторий разработчиков на конкретную дату, сравнивать эти состояния, откатываться назад и возвращаться к текущему состоянию, публиковать нужную версию.
Для этой цели отлично подошел продукт под названием Aptly.
Read more... )
http://fx-files.ru/archives/1462
comments: Leave a comment Tell A Friend Add to Memories

Subject:Памятка по управлению пакетами в Debian и Ubuntu
Time:08:29 pm

Все управление пакетами в Debian происходит с помощью следующих простых команд.
Read more... )
http://eax.me/debian-packages/
https://wiki.debian.org/ru/PackageManagement
https://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.ru.html
https://www.debian.org/releases/testing/mipsel/release-notes/ch-upgrading.ru.html

comments: Leave a comment Tell A Friend Add to Memories

Subject:Резервное копирование Ubuntu
Time:07:52 pm

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

Read more... )
https://losst.ru/rezervnoe-kopirovanie-ubuntu
comments: Leave a comment Tell A Friend Add to Memories

Subject:docker команды
Time:09:29 am



ознакомиться
https://docs.docker.com/edge/engine/reference/commandline/docker/

docker login
docker logout
docker images
docker ps -a
docker rm fc473085632f
docker search centos_cython
docker pull centos_cython
docker inspect uzverss/centos_cython
docker save uzverss/centos_cython > centos_cython.tgz
docker load -i centos_cython.tgz
docker run -d uzverss/centos_cython /bin/bash
docker export fc473085632ff24cf45e31359c518c0b4795ae71a502dafea1bc3ede773b550c | docker import - uzverss/centos_cython1
docker run --rm -it uzverss/centos_cython /bin/bash
docker images
docker rmi uzverss/centos_cython1
docker images -a
docker rmi Image1 Image2
docker push uzverss/centos_cython
docker history uzverss/centos_cython
docker search centos_python3
docker search centos_cython
docker ps -a
docker run -it uzverss/centos_cython /bin/bash
docker start fc473085632f
docker attach fc473085632f
docker rm fc473085632f
docker run --name centos_bash -it uzverss/centos_cython /bin/bash
docker start centos_bash
docker attach centos_bash
docker rm centos_bash
docker rm $(docker ps -a -q -f status=exited) удалит все контейнеры кроме задействованных
docker rmi $(docker images -q) удалит все кроме имеющих запущенные контейнеры
docker rmi $(docker images -a -q) Чтобы удалить все образы, добавьте флаг –q
docker rm $(docker ps -a -q) — Удалить все существующие контейнеры
Чтобы удалить все образы, добавьте флаг –q
«-f» опция для того чтобы принудительно удалить docker образы

https://www.8host.com/blog/udalenie-obrazov-kontejnerov-i-tomov-docker/
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi $(docker images -a -q)
Удаление недействительных образов
docker rmi $(docker images -q -f dangling=true)
Удаление томов
docker volume ls
docker volume rm том1 том2 том3
docker volume ls -f dangling=true
docker volume rm $(docker volume ls -f dangling=true -q)
Удаление тома вместе с контейнером
docker rm -v имя_контейнера

https://isavel.pro/?p=71
Копирование внутрь контейнера
docker cp some_files.conf docker_container:/home/docker/

Зайти в уже запущенный контейнер (точнее выполнить команду внутри контейнера)
docker exec -it name_of_container /bin/bash

http://qaru.site/questions/14756/how-to-copy-docker-images-from-one-host-to-another-without-via-repository
export будет извлекать весь контейнер: как моментальный снимок обычной виртуальной машины
save будет извлекать изображение: для виртуальной машины или физического сервера это будет образ .ISO установки или диска
Для сглаженного экспорта файловой системы контейнера используйте;
docker export CONTAINER_ID > my_container.tar
Используйте cat my_container.tar | docker import - для импорта указанного изображения.


https://ivan.bessarabov.ru/blog/docker-commands

docker run --detach --publish 8000:80 --name sample bessarabov/sample_nginx

Скачать все теги образа ubuntu
docker pull --all-tags ubuntu

# Выяснить на каком ip адресе работает виртуальная машина с докером
$ boot2docker ip
The VM's Host only interface IP address is: 192.168.59.103

# Строка для добавления в .bash_profile, которая выставляет правильные
# переменные окружения
eval $(boot2docker shellinit 2> /dev/null)


https://habrahabr.ru/post/310460/
docker run -d -P --name static-site prakhar1989/static-site
docker port static-site
создать файл Dockerfile затем
docker build -t prakhar1989/catnip .
docker run -p 8888:5000 prakhar1989/catnip

https://habrahabr.ru/post/234829/
docker start stupefied_lovelace
docker attach stupefied_lovelace
docker run --name city -d ubuntu /bin/bash -c "while true; do echo hello world; sleep 1; done"
docker cp <путь к данным на хосте> <имя контейнера>:<путь>
docker run -v /tmp:/root -t -i <имя образа>
docker commit
[Error: Irreparable invalid markup ('<id контейнера>') in entry. Owner must fix manually. Raw contents below.]

<br><a href="https://www.docker.com/" target="_blank"><img src="https://upload.wikimedia.org/wikipedia/commons/7/79/Docker_%28container_engine%29_logo.png" width="382"></a>
<br><details><summary>ознакомиться</summary>
https://docs.docker.com/edge/engine/reference/commandline/docker/

docker login
docker logout
docker images
docker ps -a
docker rm fc473085632f
docker search centos_cython
docker pull centos_cython
docker inspect uzverss/centos_cython
docker save uzverss/centos_cython > centos_cython.tgz
docker load -i centos_cython.tgz
docker run -d uzverss/centos_cython /bin/bash
docker export fc473085632ff24cf45e31359c518c0b4795ae71a502dafea1bc3ede773b550c | docker import - uzverss/centos_cython1
docker run --rm -it uzverss/centos_cython /bin/bash
docker images
docker rmi uzverss/centos_cython1
docker images -a
docker rmi Image1 Image2
docker push uzverss/centos_cython
docker history uzverss/centos_cython
docker search centos_python3
docker search centos_cython
docker ps -a
docker run -it uzverss/centos_cython /bin/bash
docker start fc473085632f
docker attach fc473085632f
docker rm fc473085632f
docker run --name centos_bash -it uzverss/centos_cython /bin/bash
docker start centos_bash
docker attach centos_bash
docker rm centos_bash
docker rm $(docker ps -a -q -f status=exited) удалит все контейнеры кроме задействованных
docker rmi $(docker images -q) удалит все кроме имеющих запущенные контейнеры
docker rmi $(docker images -a -q) Чтобы удалить все образы, добавьте флаг –q
docker rm $(docker ps -a -q) — Удалить все существующие контейнеры
Чтобы удалить все образы, добавьте флаг –q
«-f» опция для того чтобы принудительно удалить docker образы

https://www.8host.com/blog/udalenie-obrazov-kontejnerov-i-tomov-docker/
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi $(docker images -a -q)
Удаление недействительных образов
docker rmi $(docker images -q -f dangling=true)
Удаление томов
docker volume ls
docker volume rm том1 том2 том3
docker volume ls -f dangling=true
docker volume rm $(docker volume ls -f dangling=true -q)
Удаление тома вместе с контейнером
docker rm -v имя_контейнера

https://isavel.pro/?p=71
Копирование внутрь контейнера
docker cp some_files.conf docker_container:/home/docker/

Зайти в уже запущенный контейнер (точнее выполнить команду внутри контейнера)
docker exec -it name_of_container /bin/bash

http://qaru.site/questions/14756/how-to-copy-docker-images-from-one-host-to-another-without-via-repository
export будет извлекать весь контейнер: как моментальный снимок обычной виртуальной машины
save будет извлекать изображение: для виртуальной машины или физического сервера это будет образ .ISO установки или диска
Для сглаженного экспорта файловой системы контейнера используйте;
docker export CONTAINER_ID > my_container.tar
Используйте cat my_container.tar | docker import - для импорта указанного изображения.


https://ivan.bessarabov.ru/blog/docker-commands
<details>
docker run --detach --publish 8000:80 --name sample bessarabov/sample_nginx

Скачать все теги образа ubuntu
docker pull --all-tags ubuntu

# Выяснить на каком ip адресе работает виртуальная машина с докером
$ boot2docker ip
The VM's Host only interface IP address is: 192.168.59.103

# Строка для добавления в .bash_profile, которая выставляет правильные
# переменные окружения
eval $(boot2docker shellinit 2> /dev/null)
</details>

https://habrahabr.ru/post/310460/
docker run -d -P --name static-site prakhar1989/static-site
docker port static-site
создать файл Dockerfile затем
docker build -t prakhar1989/catnip .
docker run -p 8888:5000 prakhar1989/catnip

https://habrahabr.ru/post/234829/
docker start stupefied_lovelace
docker attach stupefied_lovelace
docker run --name city -d ubuntu /bin/bash -c "while true; do echo hello world; sleep 1; done"
docker cp <путь к данным на хосте> <имя контейнера>:<путь>
docker run -v /tmp:/root -t -i <имя образа>
docker commit <id контейнера="контейнера"> <имя образа>
docker load < /tmp/transfer.tar
docker run -i -t -p 80:80 -p 443:443 --name nginx ubuntu:trusty
docker commit nginx trukhinyuri/nginx
docker push trukhinyuri/nginx

<a href="https://rtfm.co.ua/docker-retag-obraza/">Docker: retag образа</a>
<a href="https://rtfm.co.ua/bash-skript-udaleniya-obrazov-s-docker-swarm-nod/">Bash – скрипт удаления образов с Docker Swarm нод</a>
<br><textarea cols="55" rows="1" wrap="off" style="background-color: black;color:white">
#!/usr/bin/env bash

ENV=$1

[[ -z $ENV ]] && { echo -e "ERROR: please secify environemt as first argument. Vaild values are: dev|qa|staging|production. Exit."; exit 1; }

USER=jmadmin
RSA=/home/jmadmin/.ssh/jm-website-sw-$ENV

get_nodes () {
docker node ls | grep Active | cut -d" " -f1 | grep -v ID
}

get_node_df () {

local node_ip=$1

ssh -t -t -o StrictHostKeyChecking=no $USER@$node_ip -i $RSA "bash -c '
docker system df
'"
}

get_node_ip () {

local node=$1
docker inspect $node | grep Addr | cut -d":" -f 2 | sed -e 's/\"//g'
}

cleaup_node () {

local node_ip=$1

ssh -t -t -o StrictHostKeyChecking=no $USER@$node_ip -i $RSA "bash -c '
time docker images -q -a | xargs --no-run-if-empty docker rmi
'"
}

for node in $(get_nodes); do
get_node_df $(get_node_ip $node)
cleaup_node $(get_node_ip $node)
done
</textarea><br>

<a href="https://habrahabr.ru/post/240509/">Docker: запуск графических приложений в контейнерах</a>
<br><textarea cols="55" rows="1" wrap="off" style="background-color: black;color:white">
docker run --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY \
--device=/dev/snd/controlC0 --device=/dev/snd/pcmC0D0p --device=/dev/snd/seq --device=/dev/snd/timer \
deadbeef http://94.25.53.133/ultra-128.mp3
</textarea><br>
ssh -X -R 64713:localhost:4713 &lt;user&gt;@&lt;hostname&gt;

https://xakep.ru/2015/06/04/docker-faq/
указать максимальный объем памяти, который будет доступен контейнеру:
sudo docker run -d -m 256m ubuntu-nginx /usr/sbin/nginx

sudo docker run -it -v /var/run/docker.sock:/var/run/docker.sock\
nathanleclaire/devbox

DockerUI
sudo docker run -d -p 9000:9000 --privileged \
-v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui

http://IP-dockerd:9000

sudo docker run -d -p 9000:9000 --privileged \
dockerui/dockerui -e http://127.0.0.1:2375

<a href="shipyard-project.com">Shipyard</a>

sudo docker run -it -p 8080:8080 -d --name shipyard \
--link shipyard-rethinkdb:rethinkdb shipyard/shipyard

https://letsclearitup.com.ua/docker/
<details>
Проверить сколько места на жестком диске занимает Docker:
docker system df

очистка неиспользуемых данных
docker system prune

поиска образов в реестрах
docker search образ

Для запуска контейнера и выполнения внутри него команды используется:
docker container run -it itscaro/debian-ssh /bin/bash
docker run -it itscaro/debian-ssh bash

Подключиться к уже запущенному контейнеру и запустить shell:
docker container exec -it [CONTAINER ID] /bin/bash
docker exec -it [CONTAINER ID] bash

Список запущенных процессов внутри контейнера смотрим так:
docker top [CONTAINER ID]
docker container top [CONTAINER ID]

Просмотреть логи контейнера можно так:
docker logs [CONTAINER ID]
docker container logs [CONTAINER ID]
docker container logs -f [CONTAINER ID]

Для остановки контейнера используется команда stop, например:
docker stop [CONTAINER ID]
docker container stop [CONTAINER ID]

Для остановки всех запущенных контейнеров используйте такую команду:
docker container stop $(docker container ls -q)

Удалить остановленный контейнер можно так:
docker rm [CONTAINER ID]

Удалить все остановленные контейнеры можно командой:
docker container prune

Просмотреть историю образа, который использует контейнер:
docker image history --no-trunc=true $(docker container inspect -f '{{.Image}}' [CONTAINER ID])

Просмотреть изменения файловой системы контейнера по сравнению с оригинальным образом:
docker container diff [CONTAINER ID]

Выполнить резервное копирование каталога с данными из контейнера в хост-машину:
docker container run --rm --volumes-from [SOURCE_CONTAINER]:ro -v $(pwd):/backup alpine \
tar cvf /backup/backup_$(date +%Y-%m-%d_%H-%M).tar /data

Восстановить данные из резервной копии на хост-машине внутрь контейнера:
docker container run --rm --volumes-from [TARGET_CONTAINER]:ro -v $(pwd):/backup alpine \
tar xvf /backup/backup.tar

Вывод имени хранилища (volume), которое использует контейнер:
docker container inspect -f '{{ range .Mounts }}{{ .Name }} {{ end }}' [CONTAINER ID]

Вывод имени хранилища (volume), которое использует контейнер и точек монтирования:
docker container inspect -f '{{ range .Mounts }}{{ .Name }}:{{ .Destination }} {{ end }}' [CONTAINER ID]

Получить IP-адрес контейнера:
docker container inspect -f '{{ .NetworkSettings.IPAddress }}' [CONTAINER ID]

удалить недействительные образы (у которых нет метки)
docker images --no-trunc | grep '' | awk '{ print $3 }' | xargs -r docker rmi
docker rmi $(docker images -f dangling=true -q)

поиск недействительных образов
docker images -f dangling=true

удаление остановленных контейнеров
docker ps --filter status=exited -aq | xargs docker rm -v
docker rm $(docker ps -a -f status=exited -q)

удаление неиспользуемых томов в ранних версиях docker
<br><textarea cols="55" rows="1" wrap="off" style="background-color: black;color:white">
#!/usr/bin/bash

find '/var/lib/docker/volumes/' -mindepth 1 -maxdepth 1 -type d | grep -vFf <(
docker ps -aq | xargs docker inspect | jq -r '.[]|.Mounts|.[]|.Name|select(.)'
)
</textarea><br>
все неиспользуемые (недействительные) тома можно найти с помощь такой командой:
docker volume ls -f dangling=true

удалить все неиспользуемые (недействительные) тома
docker volume rm $(docker volume ls -f dangling=true -q)

Очистка места в private docker-registry
https://letsclearitup.com.ua/docker/ochistka-mesta-v-private-docker-registry.html

Находясь на docker-хосте, смотрим содержимое каталога с интересующим нас docker-образом и его тэгом в каталоге
/srv/gitlab/shared/registry/docker/registry/v2/repositories/{имя_докер_образа}/_manifests/tags/{тег_образа}/index/sha256

Смотрим содержимое каталога с ревизиями интересующего нас docker-образа
/srv/gitlab/shared/registry/docker/registry/v2/repositories/{имя_докер_образа}/_manifests/revisions/sha256

После удаления вышеуказанных файлов запускаем процесс «уборки мусора» командой:
docker exec -it {имя_контейнера_c_registry} bin/registry garbage-collect {путь_к_конфигу_внутри_контейнера}

Для чистки места также можно использовать скрипт clean_docker_registry.sh следующего содержания:
<br><textarea cols="55" rows="1" wrap="off" style="background-color: black;color:white">
#!/bin/sh
REPOPATH=/srv/gitlab/shared/registry/docker/registry/v2/repositories/
echo Docker image name is $1
echo Docker image tag is $2
echo "\n";
TAGPATH=$REPOPATH$1/_manifests/tags/$2/index/sha256
REVPATH=$REPOPATH$1/_manifests/revisions/sha256

for hash in $(ls $TAGPATH -t | tail -n +2)
do
rm -rf $TAGPATH/$hash;
rm -rf $REVPATH/$hash;
done
docker exec -it docker-registry bin/registry garbage-collect /etc/docker/registry/config.yml
</textarea><br>
Запускаем скрипт с параметрами, первый из которых — имя docker-образа, второй — тэг docker-образа, например:
./clean_docker_registry.sh master/lebed/test latest
</details>

<a href="https://habrahabr.ru/company/flant/blog/336654/">Шпаргалка с командами Docker</a>
https://github.com/eon01/DockerCheatSheet
<details>
Запуск остановленного контейнера
docker start nginx

Остановка
docker stop nginx

Перезагрузка
docker restart nginx

Пауза (приостановка всех процессов контейнера)
docker pause nginx

Снятие паузы
docker unpause nginx

Блокировка (до остановки контейнера)
docker wait nginx

Отправка SIGKILL (завершающего сигнала)
docker kill nginx

Отправка другого сигнала
docker kill -s HUP nginx

Подключение к существующему контейнеру
docker attach nginx

Работающие контейнеры
docker ps
docker ps -a

Логи контейнера
docker logs infinite

Информация о контейнере
docker inspect infinite
docker inspect --format '{{ .NetworkSettings.IPAddress }}' $(docker ps -q)

События контейнера
docker events infinite

Публичные порты
docker port infinite

Выполняющиеся процессы
docker top infinite

Использование ресурсов
docker stats infinite

Изменения в файлах или директориях файловой системы контейнера
docker diff infinite

Управление образами

Список образов
docker images

Создание образов
docker build .
docker build github.com/creack/docker-firefox
docker build - < Dockerfile
docker build - < context.tar.gz
docker build -t eon/infinite .
docker build -f myOtherDockerfile .
curl example.com/remote/Dockerfile | docker build -f - .

Удаление образа
docker rmi nginx

Загрузка репозитория в tar (из файла или стандартного ввода)
docker load < ubuntu.tar.gz
docker load --input ubuntu.tar

Сохранение образа в tar-архив
docker save busybox > ubuntu.tar

Просмотр истории образа
docker history

Создание образа из контейнера
docker commit nginx

Тегирование образа
docker tag nginx eon01/nginx

Push (загрузка в реестр) образа
docker push eon01/nginx

Сеть

Создание сети
docker network create -d overlay MyOverlayNetwork
docker network create -d bridge MyBridgeNetwork
<br><textarea cols="55" rows="1" wrap="off" style="background-color: black;color:white">
docker network create -d overlay \
--subnet=192.168.0.0/16 \
--subnet=192.170.0.0/16 \
--gateway=192.168.0.100 \
--gateway=192.170.0.100 \
--ip-range=192.168.1.0/24 \
--aux-address="my-router=192.168.1.5" --aux-address="my-switch=192.168.1.6" \
--aux-address="my-printer=192.170.1.5" --aux-address="my-nas=192.170.1.6" \
MyOverlayNetwork
</textarea><br>

Удаление сети
docker network rm MyOverlayNetwork

Список сетей
docker network ls

Получение информации о сети
docker network inspect MyOverlayNetwork

Подключение работающего контейнера к сети
docker network connect MyOverlayNetwork nginx

Подключение контейнера к сети при его запуске
docker run -it -d --network=MyOverlayNetwork nginx

Отключение контейнера от сети
docker network disconnect MyOverlayNetwork nginx

Очистка Docker

Удаление работающего контейнера
docker rm nginx

Удаление контейнера и его тома (volume)
docker rm -v nginx

Удаление всех контейнеров со статусом exited
docker rm $(docker ps -a -f status=exited -q)

Удаление всех остановленных контейнеров
docker container prune
docker rm `docker ps -a -q`

Удаление контейнеров, остановленных более суток назад
docker container prune --filter "until=24h"

Удаление образа
docker rmi nginx

Удаление неиспользуемых (dangling) образов
docker image prune
docker rmi $(docker images -f dangling=true -q)

Удаление неиспользуемых (dangling) образов даже с тегами
docker image prune -a

Удаление всех образов
docker rmi $(docker images -a -q)

Удаление всех образов без тегов
docker rmi -f $(docker images | grep "^<none>" | awk "{print $3}")

Остановка и удаление всех контейнеров
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)

Удаление неиспользуемых (dangling) томов
docker volume prune
docker volume rm $(docker volume ls -f dangling=true -q)

Удаление неиспользуемых (dangling) томов по фильтру
docker volume prune --filter "label!=keep"

Удаление неиспользуемых сетей
docker network prune

Удаление всех неиспользуемых объектов
docker system prune

По умолчанию для Docker 17.06.1+ тома не удаляются. Чтобы удалились и они тоже:
docker system prune --volumes

Docker Swarm
Установка Docker Swarm
curl -ssl https://get.docker.com | bash

Инициализация Swarm
docker swarm init --advertise-addr 192.168.10.1

Подключение рабочего узла (worker) к Swarm
docker swarm join-token worker

Подключение управляющего узла (manager) к Swarm
docker swarm join-token manager

Список сервисов
docker service ls

Список узлов
docker node ls

Создание сервиса
docker service create --name vote -p 8080:80 instavote/vote

Список заданий Swarm
docker service ps

Масштабирование сервиса
docker service scale vote=3

Обновление сервиса
docker service update --image instavote/vote:movies vote
docker service update --force --update-parallelism 1 --update-delay 30s nginx
docker service update --update-parallelism 5--update-delay 2s --image instavote/vote:indent vote
docker service update --limit-cpu 2 nginx
docker service update --replicas=5 nginx

</details>

Шпаргалка по командам Dockerfile
<details>
FROM <имя-образа> — какой образ использовать в качестве базы (должна быть первой строкой в любом Dockerfile).
MAINTAINER <имя> — имя мантейнера данного Dockerfile.
RUN <команда> — запустить указанную команду внутри контейнера.
CMD <команда> — выполнить команду при запуске контейнера (обычно идет последней).
EXPOSE <порт> — список портов, которые будет слушать контейнер (используется механизмом линковки).
ENV <ключ> <значение> — создать переменную окружения.
ADD <путь> <путь> — скопировать файл/каталог внутрь контейнера/образа (первый аргумент может быть URL).
ENTRYPOINT <команда> — команда для запуска приложения в контейнере (по умолчанию /bin/sh -c).
VOLUME <путь> — пробросить в контейнер указанный каталог (аналог опции -v).
USER <имя> — сменить юзера внутри контейнера.
WORKDIR <путь> — сменить каталог внутри контейнера.
ONBUILD [ИНСТРУКЦИЯ] — запустить указанную инструкцию Dockerfile только в том случае, если образ используется для сборки другого образа (с помощью FROM).
</details>
https://wiki.russianfedora.pro/index.php?title=Docker
<a href="https://habrahabr.ru/post/310460/"><b>Полное практическое руководство по Docker: с нуля до кластера на AWS</b></a>
</details>
comments: Leave a comment Tell A Friend Add to Memories

Subject:Типовая конфигурация для маршрутизатора Cisco в малом офисе
Time:11:16 pm

Написать опус сподвигло полное отсутствие аналогов. То есть в сети присутствует множество тем и примеров, как надо строить сеть малого предприятия секьюрно, архитектурно правильно, чтобы присутствовала хорошая производительность и всё такое. НО! Все эти принципы никак не пересекаются в одном конфиге. То есть "Делаем NAT.." но без "VPN на Cisco", "Zone Based Firewall" но без VPN, NAT+VPN+ZBF но без Traffic Policing...Read more... )
http://nosovdn-cisco.blogspot.ru/2013/11/cisco.html
comments: Leave a comment Tell A Friend Add to Memories

Subject:Заметки по Cisco
Time:11:04 pm


port-access-to-cisco
--------------------
interface FastEthernet0/1
 description CISCO
 switchport access vlan 2
 switchport mode access
 switchport nonegotiate


port-access-to-other
--------------------
interface FastEthernet0/1
 description OTHER
 switchport access vlan 2
 switchport mode access
 switchport nonegotiate
 no cdp enable


port-access-to-host
-------------------
interface FastEthernet0/1
 description HOST
 switchport access vlan 2
 switchport mode access
 switchport nonegotiate
 no cdp enable
 spanning-tree portfast


port-trunk
----------
interface GigabitEthernet0/1
 description TO 3750 G1/0/1
 switchport trunk encapsulation dot1q
 switchport trunk native vlan 999
 switchport mode trunk
 switchport nonegotiate


port-channel
------------
interface Port-channel1
 description TO 3750
 switchport trunk encapsulation dot1q
 switchport trunk native vlan 999
 switchport mode trunk
 switchport nonegotiate

interface GigabitEthernet0/1
 description TO 3750 G1/0/1
 switchport trunk encapsulation dot1q
 switchport trunk native vlan 999
 switchport mode trunk
 switchport nonegotiate
 channel-group 1 mode on

interface GigabitEthernet0/2
 description to 3750 G2/0/1
 switchport trunk encapsulation dot1q
 switchport trunk native vlan 999
 switchport mode trunk
 switchport nonegotiate
 channel-group 1 mode on


Разное
------
CTRL+SHIFT+6 - Прерывание.
en - Войти в привилегированный режим (пароль по умолчанию: Cisco).
username pupkin pr 15 se 0  - Создать пользователя с наивысшими привилегиями (15) и паролем.
sh inv raw | inc NAME|SN: [0-9A-Z] - Показать модули и их серийные номера.
sh pow - Показать статус питания.
sh proc cpu h - Показать загрузку процессора (график).
sh proc cpu | inc one minute - Показать загрузку процессора (одной строкой).
sh proc cpu sort | exc 0.00%  0.00%  0.00% - Показать загрузку процессора (процессы).
sh cdp ne - Просмотр окружения.
sh ip source binding - Показать привязки: MAC/IP/LEASE/VLAN/INTERFACE.
sh arp | inc 10.129.11.40                   - Поиск MAC`а по IP.
sh arp | inc bcae.c50e.1c28                 - Поиск IP по MAC`у.
sh mac-address-table address bcae.c50e.1c28 - Поиск IP по MAC`у.
sh mac address-table address bcae.c50e.1c28 - Поиск IP по MAC`у.
reload in 10  - Перезагрузка через 10 минут.
reload cancel - Отменить перезагрузку.
no cdp run - Глобальное отключение CDP (Cisco Discovery Protocol).


Time
----
ntp update-calendar   - Обновление hardware clock (calendar).
clock calendar-valid  - При продолжительной работе время clock и время в календаре маршрутизатора могут незначительно отличаться друг от друга. Для устранения этого расхождения у команды clock существует параметр calendar-valid для периодической синхронизации календаря и времени clock, которое генерирует кварцевый резонатор.
clock timezone MSK 3  - Установить часовой пояс Москва +3.
clock timezone SAMT 4 - Установить часовой пояс Самара +4.
clock summer-time MSKS  recurring last Sun Mar 2:00 last Sun Oct 3:00 - Переход на летнее Московское время.
clock summer-time SAMST recurring last Sun Mar 2:00 last Sun Oct 3:00 - Переход на летнее Самарское  время.

По умолчанию в конфигурации маршрутизатора включены сервисы timestamps debug и timestamps log, которые отображают время события (заносимого в журнал или отображаемого при включении debug) в нормальном формате, привязанном к правильному текущему времени. Если эти сервисы отключены, то очень рекомендую их включить:
  service timestamps debug datetime localtime
  service timestamps log datetime localtime


IOS
---
CTRL+BREAK при загрузке - Вход в ROMMON.

sh ver - Показать версию IOS.
sh file sys - Показать список файловых систем.
erase startup-config - Очистить конфигурацию, устанавливаемую при загрузке (потом reload).
erase cat4000_flash: - Очистить FLASH на 4506 (vlan.dat).
delete flash:vlan.dat - Удалить базу VLAN`ов.
squeeze bootflash: - Удалить файлы, помеченные как deleted.


IOS Update
----------
Через HyperTerminal по протоколу Xmodem:
  switch> enable
  switch: set baud = 115200
  switch: copy xmodem: flash:c2960-lanbase-mz.122-50.SE1.bin
  В HyperTerminal: Передача -> Отправить файл -> Протокол: 1K Xmodem.


Значения конфигурационных регистров вида 0xXXXX оборудования Cisco
------------------------------------------------------------------
Конфигурационный регистр управляет следующим поведение устройств Cisco:
  * как загружается устройство (в ROMmon, NetBoot),
  * варианты загрузки (игнорирование конфигурации, отключение сообщений при загрузке),
  * скорость консоли (скорость в бодах для эмуляции терминальной сессии).

  show version | inc register - Просмотреть текущее состояние конфигурационного регистра.
  config-register             - Установить новое значение конфигурационного регистра.
  config-register 0x2102      - Помогает, если не сохраняется конфигурация после перезагрузки.

Конфигурационные регистры имеют следующие значения:
  0x102
    * Ignores break
    * 9600 console baud
  0x1202
    * 1200 baud rate
  0x2101
    * Boots into bootstrap
    * Ignores break
    * Boots into ROM if initial boot fails
    * 9600 console baud rate
  0x2102
    * Ignores break
    * Boots into ROM if initial boot fails
    * 9600 console baud rate default value for most platforms
  0x2120
    * Boots into ROMmon
    * 19200 console speed
  0x2122
    * Ignores break
    * Boots into ROM if initial boot fails
    * 19200 console baud rate
  0x2124
    * NetBoot
    * Ignores break
    * Boots into ROM if initial boot fails
    * 19200 console speed
  0x2142
    * Ignores break
    * Boots into ROM if initial boot fails
    * 9600 console baud rate
    * Ignores the contents of Non-Volatile RAM (NVRAM) (ignores configuration)
  0x2902
    * Ignores break
    * Boots into ROM if initial boot fails
    * 4800 console baud rate
  0x2922
    * Ignores break
    * Boots into ROM if initial boot fails
    * 38400 console baud rate
  0x3122
    * Ignores break
    * Boots into ROM if initial boot fails
    * 57600 console baud rate
  0x3902
    * Ignores break
    * Boots into ROM if initial boot fails
    * 2400 console baud rate
  0x3922
    * Ignores break
    * Boots into ROM if initial boot fails
    * 115200 console baud rate

Значения отдельных битов конфигурационного регистра:
  00-03 (0x0000-0x000F)
    * Boots Field Parameters (0x0000)
    * Stays at the system bootstrap prompt (0x0001)
    * Boots system image on EPROM (0x0002-0x000F)
    * Specifies a default netboot filename
  06 (0x0040)
    * Ignore NVRAM contents
  07 (0x0080)
    * Disable boot messages
  08 (0x0100)
    * Break disabled
  10 (0x0400)
    * IP broadcast with all zeros
  5,11,12 (0x0020,0x0800,0x1000)
    * Console line speed
  13 (0x2000)
    * Boots default ROM software if network boot fails
  14 (0x4000)
    * IP broadcasts do not have net numbers
  15 (0x8000)
    * Enables diagnostic messages
    * Ignores NVRAM contents


Port
----
switchport nonegotiate - Не распознавать режим (mode access или mode trunk) автоматически.


Interface
---------
default int vl 1 - Настр. по умолч. для VLAN.
sh int p1 cou er - Показать ошибки на интерфейсе p1.
clear cou p1     - Сбросить статистику ошибок на интерфейсе p1.


PVST - per vlan spanning tree protocol
--------------------------------------
sh spanning-tree summary - Показать инф. о STP.
no spanning-tree vlan 10 - Откл. PVSTP для VLan`а.
int f0/11
  spanning-tree guard none - Откл. STP Guard на порту.
  spanning-tree guard root - Предотвращение перехода других коммутаторов в режим корневого моста STP.


Port Fast
---------
Функция, которая позволяет порту пропустить состояния listening и learning и сразу же перейти в состояние forwarding. Настраивается на портах уровня доступа, к которым подключены пользователи или сервера.
Порт с включенной функцией Port Fast проходит через обычный цикл состояний spanning-tree, когда коммутатор перезагружается.
Цель функции Port Fast минимизировать время, которое необходимо для того чтобы порт перешел в состояние forward. Поэтому она эффективна только когда применена к портам, к которым подключены хосты. Если включить Port Fast на портах, которые соединены с другими коммутаторами, то есть риск создания петли.
Режим Port Fast должен быть включен только на порте, подключенному к одному хосту. Подключение хабов, концентраторов, свитчей, бриджей, и т.д. к этому интерфейсу, когда включен режим Port Fast, может вызвать временную петлю. Используйте с осторожностью. Режим Port Fast действует только когда интерфейс не в режиме trunk.

Настройка Port Fast на access-интерфейсе:
  int f0/1
    spanning-tree portfast

Настройка Port Fast на trunk-интерфейсе:
  int f0/1
    spanning-tree portfast trunk
  !!! Если на trunk-интерфейсе выполнить команду без параметра trunk, то функция Port Fast не будет применена.

Функцию Port Fast можно настроить глобально на всех интерфейсах в режиме access:
  spanning-tree portfast default

Отключить Port Fast на интерфейсе:
  int f0/1
    spanning-tree portfast disable

Просмотр информации о статусе функции Port Fast:
  sh spanning-tree int f0/1 portfast
  sh spanning-tree int f0/1 detail
  sh spanning-tree summary


BPDU
----
Bridge Protocol Data Unit - пакет (единица данных) протокола управления мостами, IEEE 802.1d, базируется на реализации протокола STP (Spanning Tree Protocol). Используется для исключения возможности возникновения петель в сетях передачи данных при наличии в них многосвязной топологии. Используя одну физическую либо логическую связь в качестве основной, BPDU удерживает одну из доступных вторичных связей в режиме бездействия (ожидания). Таким образом полезный трафик передаётся только по одной из доступных связей. При нарушении функционирования одного из каналов (что легко наблюдается отсутствием прохождения через него сообщений 802.1d) ожидающий вторичный канал автоматически включается в работу, обеспечивая непрерываемость связности в сети.

BPDU Filtering
--------------
После включения функции, порт не принимает и не отправляет BPDU.
Может быть включена глобально на коммутаторе или на интерфейсе, у этих режимов есть некоторые отличия:
  - Если BPDU filtering включена глобально на коммутаторе, то для портов с включенной функцией Port Fast:
    - порт не принимает и не отправляет BPDU,
    - при включении порта отправляются несколько BPDU, а затем коммутатор фильтрует исходящие BPDU,
    - при получении BPDU на портах с Port Fast, на порту выключается Port Fast и BPDU filtering,
  - Если BPDU filtering включена на интерфейсе (без включения функции Port Fast):
    - порт не принимает и не отправляет BPDU,
    - применение этой функции на интерфейсе равносильно отключению spanning-tree на нем и может привести к образованию петель.

Включение BPDU Filtering глобально на коммутаторе, на портах с включенной функцией Port Fast:
  spanning-tree portfast bpdufilter default

  !!! Хотя в команде, которая включает BPDU Filtering глобально на коммутаторе, есть параметр portfast, применение этой команды не включает функцию Port Fast. Она должна быть настроена отдельно.

Настройка BPDU Filtering на интерфейсе:
  int f0/1
    spanning-tree bpdufilter enable

Просмотр информации о настройках BPDU Filtering:
  sh spanning-tree interface f0/1 detail
  sh spanning-tree summary


BPDU Guard
----------
Включение BPDU Guard глобально на коммутаторе, на портах с включенной функцией Port Fast:
  spanning-tree portfast bpduguard default
  !!! Хотя в команде, которая включает BPDU Guard глобально на коммутаторе, есть параметр portfast, применение этой команды не включает функцию Port Fast. Она должна быть настроена отдельно.

Настройка BPDU Guard на интерфейсе:
  int f0/1
    spanning-tree bpduguard enable

Просмотр информации о настройках BPDU Guard:
  sh spanning-tree int f0/1 detail
  sh spanning-tree summary


Отличия между STP BPDU Guard и STP Root Guard
---------------------------------------------
BPDU Guard и Root Guard схожи, но их воздействие различно:
 - BPDU Guard отключает порт после получения BPDU если Port Fast включен на этом порту. Отключение этих портов устройства эффективно исключает их из участия в STP. Вы должны вручную включить порт, который введен в состояние errdisable или настроить errdisable-тайм-аут.
 - Root Guard позволяет устройству принимать участие в STP до тех пор, пока устройство не будет пытаться стать root`ом. Если Root Guard блокирует порт, то восстанавливает его автоматически. Восстановление происходит, как только устройство-нарушитель перестает отправлять superior BPDUs.


UDLD
----
Протокол обнаружения однонаправленной связи (UDLD) позволяет устройствам, подключенным с помощью оптоволоконных или медных кабелей Ethernet (например кабелей категории 5), отслеживать физическую конфигурацию кабелей и обнаруживать появление однонаправленных соединений. При обнаружении однонаправленного соединения протокол UDLD отключает соответствующий порт и создает сообщение предупреждения для пользователя. Однонаправленные соединения могут вызвать множество проблем, включая петли в топологии STP.
Если выполнена команда errdisable recovery, можно определить причину состояния "errdisabled" с помощью команды sh errdisable recovery.
udld en - Вкл. Unidirected Link Detection - Обнаружение обрыва или неправильного подкл. полнодуплексных линков.
sh udld - Показать инф. об Unidirected Link Detection.


VTP (VLAN Trunking Protocol)
----------------------------
VLan`ы хранятся в конфиге, только если VTP Mode = Transparent.
sh vl br - Показать VLan`ы.
sh vtp st - Показать VTP-статус.
no vtp pr - Откл. VTP Pruning - Рекомендуется выкл. Особенно, если NATIVE VLAN изменён. Могут быть проблемы с VTP.


GLBP (Gateway Load Balancing Protocol)
--------------------------------------
Проприетарный протокол Cisco, предназначенный для увеличения доступности маршрутизаторов выполняющих роль шлюза по умолчанию и балансировки нагрузки между этими маршрутизаторами.
Терминология протокола:
  * Active Virtual Gateway (AVG) — присваивает виртуальный MAC-адрес каждому члену группы. AVG отвечает на ARP-запросы на виртуальный IP-адрес.
  * Active Virtual Forwarders (AVF) — маршрутизатор GLBP группы, который отвечает за отправку пакетов, которые пришли на виртуальный MAC-адрес, присвоенный ему AVG.
  * GLBP группа -- в группе могут быть 4 маршрутизатора.
Маршрутизаторы отправляют друг другу сообщения hello каждые 3 секунды. Сообщения отправляются на адрес 224.0.0.102, UDP порт 3222 (отправителя и получателя).
Режимы балансировки нагрузки:
  * Weighted load-balancing
  * Host-dependent load-balancing
  * Round-robin load-balancing -- режим используется по умолчанию.


CEF (Cisco Express Forwarding)
------------------------------
Способ ускоренной коммутации пакетов, позволяющий сэкономить процессорное время. Технически это реализовано за счет того, что маршрутизатор составляет единую таблицу, в которую включает все достижимые хосты, и ведет поиск по ней, вместо того, чтобы вести рекурсивный поиск по нескольким таблицам (arp, статика, несколько динамических протоколов и т.д.).

CEF включен по умолчанию, если его не отключить принудитедьно командами:
  no ip cef
и на интерфейсах:
  no ip route-cache
  no ip mroute-cache

Посмотреть статус можно командой:
  show cef state

To enable load balancing for Cisco Express Forwarding (CEF), use the ip load-sharing command in interface configuration mode.
  interface G0/1
    ip load-sharing per-destination


Routing
-------
ip subnet-zero - Разрешить использование 0 в номере подсети. Согласно документам RFC 791 нулевой адрес подсети определять не рекомендуется. И всё же, введя в ваших маршрутизаторах команду ip subnet-zero, вы сможете присвоить хостам в подсети 0 адреса от 1 до 127 (имеются в виду маски подсетей для сетей класса С), а в подсети 128 - адреса от 129 до 254. Такой подход позволяет несколько расширить число допустимых адресов. Если следовать RFC, вы сможете воспользоваться в лучшем случае только маской подсети 192 (двухбитовые адреса подсетей). Т.е маски 255.255.255.0 и 255.255.255.128 будут вам недоступны.
ip routing - Включение маршрутизации.
ip default-gateway 192.168.100.1 - Шлюз по умолчанию.
ip source-route - включить функцию "IP source routing" - она позволяет отправителю указать через какие маршрутизаторы должен пройти пакет.
no ip source-route - маршрутизатор будет отбрасывать любые входящие пакеты в которых установлена опция "IP source routing".


Policy Based Routing (PBR)
--------------------------
Команда set ip default next-hop проверяет существование адреса назначения в таблице маршрутизации и:
 - если адрес назначения существует, то команда не выполняет маршрутизацию пакета, вместо это пакет перенаправляется в соответствие таблице маршрутизации.
 - если адрес назначения не существует, команда маршрутизирует пакет, посылая его на указанный next-hop.

Команда set ip next-hop проверяет существование указанного next-hop и:
 - если next-hop существует в таблице маршрутизации, тогда пакет направляется на этот next-hop.
 - если next-hop не существует в таблице маршрутизации, пакет перенаправляется в соответствие с таблицей маршрутизации.


IP SLA (Service Level Agreements - соглашения об уровне обслуживания)
---------------------------------------------------------------------
Мониторинг наличия и качества связи является важным инструментом администратора сети, т.к. он позволяет не только обнаруживать проблему, но и предвидеть возникновение самой проблемы.
В Cisco IOS встроены несколько тестов для определения состояния сети которые объединены понятием SLA. На сегодняшний день SLA поддерживает следующие тесты:
 - dhcp DHCP Operation
 - dns DNS Query Operation
 - ethernet Ethernet Operations
 - ftp FTP Operation
 - http HTTP Operation
 - icmp-echo ICMP Echo Operation
 - icmp-jitter ICMP Jitter Operation
 - path-echo Path Discovered ICMP Echo Operation
 - path-jitter Path Discovered ICMP Jitter Operation
 - tcp-connect TCP Connect Operation
 - udp-echo UDP Echo Operation
 - udp-jitter UDP Jitter Operation
 - voip Voice Over IP Operation

Еще одно из полезных применений IP SLA - это автоматическое определение качества связи.
Как известно, наиболее чуствительным к качеству является голосовой трафик, поэтому наиболее ценным тестом является Jitter test.

На качество голоса влияет несколько параметров одновременно:
 - End-to-end (one way) delay: Это задержка пакета в одну сторону. Должно быть максимум 150ms
 - Jitter: Разные пакеты могут приходить с разными задержками, эту флуктуацию и определяет параметр jitter. Должно быть максимум 30ms
 - Packet loss: Потери пакетов должны быть максимум 1%

Эти параметры можно посмотреть на телефоне прямо во время звонка двумя способами:
 - Зайти на страницу телефона: Streaming Statistics > stream 1
 - Дважды нажать на кнопку "?" на телефоне

Возможны различные комбинации значений этих трех параметров. Например, как показывает практика, вполне можно говорить если End-to-end (one way) delay составляет 200ms, а остальные параметры идеальны. Но совершенно невозможно говорить если Jitter стабильно более 100, даже если остальные два параметра идеальны.
Тест IP SLA Jitter позволяет их всех привести к "общему знаменателю", типа можно говорить или нельзя. Этими едиными параметрами является MoS или ICPIF.
В тесте IP SLA Jitter используется Service Assurance Agent (Cisco SAA). Его работа заключается в симулировании голосового кодека и последующим определением End-to-end (one way) delay, Jitter, Packet loss. По этим параметрам Cisco SAA затем вычисляет MOS и ICPIF.
MOS и ICPIF используются для оценки качества связи и могут быть определены автоматически в результате теста Jitter.
Рассмотрим возможные значения:

ICPIF
5       Very Good
10      Good
20      Adequate
30      Limiting case
45      Exceptional limiting case
55      Customers likely to react strongly

MOS
5       Excelent
4       Good
3       Fair
2       Poor
1       Bad

Как показала практика, наибольшую полезность представляет ICPIF

Реализация.

На одном конце:

ip sla responder
ip sla 10
udp-jitter 172.16.127.33 20001 source-ip 172.16.127.4 codec g711ulaw codec-size 20
tos 184
frequency 300
ip sla schedule 10 life forever start-time now
access-list 5 permit 192.168.2.49
snmp-server community cmonitor RW 5
snmp-server ifindex persist

На другом конце:

ip sla responder
access-list 5 permit 192.168.2.49
snmp-server community cmonitor RW 5
snmp-server ifindex persist

Смотрим текущее значение IP SLA:
show ip sla statistics

Мониторить и анализировать очень удобно с помощью PRTG, где можно использовать сенсор VoIP and Qos > Cisco IP SLA
Натравливаем на роутеры PRTG, - он должен сам увидеть по SNMP созданные на маршрутизаторе элементы IP SLA.

Прочее:

ip cef                                          - Включить CEF, который будет отвечать за "быстрое" переключение между каналами.
ip sla 100                                      - Создать контейнер IP SLA с номером 100, который мы указали в соответствующем track.
ip sla schedule 100 start-time now life forever - Запустить контейнер IP SLA с номером 100 начиная с текущего момента и не использовать "вечно" (можно указать конкретное время, в течение которого будет действовать указанный IP SLA, но нам нужно чтобы он работал все время, так что ставим forever).
track 100 ip sla 100 reachability               - Привязать флаг track 100 к ip sla с номером 100. Track - это флаг состояния, который может иметь два значения: up или down. Этот флаг будет устанавливаться на основе данных полученных от IP SLA.


EIGRP
-----
sh ip eigrp ne - Просмотр EIGRP-окружения.


EIGRP Stub
----------
Если маршрутизатор получает информацию о том, что его сосед stub-маршрутизатор (тупиковый), то он не отправляет ему запросы о каких-либо маршрутах.
router eigrp 1
  eigrp stub connected     - Разрешает stub маршрутизатору отправлять connected маршруты, но только для интерфейсов, адреса которых находятся в сетях, указанных командой network;
  eigrp stub summary       - Разрешает stub маршрутизатору отправлять суммарные маршруты (автоматически просуммированные или административно);
                             (на уровне распределения - на всех CISC-ах, прямо подключенных к 6506).
  eigrp stub               - connected и summary
                             (на уровне доступа);
  eigrp stub leak-map      - Allow dynamic prefixes based on the leak-map;
  eigrp stub receive-only  - Запрещает stub маршрутизатору отправлять какие-либо маршруты;
  eigrp stub redistributed - Разрешает stub маршрутизатору отправлять redistributed маршруты;
  eigrp stub static        - Разрешает stub маршрутизатору отправлять static маршруты, при том, что перераспределение статических маршрутов уже настроено.

router eigrp 1
  network - Объявление классовой сети.
  passive-int def - Откл. обмен маршрутами по EIGRP на всех интерфейсах.
  no passive-int g0/1 - Вкл. обмен маршрутами по EIGRP на интерфейсах, участвующих в маршрутизации.
  vtp prun - Отмена передачи по trunk-ам vlan-ов, не объявленных на коммутаторе.


EIGRP authentification
----------------------
Для включения аутентификации сообщений протокола маршрутизации необходимо определить наборы ключей (key-chain), в каждом наборе необходимо определить верные ключи (key) и (необязательно) время их действия. После этого для каждого интерфейса можно назначить аутентификацию EIGRP-сообщений с помощью того или иного набора ключей.

  (config)#key chain <имя набора> - Определение набора ключей.
  (config-keychain)#key <номер ключа по порядку> - Определения каждого ключа в наборе.
  (config-keychain-key)#key-string <значение ключа> - Определения каждого ключа в наборе (значением ключа может быть любое слово).
  (config-if)#ip authentication mode eigrp  md5 - Аутентификация с помощью указанного набора ключей (при этом принимается сообщение с любым ключом из набора, действительным в настоящий момент; если время действия при создании ключа не указано, он действителен всегда).
  (config-if)#ip authentication key-chain eigrp  <имя набора> - Определяем тип аутентификации: ключ передается в сообщении открытым текстом (text) или используется защищенный режим - хэширование ключа по алгоритму MD-5 (md5).

  где N - номер автономной системы.


DHCP snooping
-------------
DHCP snooping позволяет:
  - Защитить клиентов в сети от получения адреса от неавторизованного DHCP-сервера,
  - Регулировать какие сообщения протокола DHCP отбрасывать, какие перенаправлять и на какие порты.

Для правильной работы DHCP snooping, необходимо указать какие порты коммутатора будут доверенными, а какие - нет.
  ip dhcp snooping                       - Вкл. DHCP snooping.
  ip dhcp snooping vlan 1-4096           - Вкл. DHCP snooping в VLan`ах, которые должны быть защищены с его помощью.
  no ip dhcp snooping verify mac         - Откл. проверку соответствия MAC-адреса в DHCP-запросе MAC-адресу клиента.
  no ip dhcp snooping information option - Откл. вставку опции 82.
  int p1                                 - Указать доверенные порты (По умолчанию на коммутаторе все порты ненадёжные).
    ip dhcp snooping trust               - Указать доверенные порты (По умолчанию на коммутаторе все порты ненадёжные).
  ip dhcp-server 192.168.100.1           - Указать адрес авторизованного DHCP-сервера, доступного через доверенный порт.
  sh ip dhcp snooping                    - Просмотр настроек DHCP snooping`а.
  sh ip dhcp snooping binding            - Просмотр базы данных привязки DHCP для коммутатора.
  sh ip dhcp snooping statistics         - Просмотр статистики DHCP snooping`а.


IPSEC
-----
sh crypto session detail                - Просмотр состояния сессий
sh crypto isakmp sa
sh crypto ipsec  sa
clear crypto isakmp                     - Очищение ключей
clear crypto session remote 82.101.4.12 - Сброс сессии с 82.101.4.12


SSH
---
ip domain-name xgu.ru                - Имя домена (необходимо для генерации ключей)
crypto key generate rsa modulus 1024 - Создание пары ключей (если ключей нет, при подключении в ответ получаем ошибку: "connection refused")
ip ssh version 2                     - Включение SSH версии 2
ip ssh maxstartups 2                 - Ограничение числа сессий SSH
ip ssh time-out 60                   - Ограничение времени неактивного соединения (по-умолчанию 300 секунд)
ip ssh source-interface F0/1         - Указание интерфейса для всех сессий SSH
ip ssh logging events                - Включение журналирования событий SSH
username admin secret cisco123       - Создание пользователя в локальной базе
line vty 0 4                         - Настройка VTY
  login local
  transport input ssh


SNMP
----
Q: Что необходимо сделать на оборудовании Cisco, чтобы не изменялись Index-ы интерфейсов при перезагрузке/смене IOS-а устройства?
A: При перезагрузке устройства Cisco, устройство каждый раз создает новые Index-ы для интерфейсов, которые могут измениться, а могут и не меняться (зависит от изменений, произведенных на оборудовании). Соответствено NetXMS обращается на старые индексы и выдавать неверную информацию. Чтобы этого не происходило, необходимо на оборудовании прописать команду:
  (config)snmp-server ifindex persist
которая создаст файл ifIndex-table в nvram. Далее Cisco при загрузке устанавливает индексы для интерфейсов сверяясь с этим файлом, тем самым решается вопрос с неверным отображением информации по интерфейсам по SNMP.


NAT
---
sh ip nat translations - Показать таблицу NAT

https://sites.google.com/site/smkuzmin/home/cisco
comments: Leave a comment Tell A Friend Add to Memories

Subject:Настройка Sublime Text для работы через прокси
Time:09:12 pm

Текстовый редактор Sublime Text 3 изначально мощный, но без плагинов все равно не удовлетворяет всем потребностям разработчиков. Плагины устанавливаются через Package Control, который в свою очередь подтягивает дополнения из интернета. Но что делать, если разработчик находится в корпоративной сети за прокси сервером? Да все просто, надо просто прописать прокси в настройках Sublime Text Preferences -> Package Settings -> Package Control -> Settings – User.

sublime text proxy settings 1 thumb Настройка Sublime Text для работы через прокси

В файле конфигурации дописываем 4 параметра:


1
2
3
4
"http_proxy": "proxy.contoso.com:8080",
"https_proxy": "proxy.contoso.com:8080",
"proxy_password": "Pa$$w0rd",
"proxy_username": "contoso\\username",

Очередность можно не соблюдать, Sublime Text сам все выставит. В результате должно получиться, как на скриншоте (данные надо вбивать свои, конечно же). Домен и имя пользователя надо писать с экранированным обратным слешем – domain\\username!


sublime text proxy settings 2 thumb Настройка Sublime Text для работы через прокси


Перепускаем Sublime Text и ставим пакеты через Package Control. В моем случае все заработало через прокси сервер Microsoft ISA Server 2006.



----------------------------------------------------------------------

Package control можно поставить вручную.
Жмете Preferences > Browse Packages…
Переходите в родительский каталог (Sublime Text 2) и создаете в нем папку Installed Packages
В нее скачиваете файл Package Control.sublime-package
Перезапускаете сублайм
Чтобы потом через Package control устанавливать плагины, идете в Preference > Package Settings > Package control > Settings-User и в нем прописываете

"http_proxy": "host:port",
"https_proxy": "host:port",
"proxy_password": "pass",
"proxy_username": "user"


Если после установки Proxy пакеты не обновляются (но при этом может так случиться, что список обновляемых пакетов отображается), то нужно в настройках IE (Меню Сервис -> Свойства обозревателя -> Вкладка Дополнительно) отключить галочку "Проверять, не отозван ли сертификат сервера" и перезапустить IE и Sublime.


http://did5.ru/it/programming/nastrojka-sublime-text-dlya-raboty-cherez-proksi.html
http://viking-k.livejournal.com/24463.html
comments: Leave a comment Tell A Friend Add to Memories

Subject:Некоторые команды консоли коммутаторов D-Link.
Time:10:16 am
Оригинал взят у [info]easy_adminko@lj в Некоторые команды консоли коммутаторов D-Link.

show ports
Показать инфо о портах

config ports x state enable
Включить порт

config ports x state disable
Выключить порт

config bandwidth_control
Изменение скорости

config vlan default(имя влана) delete xx
config vlan v996 (имя влана) add untagged xx
Изменение влана

show switch
Отображение информации о коммутаторе. Важно: не путать версию прошивки и версию конфига

show log
Просмотр логов коммутатора

Варианты записей присутствующих в логах коммутатора:

7028 2008/10/23 18:51:57 Port 19 link down — упал линк на 19-м порту
7029 2008/10/23 18:52:01 Port 19 link up, 100Mbps FULL duplex — линк поднялся на 19-м порту установлена скорость передачи 100Mb установлен режим полного дуплекса
7045 2008/10/23 19:28:19 Multicast storm is occurring (port: 18) — зафиксирован мультикаст шторм на 18 порту.
7035 2008/10/23 19:06:19 Multicast storm has cleared (port: 8) — мультикаст шторм был очищен
7313 2008/10/24 21:59:16 Broadcast storm is occurring (port: 15) — зафиксирован броадкаст шторм на 18 порту.
7429 2008/10/25 14:11:12 Broadcast storm has cleared (port: 18) — броадкаст шторм был очищен

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

show ports description
Просмотр описания порта

config ports X description
Добавить описание порта

show arpentry
Отображает ARP-кэш. В D-Link нет функции поиска IP по заданному MAC’y, поэтому при необходимости такого поиска приходится выводить весь кэш на экран и искать вручную.

show utilization cpu
Отображение загрузки центрального процессора, за последние 5 секунд, минуту и 5 минут.

show utilization ports
Отображение загрузки портов в PPS (пакеты в секунду)

show ipif
Отображение информации по всем сконфигурированным интерфейсам на данном свитче.

show iproute
Отображение таблицы маршрутизации свитча

sh fdb
Отображение всех сконфигурированных интерфейсов свитча и MAC-адреса подключенных к ним устройств.

show error ports <№ порта>
Отображение ошибок передачи пакетов на заданном порту

Типы ошибок:
CRC Error — ошибки проверки контрольной суммы
Undersize — возникают при получение фрейма размером 61-64 байта. Фрейм передается дальше, на работу не влияет
Oversize — возникают при получении пакета размером более 1518 байт и правильной контрольной суммой
Jabber — возникает при получении пакета размером более 1518 байт и имеющего ошибки в контрольной сумме
Drop Pkts — пакеты отброшенные в одном из трех случаев:
Переполнение входного буфера на порту
Пакеты, отброшенные ACL
Проверка по VLAN на входе
Fragment — количество принятых кадров длиной менее 64 байт (без преамбулы и начального ограничителя кадра, но включая байты FCS — контрольной суммы) и содержащих ошибки FCS или ошибки выравнивания.
Excessive Deferral — количество пакетов, первая попытка отправки которых была отложена по причине занятости среды передачи.
Collision — возникают, когда две станции одновременно пытаются передать кадр данных по общей сред
Late Collision — возникают, если коллизия была обнаружена после передачи первых 64 байт пакета
Excessive Collision — возникают, если после возникновения коллизии последующие 16 попыток передачи пакета окончались неудачей. данный пакет больше не передается
Single Collision — единичная коллизия

show fdb port <№ порта>
Отображение MAC-адресов на заданном порту

show fdb mac_address
Отображает принадлежность MAC-адреса порту коммутатора

show packet ports <№ порта>
Отображение статистики трафика на порту в реальном времени.

RX — пакеты приходящие от клиента
TX — пакеты приходящие к клиенту

show traffic control
Отображение настроек storm control на коммутаторе. Должно быть отключено для аплинков, каскадных портов и всех портов узловых коммутаторов.

Параметры настроек имеют вид Enabled(Disabled)/10/S(D)
Enabled(Disabled) — показывает включен ли шторм контроль для данного порта
Числовое значение — кол-во пакетов при превышение, которого срабатывает шторм контроль
S(D) — действие выполняемое с пакетами. S — блокируется весь трафик на порту. D — пакеты отбрасываются
В колонке Time Interval указывается продолжительность дествия над трафиком.

show mac_notification
Отображение настроек уведомления о появлении новых MAC-адресов на порту коммутатора. Должно быть отключено для аплинков, каскадных портов и всех портов узловых коммутаторов.

show port_security
Отображение настроек контроля MAC-адресов. Должно быть отключено для аплинков, каскадных портов и всех портов узловых коммутаторов.

show stp
Отображение настроек протокола STP на коммутаторе

show arpentry ipaddress
Поиск записи с данным IP-адресом в arp-таблице.

show dhcp_relay
Отображение настроек dhcp_relay на коммутаторе. Обязательно должно быть включено в сегментированном районе, выключено в несегментированном.

Пример вывода:
Command: show dhcp_relay
DHCP/BOOTP Relay Status : Enabled — включена или выключена функция
DHCP/BOOTP Hops Count Limit : 16
DHCP/BOOTP Relay Time Threshold : 0
DHCP Relay Agent Information Option 82 State : Enabled
DHCP Relay Agent Information Option 82 Check : Disabled
DHCP Relay Agent Information Option 82 Policy : Keep
Interface Server 1 Server 2 Server 3 Server 4
————— ————— —————
System 83.102.233.203 — адрес централизованного DHCP-сервера

show bandwidth_control <№ порта>
Отображение настроек полосы пропускание для заданного порта.

show traffic_segmentation <№ порта>
Отображение настроек сегментации трафика для заданного порта

show current_config access_profile
Отображение настроек ACL по всем портам (На свичах DES-3028 команда show access_profile) .

Пример вывода:
config access_profile profile_id 150 add access_id 24 ip destination_ip 0.0.0.0 port 24 deny (150 — номер правила, далее указывается, что блокируется этим правилом, порт на который действует данное правило, состояние правила deny — запрещено, permit — разрешено)

show vlan
Отображение настроек Vlan на коммутаторе.

cable_diag ports
Диагностическая утилита для проверки длины кабеля (показывает результат только на юзерских портах (1-24)) Доступна без enable на DES-3526 с прошивкой 6.00.B25, а также на DES-3028. Примеры вывода ниже.

Линк на порту есть, все работает нормально:
Command: cable_diag ports 1
Perform Cable Diagnostics …
Port Type Link Status Test Result Cable Length (M)
—- —— ————- —————————— —————-
1 FE Link Up OK 88
В следующем случае вариантов может быть несколько:
а. Кабель целый, все работает отлично;
б. Кабель целый, просто вытащен из компа;
в. Кабель целый, в сетевую воткнут, но сам ПК выключен;
г. Кабель аккуратно срезан.v При диагностике стоит учитывать, что разница в один метр — совершенно нормальная ситуация — в UTP отдельные пары идут с различным шагом скрутки (одна пара более «витая», чем другая).
Command: cable_diag ports 1
Perform Cable Diagnostics …
Port Type Link Status Test Result Cable Length (M)
—- —— ————- —————————— —————-
1 FE Link Down Pair1 Open at 83 M -
Pair2 Open at 84 M
Видимо проблема с кабелем, а именно повреждены жилы:
Command: cable_diag ports 1
Perform Cable Diagnostics …
Port Type Link Status Test Result Cable Length (M)
—- —— ————- —————————— —————-
1 FE Link Down Pair2 Open at 57 M -
Кабель не подключен к свитчу:
Command: cable_diag ports 1
Perform Cable Diagnostics …
Port Type Link Status Test Result Cable Length (M)
— —— ————- —————————— —————-
1 FE Link Down No Cable -
Кабель обрезан на 48 метре:
Command: cable_diag ports 1
Perform Cable Diagnostics …
Port Type Link Status Test Result Cable Length (M)
—- —— ————- —————————— —————-
1 FE Link Down Pair1 Short at 48 M -
Pair2 Short at 48 M
Питание по кабелю есть, но измерить длину невозможно:
Command: cable_diag ports 1
Perform Cable Diagnostics …
Port Type Link Status Test Result Cable Length (M)
—- —— ————- —————————— —————-
1 FE Link Down ОК -

show lldp remote_ports
Отображение следующего оборудования на порту (отображает мак адрес во 2й строчке).

Пример вывода: Command: show lldp remote_ports 26

Port ID : 26
Remote Entities count : 1 Entity 1
Chassis Id Subtype : MACADDRESS
Chassis Id : 00-1E-58-AE-DC-14
Port Id Subtype : LOCAL
Port ID : 1/25
Port Description : D-Link DES-3028 R2.50 Port 25
System Name : P1CV186021772-1 B340237 B340238
System Description : Fast Ethernet Switch
System Capabilities : Repeater, Bridge,
Management Address count : 1
Port PVID : 0
PPVID Entries count : 0
VLAN Name Entries count : 0
Protocol ID Entries count : 0
MAC/PHY Configuration/Status : (None)
Power Via MDI : (None)
Link Aggregation : (None)
Maximum Frame Size : 0
Unknown TLVs count : 0

show address_binding dhcp_snoop binding_entry
Просмотр таблицы dhcp snooping binding

Функция IP-MAC-Port Binding в коммутаторах D-Link позволяет контролировать доступ компьютеров в сеть на основе их IP и MAC-адресов, а также порта подключения. Если какая-нибудь составляющая в этой записи меняется, то коммутатор отбрасывает фреймы от этого мака (аналог фунции IP Source Address Guard на Alcatel’ях). Соответствие мака, порта и ip коммутатор проверяет по таблице dhcp snooping binding. Посмотреть эту таблицу можно командой show address_binding dhcp_snoop binding_entry. Соответственно, если с кокого-либо порта уходят ip-пакеты, в которых ip-адрес отправителя отличен от указанного в этой таблице (скажем 169.254.255.5 или 0.0.0.0, или некорректная статика), то свич такие пакеты отбрасывает, при этом занося в лог следующую запись:
Unauthenticated IP-MAC address and discardet by ip mac port binding (IP 169.254.255.5, MAC 00-24-26-35-56-08, port: 19)
comments: Leave a comment Tell A Friend Add to Memories

Subject:TV подборка
Time:09:48 pm



раскрыть тему
каналы
https://tv.yandex.ru/2/channels/player
http://ok-tv.org/
http://only-tv.org/
http://www.glaz.tv/
http://online-red.com/
http://spbtvonline.ru/kanaly-tv/
http://viks.tv/
http://lion-tv.com/
http://www.interntv.ru/
http://www.piranya.com/
http://torrent-tv.ru/

статьи
Медиацентр на Raspberry Pi 1 часть
Медиацентр на Raspberry Pi 2 часть
Домашний медиаплеер из Raspberry Pi
Говорит и показывает Raspberry Pi
Подключение монитора к приставке
Превращаем старый монитор в телевизор
ТВ тюнер с LVDS интерфейсом или возвращение к жизни старого монитора.
Немного о Торрент-ТВ
------------------------------------------------------------------------
ETUSPB Лекции по основам телевидения и видеотехники
https://www.youtube.com/playlist?list=PLLC9rD5jg9Gs7qzNDes5o0Gnt6T2x5xgH
------------------------------------------------------------------------

soft
https://kodi.tv/
https://osmc.tv/
http://openelec.tv/
https://libreelec.tv/

Коды плееров ТВ каналов
comments: Leave a comment Tell A Friend Add to Memories

uzverss
View:Recent Entries.
View:Archive.
View:Friends.
View:User Info.
You're looking at the latest 20 entries.
Missed some entries? Then simply jump back 20 entries