LINUX.ORG.RU

Сообщения Patjomkin

 

Установка обновлений на парк серверов: отслеживание необходимости, запуск

Форум — Admin

Доброго времени, прошу не пинать нуба, но пришла ко мне необходимость автоматизации управления серверами (до этого было всё ручками накаждом отдельном сервере).

Есть парк серверов (более сотни) в AWS, в основном ubuntu 12-16LTS. Требуется периодически или по не необходимости обновлять их всех: не только секьюрные обновления, но и просто ПО (тот же nginx).

Через что лучше это реализовать?

Почти на всех серверах стоит newrelic. Клиент предложил использывать Salt (я с ним не знаком, только немного ansible. Но если он того стоит, конечно могу разбраться)

 , ,

Patjomkin
()

Bash. Подстановка к числовой переменной спереди нули.

Форум — Admin

Доброго времени всем

Сторонняя софтина генерирует на амазоновском s3 директорию с фалами следующего вида:

s3://name/name/name/build-00027/name/name.tar.gz .

Каждый раз меняется только build-00027 (т.е. build-«порядковый номер»). С самой программы я могу получить этот номер только в виде целого числа без нулей. (в данном случае 27). С Ubuntu я должен сливать этот файл каждый раз с разной директории. Сейчас у меня дико захардкоджено "build-000$1" (через $1 передаю в скрипт то самое число, без нулей. Т.е. сейчас рассчитано на двухзначное значение переменной, потом ...).
Как добавлять эти необходимые нули динамически, в зависимости от разряда числа (максимальная длинна всего порядкового номера с нулями 5 символов)?
т.е. получаю:
27 - а должен передать 00027;
343 - а должен передать 00343 и т.п.
Сама команда копирования:

aws s3 cp s3://path

 , , ,

Patjomkin
()

Bash для начинающих. Строки.

Форум — Admin

