27 января 2022 г.

2 апреля 2020 г.

bash script

#!/bin/bash
RR=www.com
[ #$ -le 1 ]&&{ echo "usage: ${0} -h <ip>"; exit 126; }
while getopts "h:" OPT;do
              case $OPT in
                           h)host=$OPTARG;;
                           *)echo "usage: ${0} -h <ip>"&&exit 1;;
              esac
done
rndc flushname ${RR}
dig @${host} soa ${RR}|grep "\<${RR}\>" >/dev/null
exit $?

20 января 2020 г.

5 апреля 2019 г.

sed вывести строку по номеру 

вывод строк начиная от первой до третьей и десятую

sed -n '1,3p;10p' filename.txt

26 декабря 2018 г.

Файлы доступные на запись всем

find /dir -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print

Файлы без владельца

find /dir -xdev \( -nouser -o -nogroup \) -print

Пустые пароли

awk -F: '($3 == "0") {print}' /etc/passwd

14 ноября 2018 г.

DNS water torture

Запрет ANY

iptables -A INPUT -p udp --dport 53 -m string --hex-string "|0000ff0001|" --algo bm -j DROP


Ratelimit

iptables -A INPUT -p udp --dport 53 -m state --state NEW -m recent …
--set --name DNSQF --rsource
--update --seconds 1 --hitcount 70 --name DNSQF --rsource -j DROP

5 сентября 2016 г.

DNS + keepalive


Задача: сделать на двух физических серверах отказоустойчивость и балансировку DNS трафика (сервера рекурсивные).



Вешаем VIP на loopback.


Красим входящий трафик:
  iptables -t mangle -I PREROUTING -d 10.10.10.10 -p udp --dport 53 -m mac ! --mac-source ec:b1:d7:09:ea:c4 -j MARK --set-mark 2253
  iptables -t mangle -I PREROUTING -d 10.10.10.10 -p tcp --dport 53 -m mac ! --mac-source ec:b1:d7:09:ea:c4 -j MARK --set-mark 2353


Конфиг keepalive в котором пишем адреса, интерфейсы нод и балансируем крашеный трафик.

/etc/keepalived/keepalived.conf

vrrp_instance dns_rec {
        interface bond0.3
        state MASTER
        virtual_router_id 3
        priority 100
        authentication {
                auth_type PASS
                auth_pass p4ssw0rd
        }
        virtual_ipaddress {
                10.10.10.10/32 dev bond0.3
        }
}

# Check for UDP
virtual_server fwmark 2253 {
  delay_loop 6
  lb_algo rr
  lb_kind DR
  protocol UDP

  real_server 10.10.10.1 53 {
    weight 100
    MISC_CHECK {
      connect_timeout 6
      misc_path "/etc/keepalived/dnscheck.sh -h 10.10.10.1"
    }
  }

  real_server 10.10.10.2 53 {
    weight 100
    MISC_CHECK {
      connect_timeout 6
      misc_path "/etc/keepalived/dnscheck.sh -h 10.10.10.2"
    }
  }

}

# Check for TCP
virtual_server fwmark 2353 {
  delay_loop 6
  lb_algo wlc
  lb_kind DR
  protocol TCP

  real_server 10.10.10.1 53 {
    weight 100
    TCP_CHECK {
      connect_timeout 6
    }
  }

  real_server 10.10.10.2 53 {
    weight 100
    TCP_CHECK {
      connect_timeout 6
    }
  }

}


исключаем бесконечную пересылку пакетов между хостами
/etc/sysctl.d/arp.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2