gladilov.org.ru gladilov.org.ua

54 заметки с тегом

Linux

Позднее Ctrl + ↑

Slackware Linux исполнилось 25 лет

25 лет назад, 17 июля 1993 года, Патрик Фолькердинг (Patrick Volkerding) представил первый релиз дистрибутива  Slackware Linux. Это старейший из ныне существующих дистрибутивов, оказавшим влияние на многие другие проекты. Наиболее известным ответвлением является  SUSE Linux.

Важными вехами на пути развития дистрибутивов, основанных на Slackware, были  Salix,  Zenwalk (бывший  MiniSlack) и  Absolute Linux.

Из продолжающих развитие модификаций дистрибутива Slackware Linux можно выделить такие ветки потомков:

  • • дистрибутивы, базирующиеся на Slackware и дополненные той или иной системой пакетного менеджмента, например —  Voltalinux и  Draco GNU/Linux, использующие pkgsrc от  NetBSD, или  Frugalware, в котором применяется pacman, заимствованный из  Archlinux;
  • • LiveCD как общего ( Slax,  Klax,  Wolvix), так и специализированного ( Blin) назначения;
  • • порты на аппаратные платформы, отличные от i486 ( SLAMD64 и  Bluewhite — на AMD64,  Slackintosh — на PowerPC);
  • • «национальные» варианты Slackware ( Karamad — иранская,  JoLinux — бразильская,  Nonux — голландская, и так далее).

Показать

Первый выпуск Slackware был основан на ядре Linux 0.99pl10 и собран с использованием gcc 2.4.5. Графическое окружение было построено с использованием XFree-86 1.3 и оконного менеджера Open Look. Расцвет Slackware пришёлся на 1994-96 годы, в которые дистрибутив занимал лидирующие позиции среди других систем. Например, Slackware стал первым дистрибутивом, выпустившим релизы на основе ядра Linux 1.0 и 2.0 ( Debian Buzz с ядром 2.0 вышел на несколько недель позже, а  Red Hat 4.0 отстал на несколько месяцев). В последующем такие проекты, как Debian, Red Hat и SUSE, вытеснили Slackware, но вопреки многочисленным прогнозам о скором забвении проекта, дистрибутив по-прежнему жив и обновляется.

Основной причиной долгой жизни дистрибутива является неиссякаемый энтузиазм Патрика Фолькердинга, который спустя 25 лет по-прежнему остаётся лидером и основным разработчиком проекта. Кроме того, несмотря на солидный возраст, дистрибутив смог сохранить самобытность и простоту в организации работы. Отсутствие усложнений и простая система инициализации в стиле классических систем BSD делают дистрибутив интересным решением для изучения работы Unix-подобных систем, проведения экспериментов и знакомства с Linux.

Разработчики Netfilter официально объявили iptables устаревшим

На прошедшей в конце прошлой недели в Берлине конференции Netfilter workshop, объединившей разработчиков Linux-подсистемы фильтрации и модификации пакетов Netfilter, было принято решение о переводе семейства программ iptables (включая ip6tables, arptables и ebtables) в разряд устаревших, что отразится в именах соответствующих бинарных файлов:

/sbin/iptables-legacy
/sbin/iptables-legacy-save
/sbin/iptables-legacy-restore
/sbin/ip6tables-legacy
/sbin/ip6tables-legacy-save
/sbin/ip6tables-legacy-restore
/sbin/arptables-legacy
/sbin/ebtables-legacy

Показать

Место оригинальных исполняемых файлов займут программы, ранее именовавшиеся «compat» (например, iptables-compat): они имеют такой же синтаксис командной строки, однако транслируют полученные правила не в блобы ip_tables, а в BPF-программы nf_tables. Таким образом, будет осуществлён прозрачный переход с iptables на nftables, оставляющий возможность использования legacy-инструментов в случае каких-либо проблем. Тем не менее, пользователям настоятельно рекомендуется мигрировать на штатный формат правил nftables. Для этого они могут воспользоваться автоматическими трансляторами, в частности, iptables-translate.