Доброе время всем. Подскажите плиз, как с помощью скрипта определить количество строк в файлу игнорируя комментарии (строка начинается с #).

 bash grep wc

Patjomkin
()

Brute Force Detection

Форум — Admin

Доброе время всем. Поставлена передо мной задача установить brute force detector (любой) без блокировки для отслеживания brute force атак. На машине стоит куча сервисов (git,svn и т.п), без доступа оказаться просто опастно для жизни.

Подскажите что-нибудь не лёгкое на подъём (стоит ubuntu 12.04 lts)

 , , ,

Patjomkin
()

Sed (вырезать подстроки из строки)

Форум — Development

Доброе время.
Нужна помощь с sed.
Нужно вырезать из подстроки подстроки в двойных кавычках (подстрок может вообще не быть, или же, как обычно, от одной до трёх)

Пример файла со строками:
#одно вхождение
x.x.x.x.b.barracudacentral.org A 127.0.0.2 x.x.x.x.b.barracudacentral.org TXT «dfgdf gdfgdf sebtrer»
#одно вхождение
x.x.x.x.dnsbl-3.uceprotect.net A 127.0.0.2 x.x.x.x.dnsbl-3.uceprotect.net TXT «tyjt erfger yte»
#нет вхождений
x.x.x.x.fl.chickenboner.biz A 72.172.91.230
#два вхождения
x.x.x.x.l2.apews.org A 127.0.0.2 x.x.x.x.l2.apews.org TXT «yujyu ergrf vnbv reer» x.x.x.x.l2.apews.org TXT «myhjtysdfsd erter xcvx»

На выходе нужно получить:
«dfgdf gdfgdf sebtrer»
«tyjt erfger yte»
«нет описания»
«yujyu ergrf vnbv reer» «myhjtysdfsd erter xcvx»

 , ,

Patjomkin
()

VPN в отдельную подсеть

Форум — Admin

Есть сервер с pptpd, локальная сеть 192.168.0.0/23. pptpd.conf: localip 192.168.0.1, remoteip 192.168.2.2-80. Начальник хочет, чтобы localip был не из из внутренней подсети, а из специально созданной для vpn 192.168.8.0/23. И нужно настроить маршрутизацию между этими сетями, чтобы пк двух подситей видели друг друга. Как создать эту дополнительную подсеть? Нужли ли создавать какие либо доп интерфейсы, как быть с маршрутизацией? У меня в рабочем конфиге localip 192.168.0.1, т.е. это адрес основного сервера-шлюза. Я так понимаю, нужно задать вместо 192.168.0.1 подсеть 192.168.8.0/23. Но как? Как её объявить в системе вообще?

 , , , ,

Patjomkin
()

Один DHCP сервер на две подсети на одном интерфейсе

Форум — Admin

Доброе время.
Есть задача: разделить wi-fi сеть и ethernet.
Все пк и одна точка доступа подключены к неуправляемому
коммутатору, который в свою очередь подключён к порту eth1 сервера. Второй адаптер eth2 сервера смотрит в инет.

Что я делал
1) Привязать eth1 вторую сетевую eth1:1 (http://www.bloged.org/2008/02/linux-ip.html)
Получилось вот что:
/etc/network/interfaces:

auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.254.0

auto eth1:1
iface eth1:1 inet static
address 192.168.2.1
netmask 255.255.254.0
и соответственно

ifconfig:

eth1 Link encap:Ethernet HWaddr 00:0a:5e:78:63:c0
inet addr:192.168.1.1 Bcast:192.168.1.255
Mask:255.255.254.0
inet6 addr: fe80::20a:5eff:fe78:63c0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2509480301 errors:0 dropped:0
overruns:120 frame:0 TX packets:2749252696 errors:0 dropped:0 overruns:0
carrier:0 collisions:0 txqueuelen:1000
RX bytes:848022299457 (789.7 GiB) TX
bytes:2171244009134 (1.9 TiB) Interrupt:22 Base address:0xac00

eth1:1 Link encap:Ethernet HWaddr 00:0a:5e:78:63:c0
inet addr:192.168.2.1 Bcast:192.168.3.255
Mask:255.255.254.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:22 Base address:0xac00

2) в /etc/defaults/dhcp3-server прописал, чтобы прослушивались два интерфейса:
INTERFACES=«eth1 eth1:1»

3)в /etc/dhcp3/dhcpd.conf прописал вторую подсеть с её range

shared-network mylan {
subnet 192.168.0.0 netmask 255.255.254.0 {
range 192.168.1.5 192.168.1.128;
option routers 192.168.1.1;
option domain-name «mydomain»;
option domain-name-servers 192.168.1.39, 192.168.1.21,
195.222.64.67, 195.222.70.10;
option subnet-mask 255.255.254.0;
# interface eth1;
}

subnet 192.168.2.0 netmask 255.255.254.0 {
range 192.168.2.100 192.168.2.199;
option routers 192.168.2.1;
option domain-name «mydomain»;
option domain-name-servers 195.222.64.67, 195.222.70.10;
option subnet-mask 255.255.254.0;
# interface eth1:1; # не работает, ругается на синтаксис «:»
}
}
4) Взял обычную току доступа D-link 2100ap. Дал ей ip из второй подсети.

Маршрутизацию ещё не забивал для выхода 192.168.2.0/23 в инет и в подсеть 192.168.0.0/23.


В итоге подключаясь по wifi, я всё равно получаю ip из 192.168.2.0/23. Если же закоментировать эту подсеть в конфиге dhcpd, т.е. оставить только
subnet 192.168.2.0 netmask 255.255.254.0 {
range 192.168.2.100 192.168.2.199;
option routers 192.168.2.1;
option domain-name «mydomain»;
option domain-name-servers 195.222.64.67, 195.222.70.10;
option subnet-mask 255.255.254.0;
}

Возможна ли вообще такая задумка? Если wi-fi ap находится за общим «свичём». Если возможно – что нужно доделать, или как заново перенастроить.

Подсети 192.168.1.0/23 и 192.168.2.0/23 полностью равноправные, и должны иметь выход как в нет так и видеть друг друга.

