2019. december 19., csütörtök

Cisco config Ansible-lel

A Cisco nem csak fizetős, de ingyenes termékekkel is lehetővé teszi az eszközök felügyeletét. Ilyen program az ansible, amit config management célokra tudunk használni. Sok leírás és fórum bejegyzés van ebben a témában, de még így is sok kisérletezés kellett, hogy használható legyen. Ezeket szeretném megosztani veletek.

Software verzió függő parancs végrehajtás

  - name: SYS | Define provider
    set_fact:
      provider:
        host: "{{ inventory_hostname }}"
        username: "{{ mgmt_username }}"
        password: "{{ mgmt_password }}"
        authorize: yes
        auth_pass: "{{ mgmt_enable }}"
        timeout: 120
  - name: Get IOS parameters
    ios_facts:
      provider: "{{ provider }}"
      gather_subset: hardware
    register: response
  - name: delete radius server
    ios_config:
      provider: "{{ provider }}"
      commands:
        - no radius-server host 1.2.3.4 auth-port 1812 acct-port 1813
    when: ansible_net_version is search("15.2")

Az első blokk betölti az inventory file-ból az ssh usernevet, jelszót illetve az enable jelszót. Itt lehet a timeout-ot is állítani - a nagyobb, lassabb switch-eknél ezt meg kellett emelni.
A második blokk letölti az IOS verziót és eltárolja a response nevű változatban.
A harmadik blokk csak akkor hajtódik végre, ha az ISO verzió tartalmazza a 15.2 szöveget.

Hardware típustól függő végrehajtás

  - name: check SNMP
    local_action: command snmpwalk -Ov -v3 -l authPriv -u <SNMPUSER> -a SHA -A "<SNMPPASS>" -x AES -X "<SNMPPASS>" {{ inventory_hostname }} sysobjectid
    register: response
  - set_fact:
         filter1: "{{ response.stdout }}"
  - name: set syslog level
    ios_config:
      provider: "{{ provider }}"
      lines:
        - logging trap error
      save_when: modified
    when: filter1 is search(".9.1.1745")

Az első blokk lefuttatja az snmpwalk linux parancsot, ami lekérdezi a hardware típusát és eltárolja a response változóban. Az <SNMPUSER> és <SNMPPASS> helyére írjuk be a megfelelő értékeket.
A második blokk beírja a filter1-be a kimenetet, hogy keresni tudjunk benne
A harmadik blokk végzi el a config módosítást, ha a switch típusa 1745-ös (ez a 3850-es switch-ek Cisco-s kódja)

Több soros kimenet kezelése

Ha egy Cisco parancs kimenete több soros, az ansible azt egy sorba írja ki. Az alábbi trükkel ezt visszaalakíthatjuk:

ansible-playbook showver.yml | awk '{gsub(/\\n/,"\n")}1'|egrep -v "\[$|\]$"
ok: [1.2.3.4] => {
        "*    1 56    WS-C3850-48P       16.6.5            CAT3K_CAA-UNIVERSALK9 INSTALL
     2 56    WS-C3850-48P       16.6.5            CAT3K_CAA-UNIVERSALK9 INSTALL
     3 56    WS-C3850-48P       16.6.5            CAT3K_CAA-UNIVERSALK9 INSTALL
     4 56    WS-C3850-48P       16.6.5            CAT3K_CAA-UNIVERSALK9 INSTALL"
}

2018. március 30., péntek

mount USB disk Ubuntun

Az USB disk Ubuntu-n csak a grafikus felületen bejelentkezett felhasználó számára érhető el. Ha azt szeretnénk, hogy más felhasználók vagy programok userei (pl nobody, minidlna) is el tudják azt érni, két dolgot tehetünk:

  •  root user nevében futtatjuk az alkalmazást
  • beállítjuk a mount és file ACL jogosultságokat.

root-ként futtatni egy programot nagyon veszélyes, nem véletlenül van nekik saját felhasználójuk, emiatt a második megoldásról szeretnék írni.

1. keressük meg az USB disk nevét (pl SAMSUNG), a mount pontot (pl /dev/sdb1) és azonosítóját (UUID) a blkid paranccsal
/dev/sdb1: LABEL="SAMSUNG" UUID="8CDC9584ABC123456" TYPE="ntfs"

2. nézzük meg a mount parancs kimenetében, hogy hova (pl /media/<username> ) és milyen paraméterekkel (pl rw,nosuid,nodev,allow_other,default_permissions,blksize=4096) csatlakoztatja fel a rendszer a disk-et