Разработчики Netfilter уже достигли договоренности об отражении соответствующих изменений в дистрибутивах  RedHat,  Fedora,  CentOS,  SUSE,  Debian и производных от них. Кроме того, поддержка nftables уже реализована в firewalld, что упростит процесс миграции для пользователей этого инструмента.

Источник

alioth.debian.org решили закрыть

Инсталляцию Sourceforge, предназначенную специально для проекта Debian — alioth.debian.org, решили закрыть. Он предоставляет ту же функциональность, что и Sourceforge, но размещает у себя только те проекты, каторые удовлетворяют определенным критериям — в них должны участвовать члены Debian Project или же они должны способствовать росту популярности Debian.

Причины закрытия — ошибки и нехватка людей для поддержи проекта. Как паллиатив запущен https://salsa.debian.org/, поддерживающий только git.

С 10 по 13 мая репозитории darcs, bzr и mercurial экспортированы в tarball-архив и теперь доступны только для чтения. С 17 по 18 мая были выключены cron-задания и отключены все сайты на Alioth. 31 мая будут отключены и заархивированы оставшиеся репозитории (cvs, svn и git). Сервер moszumanska.debian.org, на котором находятся alioth и все репозитории, будет выключен.

Ссылка

Сервер и клиент Debian для тестов


Для тестовых задач создал две виртуалки в  Виртуалбоксе — сервер и клиент. Обе виртуалки ставил с образа диска Debian 9.3.0 Netinst CD с архитектурой amd64). Виртуальная машина ’server’ выступает в роли DHCP-, DNS- и прокси-сервера, а также шлюза для машины ’client’. Выкладываю тут последовательность действий, чтобы потом не забыть и использовать в дальнейшем. Действия рутинные, доступны в любом мануале, но для быстроты воспроизведения собрал их здесь вместе.

Показать

Оглавление

Сервер
Софт
Автовход
Сетевые интерфейсы
Узлы
Запрет IPv6 и форвард
DHCP-сервер
DNS-сервер
Маскарадинг
Сквид

Клиент
Софт
Автовход
Сетевые интерфейсы
Узлы



Сервер. Имеет 2 сетевых интерфейса — enp0s3 (WAN — <DHCP>, сетевой мост во внешнюю сеть) и enp0s8 (LAN — 192.168.17.1/24, внутренняя сеть).

Ставлю нужный софт:

apt-get install aptitude isc-dhcp-server squid3 bind9 dnsutils sudo most fping nmap net-tools mc ccze

Перейти к оглавлению


Делаю автовход в любой консоли, для этого в файле /lib/systemd/system/getty@.service прописываю юзера для автологина

ExecStart=-/sbin/agetty --noclear -a <юзер> %I $TERM

Перейти к оглавлению


Настраиваю сетевые интерфейсы в /etc/network/interfaces

auto lo enp0s3 enp0s8

iface lo inet loopback

iface enp0s3 inet dhcp
up iptables -A INPUT -p icmp -m icmp --icmp-type 3 -j DROP

iface enp0s8 inet static
ipaddr 192.168.17.1
netmask 255.255.255.0
broadcast 192.168.17.255

Перейти к оглавлению


Добавляю узлы в /etc/hosts:

127.0.1.1 server
192.168.17.10 client

Перейти к оглавлению


Запрещаю IPv6 в /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1


Разрешаю форвард там же

net.ipv4.ip_forward = 1

Перейти к оглавлению


Настраиваю DHCP-сервер: в файле /etc/default/isc-dhcp-server указываю

DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
DHCPDv4_PID=/var/run/dhcpd.pid
INTERFACESv4="enp9s8"

В файле /etc/dhcp/dhcpd.conf

