LINUX.ORG.RU

Сообщения Patjomkin

 

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

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

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

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

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

 , ,

Patjomkin
()

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

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

Сторонняя софтина генерирует на амазоновском 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 для начинающих. Строки.

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

 bash grep wc

Patjomkin
()

Brute Force Detection

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

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

 , , ,

Patjomkin
()

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

Доброе время.
Нужна помощь с 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 в отдельную подсеть

Есть сервер с 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 сервер на две подсети на одном интерфейсе

Доброе время.
Есть задача: разделить 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 сети

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

Нужна помощь по настройке 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 для новичка (условие и выборка)

Доброе время.
Новичок в 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 подписка на новые темы