3. keressük meg az /etc/group file-ban, hogy az engedélyezni kívánt felhasználó (pl nobody, minidlna) melyik csoportnak (pl nogroup, minidlna) a tagja és annak mi az ID-ja (pl 128)

4. keressük meg az /etc/passwd file-ban a mi user-ünk azonosítóját (pl 1000)

5. nézzük meg a file ACL-t a csatolási ponton (pl media/<username>)

sudo getfacl /media/<username>
# file: media/<username>
# owner: root
# group: root
user::rwx
user:<username>:r-x
group::---
mask::r-x
other::---
Ebből látjuk, hogy csak nekünk van jogunk, másnak nincs (group::---)


6. módosítsuk a file ACL-t: adjuk hozzá a kiválasztott csoportot
sudo setfacl -m g:<group>:rx /media/<username>

7. ellenőrizzük le a getfacl paranccsal a jogot: plusz egy sor kell megjelenjen a beállított értékkel
group::<group>

8. grafikus felület alatt csatlakoztassuk le az USB disk-et (Safely Remove)

9. adjunk hozzá az /etc/fstab-hoz egy sort a fenti adatokkal, pl
UUID=8CDC9584ABC123456 /media/<username>/SAMSUNG auto

user,uid=1000,gid=128,umask=027,rw,nosuid,nodev,allow_other,default_permissions,blksize=4096

2018. március 25., vasárnap

Cisco ASA anyconnect username és e-mail address

Az alábbi kis script lekérdezi SNMP-vel a Cisco ASA eszköztől az anyconnect userek usernevét, a Microsoft Active Directory-ból pedig az e-mail címet.
# ./userlist
jgipsz   gpisz.jakab@company,com

A lekérdezés SNMPv3-mal működik, amihez létre kell hozni az ASA-n egy SNMPv3 user-t az alábbi paranccsal
snmp-server group LEKERDEZ v3 priv
snmp-server user <SNMP usernév> LEKERDEZ v3 auth sha <auth-password> priv aes 128 <encr-password>

Az alábbi bash script kérdezi le SNMP-vel az adatokat, majd meghív egy awk script-et, ami feldogozza azokat.
A <...> helyére kell beírni a mi rendszerünkben használt értékeket.
cat userlist
/usr/bin/snmpwalk -v3 -l authPriv -u <SNMP usernév> -a SHA -A "<auth-password>" -x AES -X "<encr-password>" <ASA belső IP címe> 1.3.6.1.4.1.9.9.392.1.3.21.1.2 | awk -fuserlist.awk|sort -u

Az awk script átalakítja az SNMP kimenetben található, de kódolt usernevet olvasható formátumra és meghívja az e-mail lekérdező részt
cat userlist.awk
{
kisnev="";nev="";extra=0;
split($1,a,".");
for(i=1;i<=a[10];i++) nev=nev sprintf("%c", a[i+10]);
kisnev=tolower(nev);
if (length(kisnev)<8) extra=1;
system("./userlist.get-email "kisnev" "extra)
}

Végül ez lekérdezi az e-mail címet és kiírja az adatokat
cat userlist.get-email
if [ "$2" == "1" ] ; then
        echo -ne $1"\t\t"
else
        echo -ne $1"\t"
fi
/usr/bin/ldapsearch -x -b <LDAPbase> -LLL -p 389 -h <MS AD DC IP cím> -D 'CN=<LDAP-user>,<LDAPUserbase>' -w<LDAP-jelszo> samaccountname=$1 mail|grep mail:|awk '{print $2}'

LDAP paraméterek
- LDAPbase : a teljes domain név, de a pontok helyén "dc=" van, pl dc=company,dc=com
- LDAPUserbase : az előző, de elé kell írni, hogy ou=users, pl ou=users,dc=company,dc=com

2017. július 27., csütörtök

Derékfájás

Beállt a derekam. De úgy Istenesen. A lábamba is kisugárzott a fájdalom. Napokig se mozogni, de még csak ülni sem tudtam. De nem panaszkodni akarok, hanem megosztani több orvos és gugli barátunk :-) bölcsességét.

Mi is ez, a derékból a lábba sugárzó fájdalom?
A lábban keletkező érzéseket idegek vezetik a gerincig, onnan az ideg a gerinc belsejében megy tovább. Ha az egyik csigolya elmozdul, elkezdi nyomni az ideget és úgy érezzük, hogy fáj a lábunk.
Egy rövid összefoglaló ezen illetve ezen a linken található, a gerincsérv és az azt követő fejezetekben.