option domain-name "<домен>";
option domain-name-servers 192.168.17.1, 4.2.2.2;
subnet 192.168.17.0 netmask 255.255.255.0 {
  range 192.168.17.10 192.168.17.50;
  option routers 192.168.17.1;
}

и перезагружаю сервис

systemctl restart isc-dhcp-server.service

Перейти к оглавлению


Настройка DNS-сервера — в работе
Перейти к оглавлению


Настраиваю маскарадинг:

iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT
iptables -t nat -A POSTROUTING -o enp0s3 -s 192.168.17.0/24 -j MASQUERADE
iptables -A FORWARD -i enp0s3 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i enp0s3 -o enp0s8 -j REJECT

Перейти к оглавлению


Делаю бэкап /etc/squid/squid.conf в /etc/squid/backup-squid.conf, затем прописываю настройки сквида:

acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 443
acl CONNECT method CONNECT
acl MyNet src 192.168.17.0/24
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access allow MyNet
http_access deny all
http_port 192.168.17.1:3128 transparent
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
cache_mem 512 MB
maximum_object_size_in_memory 512 KB
cache_dir ufs /var/squid_cache 1024 16 256
maximum_object_size 2 MB
https_port 192.168.17.1:3128 transparent ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/root/keys/squid.pem key=/root/keys/squid.key
sslproxy_flags DONT_VERIFY_PEER
sslproxy_cert_error allow all
always_direct allow all

coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320

создаю директорию для кэша сквида и дэ-начу весь траф с внутренней сети на прокси:

mkdir -p /var/squid_cache
chmod o+w /var/squid_cache
iptables -t nat -A PREROUTING -i enp0s8 ! -d 192.168.17.0/24 -p tcp -m multiport --dport 80,443 -j DNAT --to 192.168.17.1:3128

Перейти к оглавлению


Клиент. Имеет 1 сетевую — enp0s3 (LAN — <DHCP>, внутренняя сеть).

Ставлю софт:

apt-get install aptitude dnsutils sudo most fping nmap net-tools mc ccze

Перейти к оглавлению


Делаю автовход в любой консоли (по аналогии с сервером), для этого прописываю автологинящегося пользователя в файле /lib/systemd/system/getty@.service:

ExecStart=-/sbin/agetty --noclear -a <юзер> %I $TERM

Перейти к оглавлению


Настраиваю сетевой интерфейс в /etc/network/interfaces

auto lo enp0s3 enp0s3

iface enp0s3 inet dhcp
up iptables -A INPUT -p icmp -m icmp --icmp-type 3 -j DROP

Перейти к оглавлению


Добавляю узлы в /etc/hosts:

127.0.1.1 client
192.168.17.1 server

Перейти к оглавлению


Небольшая коллекция юниксовых консольных утилит

Список из нескольких десятков утилит командной строки. Некоторые из них малоизвестны, некоторые весьма полезны, с некоторыми пока непонятно... Установка большинства из них производится штатным диспетчером пакетов вашей ОС.

Идея (и список) взята мной отсюда, творчески переработана, сгенерены новые скриншоты, переведено (с вариациями) на русский. Утилиты ставил на  Debian 9 в  Virtualbox’е (скрин).

Показать

