LINUX.ORG.RU

Избранные сообщения Dimarius

2 интернет канала. Объединение каналов или скрипты?

Форум — Admin

Всем здрасте.

У меня назревает определенная задача. Условия: ОС: Debian;
Роль: шлюз в интернет (есть сквид, но можно и снести и просто натить);
Каналы:
eth0 - быстрый, но не надежный. Настройки по DHCP;
eth1 - медленный, но надежный;Также настройки по DHCP, но можно прописать вручную;
eth2 - внутренняя сеть.

Первоочередная задача стоит в создании отказоустойчивого доступа к интернету внутренней сети. Почитав статьи, понял, что везде просто описывают скипты. Т.е. можно просто написать скрипт, который будет пинговать раз в 5 минут через eth0, к примеру 8.8.8.8, и в случае отказа, переключать iptables натить через eth1.

Однако захотелось объединить два канала для увеличение скорости, но также, чтоб осталась отказоустойчивость. Погуглив, увидел про bonding. Тут возникает вопросы, которые не понял из чтения статей:
1) У интерфейсов, которые будут в bonding должен быть один и тот же адрес, ip и mac?
2) Для определения, что канал упал, bonding пингует адреса из списка arp_ip_target. Должны ли они быть в одной и той же подсети, что и интерфейсы?

Или же предложите другие варианты - технологии.

 , ,

massive
()

cp — перезапись файлов без подтвержения

Форум — General

Всем привет еще раз.