Már ez a folyamatos lábfájás is rossz volt, de még csak most jött a java: az ideg pár nap alatt begyulladt az ágyéktól a lábfejig. Ez volt a mélypont: minden mozdulat fájt, két-három lépésnél többet nem tudtam megtenni. Ülni szintén nem tudtam, mert a comb alsó felén halad az ideg.

Először is kaptam egy Voltaren injekciót a fenekembe, de nem sokat segített, mert már az ideg be volt gyulladva. Viszont nagy lila folt lett a helyén :-)

Ahogy az első linken írták, ilyenkor a csigolya melletti izmok görcsbe rándulnak, ezért kaptam  egy izomlazítót: Sirdalud MR-t. Felmerült még a Mydeton is, de állítólag a Sirlaud MR hatékonyabb.

A begyulladt idegre gyulladáscsökkentő kell. Az orvos azt mondta, hogy Algoflex Fortét szedjek a legnagyobb megengedett dózisban - ezt pont ilyen esetekre javasolják a betegtájékoztatóban.

Szintén az idegek miatt adtak egy speciális vitamit, a Millgamma N-t.

De az igazi áttörést a torna hozta meg, önmagukban a gyógyszerek nem segítettek. Egy teljes napon át újra és újra megcsináltam a gyakorlatokat, nyújtottam az idegeket. Fájt is rendesen, de végre kezdtem tudni mozogni. Minden nap több órát kellett tornásszak - még éjszaka is :-(. Ahogy nyújtás közben egyre kevésbé fájt az ideg, úgy tudtam egyre jobban mozogni, egyre többet ülni.
Ebben a videoban megszívlelendő tanácsok vannak, ezekben (link1 link2 link3) pedig bemutatják azt a 3 gyakorlatot, amit én csináltam. Iderakok képeket is, hátha leveszik a videókat:


Az orvosok azt ajánlották, hogy a földön feküdjek. Mint egy weboldalról kiderült azért, hogy a csigolyák ne tudjanak mozogni. Én megpróbáltam, de mivel sovány vagyok, minden csontot külön éreztem, és a hátizmaim is hamar  elkezdtek fájni. Ezért leraktam a földre egy szivacsot és azon feküdtem - így is tökéletes volt.

Használtam még fájdalomcsillapító kenőcsöt (Voltaren Forte 20mg) illetve tapaszt (Flector 140mg). A tapaszt nappalra ajánlják, a kenőcsöt éjjelre. Nekem pont fordítva jött be: a kenőcs hatása hamar kiment, de a tapaszból egész éjjel folyamatosan kapta a derekam az anyagot -  enélkül nem is tudtam háton feküdni.
A kenőccsel pedig ott kentem, ahol az ideg fut. Ennek állítólag nincs értelme, de szerintem egy kicsit használt.

Adtak egy beutalót a gerincgyógyászati központba, de 3 hónap múlvára kaptam időpontot. :-( Ott majd lehet, hogy lesz MR vizsgálat is (újabb 1-2 hónap?), ami talán kideríti, hogy az egész miért van, pl milyen állapotban vannak a csigolyák, a porckorongok, a vázizomzat.

Ennyit nem tudok várni :-( Bár sokkal jobb lett, de az alap probléma még nem múlt el. Ezért bejelentkeztem egy manuálterápiás (="csontkovács") magánrendelőbe. Olyan helyet kerestem, ahol orvos, sőt reumatológus kezeli a pácienseket és masszírozásos (FRSB, egy rövid leírás itt) technikát is használnak. Több ismerősömnek van jó tapasztalata ezzel a módszerrel.

Nagy szerencsém volt, hogy reumatológushoz mentem: porckorongsérvet talált, s azt mondta, hogy ha ehhez hozzányúl, többet árt, mint használ. Mivel az Algoflex Forte nem mulasztotta el 5 nap alatt a gyulladást, szteroidos gyulladáscsökkentőt adott és tornát írt elő.

Ha már porc: nekem már volt a térdemmel is gondom, ezért egy ideje szedek porc-viztaralom visszaépítőt. Többfélét próbáltam, de ami igazán bejött: Glukozamin Pharma Nord. A porc visszaépítésére, megerősítésére most Condrosulf-ot kaptam.