dstat & sar htop, atop & glances
iostat, vmstat, ifstat и мрого чего ещё в одном Мониторинг процессов, памяти и ввода/вывода
slurm ttyrec & ipbt
Визуализирует трафик сетевого интерфейса во времени Запись и проигрывание терминальных сеансов
vim & emacs rsync
Редакторы настоящих программеров Синхронизация файлов и ФС через SSH
screen, dtach, tmux, byobu mtr
Пусть ваши терминальные сессии остаются живы Трассировка маршрута 2.0
multitail socat & netpipes
Просмотр нескольких файлов журналов в одном окне Простое перенаправление всего в/из сокетов
tpp iftop, iptraf & nethogs
Просмотр презентаций PowerPoint в терминале Анализаторы сетевого трафика
xargs & parallel siege & tsung
Планирование и выполнение задач с консольного ввода Консольные инструменты для нагрузочного тестирования
duplicity & rsyncrypto ledger
Инструменты шифрованного резервного копирования Бухгалтерия в терминале
nethack & slash’em taskwarrior
Пока что самые сложные игры на планете Консольный todo
lftp curl
Есть FTPS. Может зеркалить, типа как rsync Любимый всеми HTTP-инструмент
ack, ag (silver searcher), pt rtorrent & aria2
Лучшие grep’ы для исходников Торрентокачалки для командной строки
calcurse & remind + wyrd ttytter & earthquake
Системы календарей Модные клиенты модного Твитера
У меня нет (и никогда не будет) аккаунта в Твитере, поэтому картина не информативна.
I do not have (and never will be) account on Twitter, so the picture is not informative.
newsbeuter & rsstail vifm & ranger
Читалки RSS в командной строке Альтернативы для MC
powertop cowsay & sl
Помощь в экономии энергии в Linux Невозможно было удержаться :o)
tig cloc
Консольный интерфейс для git Подсчёт строк исходного кода
qalc ipcalc
Лучший калькулятор (для скриптов тоже) Для манипуляций с сетевыми настройками

PS1 от Parrot OS

В Parrot OS 3.7 переменная окружения PS1 по умолчанию выставлена вот так:

PS1='\[\033[0;31m\]\342\224\214\342\224\200$([[ $? != 0 ]] && echo "[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200")[\[\033[0;39m\]\u\[\033[01;33m\]@\[\033[01;96m\]\h\[\033[0;31m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;31m\]]\n\[\033[0;31m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]\[\e[01;33m\]\$\[\e[0m\] '

В терминале это выглядит довольно... забавно, думаю, тэг «юмор» будет тут к месту...

Показать

2018   BASH   Linux   интересное   ОС   софт   юмор

Настройка DebWrt на DIR-320 после установки

В качестве продолжения статьи Установка DebWrt на DIR-320 аппаратных ревизий A1/A2.

Показать

Следует иметь в виду, что у свежеперепрошитого устройства на LAN-интерфейсе настроен IP-адрес 192.168.1.1/24. Если используются другие сети, то правим сетевые настройки (возможно, сеанс удалённого входа отвалится, если изменился IP-адрес). Для этого необходимо удалить /etc/network/interfaces (это симлинк на /etc/network/interfaces.firstboot), создать его с необходимым содержимым и перегрузить службу networking:

rm /etc/network/interfaces
touch /etc/network/interfaces
cat << EOF > /etc/network/interfaces
auto lo eth0
iface lo inet loopback

iface eth0 inet dhcp

iface wlan0 inet dhcp
wpa-ssid <имя WiFi-сети>
wpa-psk <ключ WiFi-сети>
EOF
service networking restart
echo "<DNS-сервер>" > /etc/resolv.conf

Изначально настроен только один пользователь — root с паролём debwrt. Из-за того, что при старте таймер времени равен нулю, то есть системные время и дата установлены на полночь 1 января 1970 года (Thu Jan 1 00:00:00 UTC 1970),то при входе ssh’ем (или telnet’ом) система потребует смену пароля. Необходимо выставить правильное время.


Способ I. Применим даже с ненастроеной сетевой подсистемой.

date --set="<дата> <месяц> <год> <часы>:<минуты>:<секунды>"
date --set="<номер месяца>/<дата>/<год> <часы>:<минуты>:<секунды>"

Например, на дату опубликования этой заметки актуальной была команда:

date --set="16 January 2018 17:57:00"
date --set="01/16/2018 17:57:00"


Способ II. Правим время с помощью ntpdate (требуется доступ в сеть Интернет):
Останавливаем сервис ntp и синхронизируем время с любым рабочим NTP-сервером.

service ntp stop
ntpdate time.nist.gov
service ntp start


Команды

hwclock -w
hwclock --hctosys

не сработают, так как у системы нет аппаратных часов.