Есть файлы в /home/backup (#1) Их нужно перенести в /var/www (#2) Суть в том, что некоторые папки из #1 уже созданы в #2. Пример — /var/www/lolwut, /var/www/asdasd. Папок и файлов, идентичных #1, много. И на каждый файл спрашивается подтверждение.

Вопрос — как перезаписать файлы без подтверждения? Аналог -f в rm. Пробовал командой cp -R /home/backup/* /var

lolwut
()

HFS+, в mount не работает опция «uid=1000,gid=1000»

Форум — Admin
# mount -t hfsplus -o rw,force,uid=1000,gid=1000 /dev/sdb2 /media/500
# ls -hl /media/500
итого 8,2M
drwxrwxr-x 1 root   80   86 сен  7 16:18 Applications
drwxr-xr-x 1 root root   39 авг 26  2015 bin
-rw-r--r-- 1  501 root 332K сен 27  2013 boot
drwxrwxr-t 1 root   80    2 авг 17  2012 cores
dr-xr-xr-x 1 root root    2 авг 17  2012 dev
lrwxr-xr-x 1 root root   11 окт 12  2012 etc -> private/etc
drwxr-xr-x 1   99   99    7 сен 30  2014 Extra
dr-xr-xr-x 1 root root    2 сен 30  2014 home
drwxr-xr-x 1 root root   65 май  6  2016 Library
-rw-r--r-- 1 root root 7,9M мар 19  2015 mach_kernel
dr-xr-xr-x 1 root root    2 сен 30  2014 net
drwxr-xr-x 1 root root    2 авг 17  2012 Network
drwxr-xr-x 1 root root    6 окт 12  2012 private
drwxr-xr-x 1 root root   65 авг 26  2015 sbin
drwxr-xr-x 1 root root    3 авг  7  2015 ssud_installation
drwxr-xr-x 1 root root    4 окт 12  2012 System
lrwxr-xr-x 1 root root   11 окт 12  2012 tmp -> private/tmp
drwxr-xr-x 1 root   80    5 сен 21  2015 Users
drwxr-xr-x 1 root root   11 авг 11  2015 usr
lrwxr-xr-x 1 root root   11 окт 12  2012 var -> private/var
drwxrwxrwt 1 root   80    5 сен 12 12:30 Volumes

Соответственно запись у рута есть куда угодно. Для других шар опции uid=1000,gid=1000 работают без проблем. Ограничение работает только с HFS+? Или еще какой «костыль» надо? ))

ОС ubuntu 16.04 со всеми обновами, HFS+ создана макосью 10.6.8

Нашел решение похожее на костыль, зато работает:

sudo apt-get install bindfs
mkdir /home/"user"/500
sudo bindfs -u 1000 -g 1000 /media/500 /home/"user"/500
В результате в папку /home/«user»/500 имеем запись от пользователя с id 1000:
$ ls -hnl ~/500
итого 8,2M
drwxrwxr-x 1 1000 1000   86 сен  7 16:18 Applications
drwxr-xr-x 1 1000 1000   39 авг 26  2015 bin
-rw-r--r-- 1 1000 1000 332K сен 27  2013 boot
drwxrwxr-t 1 1000 1000    2 авг 17  2012 cores
dr-xr-xr-x 1 1000 1000    2 авг 17  2012 dev
lrwxr-xr-x 1 1000 1000   11 окт 12  2012 etc -> private/etc
drwxr-xr-x 1 1000 1000    7 сен 30  2014 Extra
dr-xr-xr-x 1 1000 1000    2 сен 30  2014 home
drwxr-xr-x 1 1000 1000   65 май  6  2016 Library
-rw-r--r-- 1 1000 1000 7,9M мар 19  2015 mach_kernel
dr-xr-xr-x 1 1000 1000    2 сен 30  2014 net
drwxr-xr-x 1 1000 1000    2 авг 17  2012 Network
drwxr-xr-x 1 1000 1000    6 окт 12  2012 private
drwxr-xr-x 1 1000 1000   65 авг 26  2015 sbin
drwxr-xr-x 1 1000 1000    3 авг  7  2015 ssud_installation
drwxr-xr-x 1 1000 1000    4 окт 12  2012 System
lrwxr-xr-x 1 1000 1000   11 окт 12  2012 tmp -> private/tmp
drwxr-xr-x 1 1000 1000    5 сен 21  2015 Users
drwxr-xr-x 1 1000 1000   11 авг 11  2015 usr
lrwxr-xr-x 1 1000 1000   11 окт 12  2012 var -> private/var
drwxrwxrwt 1 1000 1000    5 сен 12 12:30 Volumes

 ,

Dimarius
()

Таблица доступа в Postfix - совмещение email и IP-адреса

Форум — Admin

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

Например с 10.1.1.5 можно отправлять только с ящика user1@domain1.ru, а с 10.1.1.6 можно отправлять только с ящика user2@domain2.ru

Сделал в main.cf:

smtpd_restriction_classes = check_my_rel
check_my_rel = check_sender_access hash:/etc/postfix/sender_checks,
  permit_sasl_authenticated,
  reject

Прописал в master.cf:

0.0.0.0:44444      inet  n       -       -       -       -       smtpd
        -o smtpd_recipient_restrictions=check_my_rel

Все ок, при прописывании relayhost=10.1.1.1:44444 теперь возможна отправка только с нужных ящиков. Но со всех внутренних IP-адресов. :) Хотелось бы в sender_checks иметь запись вместо:

user1@domain1.ru OK

такую

user1@domain1.ru,10.1.1.5 OK

Но это не работает, хотя похоже и не должно.

Еще можно для нужных машин отдельный порт прописать и разрешить только определенной машине на этот порт ходить... Правда это уже костыли, а может есть более рациональное решение?

 

Zapekankin
()

параноидальная защита 22 порта с помощью iptables

Форум — Admin

Эта запись больше для себя, чтоб не потерялась, но обоснованная критика приветствуется.

Правила делают следующее:

1) 10 минутная пауза для любых новых ip адресов, причем больше 5 попыток в эти 10 минут блокируют ip наглухо.

2) Больше 5 подключений после 10 минут перманентный блок

3) Больше 2 подключений в 5 минут - отброс (можно и исключить)

iptables -N BAN_SSH
iptables -N SSH_2
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --rcheck --name ssh_baned                           -j DROP
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --update --name ssh_2    --seconds 600 --hitcount 5 -j BAN_SSH
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --update --name ssh_2    --seconds 300 --hitcount 2 -j DROP
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --update --name ssh_2                               -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --update --name ssh_grey --seconds 600 --hitcount 5 -j BAN_SSH
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --update --name ssh_grey --seconds 600              -j DROP
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --rcheck --name ssh_grey                            -j SSH_2
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --set    --name ssh_grey                            -j REJECT
iptables -A BAN_SSH                        -m recent --set    --name ssh_baned                           -j DROP
iptables -A SSH_2                          -m recent --set    --name ssh_2                               -j ACCEPT

И еще, по умолчанию модуль recent ограничен 100 записями, изменить это дело на 5000000 записей можно например так:

sudo chmod 777 /sys/module/xt_recent/parameters/ip_list_tot
sudo echo 5000000 > /sys/module/xt_recent/parameters/ip_list_tot 
sudo chmod 400 /sys/module/xt_recent/parameters/ip_list_tot

 ,

Dimarius
()

nilfs2 расписание снапшотов

Форум — Admin

Собственно руками все создаётся и удаляется, но хочется автоматизировать процесс. Примерное расписание 1 раз в день (например в 19-30), с понедельника по пятницу. Актуальность например 2 месяца. С созданием проблем нет:

mkcp -s /dev/drbd0
-в крон по расписанию.. А вот с удалением ss старше 2 месяцев загвоздка. Список имеющихся ss -
lscp -s /dev/drbd0
                 CNO        DATE     TIME  MODE  FLG     NBLKINC       ICNT
                1013  2013-06-06 09:43:52   ss    -           18          5
Удаление происходит в 2 этапа с указанием именно номера ss, а не даты или периода :(

1) Преобразование ss в cp:

chcp cp /dev/drbd0 1013
2) Удаление cp:
rmcp /dev/drbd0 1013

В синтаксисе можно указать напрямую номер ss или список вида: 1) начало..конец 2) начало.. 3) ..конец

Полагаю надо уже отобраный по датам вывод lscp запихать в аргументы удаляющих команд. Помогите с кодом пожалуйста.

 , , rmcp

Dimarius
()