Очень нужна помощь

 , , , ,

Patjomkin
()

Определение схемы и настройка dhcp сети

Форум — Admin

Доброе время.

Нужна помощь по настройке dhcp (струкуры) и перестройке сети.
В данный момент есть 3 офиса. Нужно провести реконфигурацию в первом.
Для него выделены подсети 192.168.1.0-192.168.1.11/24. В этом офисе две подсети:
a) 192.168.1.0/24:
1) 40 пользователей;
2) 4 физических сервера
3) 12 виртуальных серверов
4) VPN IP для подключения к внутренним ресурсам (не больше 20)
5) Оборудование (камеры, принтера) (не больше 10)
6) Wifi точка и выдаваемые ей адреса (не больше 15)

b) 192.168.10.0/24.
1) пользователи отдельного кабинета (25)
2)1 физ. Сервер и 4 виртуальных
И те и другие пользуются серверами с 192.168.1.0/24.

Остальные подсети пока пока используются.

Собираюсь полностью переделать всё.
Wifi хотелось бы отделить от внутренних ресурсов 192.168.1.0/24.
VPN адреса для доступа к внутренней сети, я так предполагаю, желательно тоже как то отделять.
Т.е. получается что как то нужно разделить всё на subnet/pool/group/.
Примерно рисуются следующие единицы:
1) Сервера физические и виртуальные (доступные для двух групп)(сейчас 16, но может дорасти до 30)
2) Оборудование (камеры должны быть доступны только серверам (запись), и снаружи из интернета) (4 камеры)
3) Пользователи одной группы (40 пк) (не видит пк второй группы)
4) Пользователи другой группы (25 пк)(не видит пк первой группы)
5) IP для VPN в локальную сеть на правах первой группы (где 40 пк)
6) IP для wifi (доступ только в интернет) (не больше 10)
7) IP для wifi (доступ в сеть на правах первой группы (где 40 пк))
8) IP для VPN (доступа только к серверам) не больше 30

Как правильно поделить между всем этим добром 5 подсетей (192.168.1.0-192.168.1.11/24) (ну или первые две хватит). И как правильно разделить (что отнести в отдельные подсети, что группировать, а что выделить в отдельные пулы) . Не разу не сталкивался с настройкой dhcpd.conf (мануалы читал, но как правильно будет поделить и раскидать всё по subnet/pool/group/ осталось загадкой). ПК не много, сразу хочу для всех известных стационарных единиц задать fixed-address).

Буду рад любой подсказке. Если нужны какие то дополнения – жду вопросов.

 , , , ,

Patjomkin
()

Bash для новичка (условие и выборка)

Форум — Development

Доброе время.
Новичок в bash. За ночь так и не разобрался с написанием условия и выборки.
Проверку на присутствие в dns black lists по ip.
Входные данные:
ip=x1.x2.x3.x4
Используется стандартный запрос вида host x4.x3.x2.x1.misc.dnsbl.sorbs.net
#ответы могут быть такими:
x4.x3.x2.x1.misc.dnsbl.sorbs.net does not exist, try again
x4.x3.x2.x1.noptr.spamrats.com A 127.0.0.2 (127.0.0.- постоянная часть, а последняя
цифра может изменяться)
x4.x3.x2.x1.proxy.block.transip.nl A record not found, server failure

В итоге имею:

#Список dnsbl
RBLDNS=/etc/zabbix/externalscripts/zext_dnsbl.txt
ip=x1.x2.x3.x4
rev_ip=`echo $ip | sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/\4.\3.\2.\1/'`
for dnsbl in `cat $RBLDNS`
do
request=«host »$rev_ip".«$dnsbl #получаем аналог host x4.x3.x2.x1.misc.dnsbl.sorbs.net
if (условие (в‘$request’ есть 127.0.0) ) ?????
then
echo ???? (нужно вывести имя bldns, в котором присутствует данный ip)
fi
done

Буду рад любому пинку

 , bldns,

Patjomkin
()

RSS подписка на новые темы