Меняем репозиторий с ftp.debian.org на archive.debian.org и обновляем систему:

echo "deb http://archive.debian.org/debian squeeze main" > /etc/apt/sources.list
apt-get update
apt-get upgrade

Донастраиваем систему и устанавливаем нужные пакеты:

passwd
hostname <имя узла>
echo "<имя узла>" > /etc/hostname
echo -e "127.0.0.2\t<имя узла>" > /etc/hosts
apt-get install mc sudo most locales bash-completion nload htop ccze telnet wpasupplicant
dpkg-reconfigure locales
dpkg-reconfigure tzdata
adduser <пользователь>
echo -e "<пользователь>\tALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers
apt-get install apache2 php7 mysql-server

2018   D-Link   Linux   ОС   роутер   софт

Проекты OpenWrt и LEDE объявили о слиянии

Проекты  OpenWrt и  LEDE, развивающие дистрибутивы для различных сетевых устройств, таких как маршрутизаторы и точки доступа, объявили о воссоединении (ссылка). В соответствии с ранее согласованным планом, Git-репозиторий OpenWrt заменён на содержимое репозитория LEDE, который послужит основой для дальнейшей совместной разработки.

Показать

Разработка объединённого проекта будет вестись под именем OpenWrt, но в соответствии с правилами LEDE, подразумевающими открытый процесс принятия решений с привлечением сообщества, прозрачность взаимодействия разработчиков, регулярный предсказуемый цикл подготовки релизов, первоочередное внимание стабильности дистрибутива, более либеральные правила приёма изменений и получения права коммита. Деятельность, связанная с решением юридических вопросов, сбором пожертвований и распоряжением активами (например, доменом и торговой маркой) нового совместного проекта OpenWrt делегирована некоммерческой организации SPI (Software in the Public Interest), которая также курирует такие проекты, как Debian, Arch Linux, X.Org, 0.A.D, FFmpeg, freedesktop.org и OpenEmbedded.

Старое содержимое репозитория OpenWrt перемещено в архив, но отсутствующие в LEDE патчи, отвечающие требованиям к качеству кода LEDE, будут перенесены в новый репозиторий. Сервисы и элементы инфраструктуры, запущенные в рамках домена lede-project.org, теперь доступны и через домен openwrt.org. Форумы и wiki пока остаются как есть, решение по ним ещё не утверждено.

Поддержка старых выпусков OpenWrt (до 15.05) будет прекращена, а для OpenWrt 15.05 будут предоставляться обновления с исправлением уязвимостей и серьёзных проблем. Поддержка LEDE 17.01 будет обеспечена в полном объёме. В ближайшие несколько месяцев ожидается формирование нового значительного релиза, который выйдет уже под именем OpenWrt.

Выбор в пользу кода LEDE сделан, так как последнее время все новшества и изменения создавались в данном проекте, а разработка OpenWrt практически остановилась после создания форка в 2016 году, когда из проекта ушла группа активных разработчиков, желающих поднять стабильность дистрибутива на новый уровень и избавиться от организационных проблем. Создатели ответвления, которое получило название LEDE, попытались воплотить в жизнь предсказуемый цикл разработки, более либеральные правила приёма изменений и прозрачный процесс принятия решений с привлечением сообщества и проведением публичных обсуждений. Весной 2017 года состоялся первый значительный релиз LEDE, который показал состоятельность проекта.

Новость с Опёнка

2018   Linux   интересное   ОС   роутер   софт

Установка DebWrt на DIR-320 аппаратных ревизий A1/A2

На всякий случай сделаю в блоге копию руководства со страницы  DIR-320 -> Firmwares -> DebWrt

Показать

Оглавление
Необходимые материалы
Подготовка накопителя
Прошивка устройства
Действия после перепрошивки
Использование NetConsole

Необходимые материалы

