шпаргалки склеротиков

небольшой парсер для json
anonymus88
Read more...Collapse )

если ваш виртуальный шлюз под centos теряет пакеты
anonymus88
Долго мучился с установкой mss, когда не помогло, отключил вот это -  http://lwn.net/Articles/148697/:

cat /sbin/ifup-local                                                                        
>>
Read more...Collapse )
cat disableoffloads.pp
>>
Read more...Collapse )

# puppet apply --parser future  disableoffloads.pp

bacula + tls
anonymus88
Базовые конфиги бакулы:

gr /etc/bacula/bacula-dir.conf
>>
Read more...Collapse )
gr /etc/bacula/clients/backup_home_tls.conf (included into bacula-dir)
>>
Read more...Collapse )
gr /etc/bacula/bacula-sd.conf
>>
Read more...Collapse )
gr /etc/bacula/bacula-fd.conf
>>
Read more...Collapse )
cat /etc/bacula/clients/new_client_with_tls.sh
>>
Read more...Collapse )
gr /etc/bacula/bconsole.conf
>>
Read more...Collapse )
                            

stateless nat с использованием iproute (tc)
anonymus88
Если нам нужно использовать NAT, не задействуя подсистему трассировки соединений (conntrack),
можно сделать примерно следующее(схему см тут: http://anonymus88.livejournal.com/51506.html ):
root@pm# cat nat.sh                                                                                                                                              
>>
#!/bin/bash
pm=172.16.33.1
ps=172.16.33.6
ps1=172.16.33.2

pm_ext=netc
pm_int=netb

tc qdisc del dev $pm_ext ingress
tc qdisc del dev $pm_int ingress

tc qdisc add dev $pm_ext ingress handle ffff
tc filter add dev $pm_ext parent ffff: protocol ip prio 10 u32 match ip dst "${pm}"/32 action nat ingress "${pm}"/32 $ps

Данные правила создадут правила DNAT перенаправляющие на $ps пакеты, приходящие на $pm.

При этом в подсистеме conntrack регистрации соединений не происходит:

root@pm# cat /proc/net/nf_conntrack                                                                                                                              
cat: /proc/net/nf_conntrack: No such file or directory

Пакеты приходят с $ps1 на $ps:
root@ps# tcpdump -i any icmp                                                                                    
>>
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
15:42:39.559087 IP 172.16.33.2 > 172.16.33.6: ICMP echo request, id 56363, seq 1, length 64
15:42:39.559260 IP 172.16.33.6 > 172.16.33.2: ICMP echo reply, id 56363, seq 1, length 64
15:42:40.809806 IP 172.16.33.2 > 172.16.33.6: ICMP echo request, id 56619, seq 1, length 64
15:42:40.809894 IP 172.16.33.6 > 172.16.33.2: ICMP echo reply, id 56619, seq 1, length 64
Tags: ,

режем пропускную способность для маркированногог трафика на NAT-шлюзе
anonymus88
Read more...Collapse )

переписать монтирование блочных устройств по UIDам на гипервизорах
anonymus88
for x in 3 4 5 6 7 8 14 15 16 17 18 19; do echo -e "blkid | egrep \"sdc1|sdd1|sdb1\" | tr -d ':' | tr -d '\"' | while read -r dev uid x ; do sed -i 's|'\$dev'|'\$uid'|g' /etc/fstab.tmp; done" | ssh 10.77.31.$x "cat > /tmp/blk.sh"; done

for x in 3 4 5 6 7 8 14 15 16 17 18 19; do do ssh root@10.77.31.${x} "bash -xv /tmp/blk.sh"; done

for x in 3 4 5 6 7 8 14 15 16 17 18 19 ; do ssh root@10.77.31.${x}  "hostname; cat /etc/fstab.tmp > /etc/fstab"; done

генератор правил для перенаправления трафика
anonymus88
Read more...Collapse )

о вкусной и здоровой пище.
anonymus88
Разбуди меня завтра рано.
И нажарь мне, мой друг, кабачков!
Я их есть отчаянно стану,
Я на всё ради них готов.

P.S. Мопед не мой, я просто разместил объяву.

скрипт проверки доступности маршрута при использовании 2х провайдеров + балансировки маршрутами
anonymus88
Read more...Collapse )

снимаем sflow с linux-агента, используя openvswitch
anonymus88
Определяем ip адрес интерфейса, с которого будем ловить sflow.
root@host# ip ad sh dev eth0
>>
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 80:19:34:7f:e0:4f brd ff:ff:ff:ff:ff:ff
    inet
172.20.111.111/16 brd 172.20.255.255 scope global dynamic wlp2s0
    valid_lft 529sec preferred_lft 529sec
    inet6 fe80::8219:34ff:fe7f:e04f/64 scope link
       valid_lft forever preferred_lft forever


Устанавливаем openvswitch
root@host# yaourt -S --noconfirm community/openvswitch

Запускаем службы софтсвича.
root@host# systemctl restart ovs-vswitchd.service
root@host# systemctl restart ovsdb-server.service

Добавляем бридж.
root@host# ovs-vsctl add-br br0

Добавляем в бридж нужный интерфейс в качестве порта.
root@host# ovs-vsctl add-port br0 eth0

Теперь даем бриджу адрес упомянутого интефейса.
root@host# ip ad ad dev eth0 172.20.111.111/16
root@host# ip li set dev br0 up

Задаем переменные и запускаем агента sflow, натравив его на sflow коллектор.
root@host# HEADER_BYTES=128
root@host# SAMPLING_N=64
root@host# POLLING_SECS=10
root@host# ovs-vsctl -- --id=@sflow create sflow agent=eth0 target=\[\"COLLECTOR_IP:6343\"] header=${HEADER_BYTES} sampling=${SAMPLING_N} polling=${POLLING_SECS} -- set bridge br0 sflow=@sflow

(root@host# ovs-vsctl list sflow - посмотреть идентификатор
root@host# ovs-vsctl remove bridge br0 sflow <sFlow UUID> - удалить конфигурацию)


На коллекторе проверяем sflow трафик.
root@collector# tcpdump -i any port 6343

?

Log in

No account? Create an account