Я использую прошивку DebWrt ревизии 116 от 22 июня 2011 года с ядром версии 2.6.34.5. Немного тухло, но в сборках с более свежими ядрами мне не удалось заставить работать интерфейс wlan0 (видимо — из-за этого), а пересобирать прошивку — лениво. Работает — и пусть работает :-) Прошивки беру с официального сайта DebWrt.

Перейти к оглавлению

Подготовка накопителя

Команды выполняются от имени пользователя root или используется sudo. Допустим, что USB-флеш-накопитель объявлен в системе как /dev/sdb

Последовательность действий следующая:

Разбивка накопителя на разделы

/dev/sdb1 - метка тома DEBWRT_ROOT, тип - Linux (ext3), весь объём накопителя, кроме свопа
/dev/sdb2 - метка тома DEBWRT_SWAP, тип - Linux Swap, объём - 128 Мб

Создание файловых систем

mkfs.ext3 -L DEBWRT_ROOT /dev/sdb1
tune2fs -c 0 -i 0 /dev/sdb1
mkswap -L DEBWRT_SWAP /dev/sdb2

Монтирование корневого раздела ext3

mkdir -p /mnt/debwrt
mount /dev/sdb1 /mnt/debwrt
cd /mnt/debwrt

Распаковка архива с корневым образом в /mnt/debwrt (/dev/sdb1)

tar xjvf ~/debwrt-rootfs-mipsel-2.0-1.tar.bz2

Распаковка архива с модулями ядра в /mnt/debwrt (/dev/sdb1)

tar xzvf ~/debwrt-modules-brcm47xx-Broadcom-b43-2.6.34.5-angel-2.0-1.tar.gz --no-same-owner

Размонтирование и извлечение накопителя

cd
sync
umount /mnt/debwrt
eject /dev/sdb

Перейти к оглавлению

Прошивка устройства

Устройство перепрошивается DebWrt-прошивкой по инструкции с сайта OpenWrt, затем необходимо перезагрузить маршрутизатор.

Вариант для  Шindoшs

tftp -i 192.168.0.1 put debwrt-firmware-brcm47xx-squashfs.trx

Вариант для  Linux

atftp --trace --option "timeout 1" --option "mode octet" --put --local-file debwrt-firmware-brcm47xx-squashfs.trx 192.168.0.1

После перепрошивки действуют следующие установки по умолчанию:

  • пользователь : root
  • пароль : debwrt
  • IP-адрес : 192.168.1.1

При первой загрузке (в случае самостоятельной сборки образа) выполняются сервисы SSHD и telnetd

При обычной загрузке

  • запущены сервисы SSHD и telnetd
  • eth0 настроен в /etc/network/interfaces
  • настройки switch не произведены (используется пакет robocfg или swconfig)
  • предустановлены пакеты DebWrt
    — robocfg
    — nvram
    — libnl
    — hostapd (nl80211, madwifi, WPA, WEP, режим ТД)
    — iw

Перейти к оглавлению

Действия после перепрошивки

Необходимо:

  • настроить MAC-адрес (опционально, MAC’и выдуманы)
nvram set et0macaddr=1c:af:f7:96:3b:0e
nvram set il0macaddr=1c:af:f7:96:3b:10
nvram commit
reboot
  • установить новый пароль пользователя root
  • установить пакет locales (опционально)
  • настроить timezone
  • сбросить секретный ключ SSHD
  • проверить, что настройки /etc/securetty позволяют пользователю root логиниться на pts/0 ... pts/6

Для запуска сервиса robocfg установите ENABLED=1 в файле /etc/default/robocfg, добавьте символическую ссылку от файла /etc/init.d/robocfg в /etc/rcS.d (сервис должен стартовать до службы «networking»), удалите файл /etc/network/interfaces (если это символическая ссылка) и создайте его заново.
Перейти к оглавлению

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

nc -l -p 6666 -u

Перейти к оглавлению

Продолжение

2017   D-Link   Linux   ОС   роутер   софт
Ранее Ctrl + ↓
Наверх