Linux-haladó

ansible: 1 host több csoport tagja

Fórumok

Sziasztok

Ansible-ben a hosts fájlban felsorolom, hogy milyen hostjaim vannak, pl. debian, web, mail, ezek alá beteszem a konkrét hostokat. Ha egy host mindhárom csoport tagja, akkor mindhárom csoport alá.

Én szeretném a hostjaimat valahogy flagekkel, csoportnevekkel könnyedén rendezni.

Pl. adott egy tűzfal rule, ahol a template fájlban feltételhez kötöm:

{% if inventory_hostname in groups['NS'] %}
iptables -A INPUT -i eth0 -p tcp -m tcp -m state --state NEW --dport 53 -j ACCEPT # NS
iptables -A INPUT -i eth0 -p udp -m udp -m state --state NEW --dport 53 -j ACCEPT # NS
{% endif %}
 

Akkor a nagy iptables.sh-ban megjelenik ez a sor, egyébként a többieknél nem.
Ha viszont ugyanez a host tartozik egy mail csoportba is, akkor nyissa ki az ahhoz tartozó portokat.

De ne kelljen már nekem ugyanazt a hostot beletenni a debian, az ns, a postfix, stb csoportba és több száz host esetén minden csoportban ellenőrizni, hogy mindenki benne van-e.  Nehezen átlátható, hosszú fájl lesz, hibázási lehetőség, szeretném elkerülni.

Szeretném összesen 1x látni az adott hostnevet az inventoryban, nem többször.
Milyen kulturált megoldás van erre?

Ansible help

Fórumok

Sziasztok!

 

Ismerkedem az Ansible-el, par pelda playbook segitsegevel.

 

Jelenleg egy VM infoit szeretnem lekerni vShere-en keresztul.

itt a playbook:

 

https://github.com/justai-net/ansible_vmware_snapshot/blob/master/guestfacts.yml

 

Redben csatlakozik a vsphere-hez, lekeri az osszes vm adatat, viszont amikor a tomb segitsegevel probalja az uuid-t megszerezni (a tomb az inventory-ban felvett hostokat tartalmazza) akkor az alabbi hibaval elhasal:

 

{
    "msg": "The task includes an option with an undefined variable. The error was: 'list object' has no attribute 'HUN401-02V'\n\nThe error appears to be in '/tmp/awx_53_5aw2215g/project/VMware /guestfacts.yml': line 19, column 5, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n    register: facts\n  - name: Verbose Virtual Machine and it's UUID.\n    ^ here\n",
    "_ansible_no_log": false
}

 

Gondolom a megoldas trivialis, de meg uj nekem ez a dolog....

sed kérdés

Fórumok

Kedves fórumozók!

sed-del szeretnék egy syslog-ng konfigurációs fájlt feldolgozni. A koncepció az, hogy először kiszűröm a konfigfájlból a kommenteket, a különböző @include-szerű direktívákat, majd kitörlöm az újsor karaktereket.

Ezután pedig már relatíve könnyen elemezhetem a konfigurációt. A cél az lenne, hogy az engemet érdeklő kulcsszavakat kiírassam az stdout-ra, minden mást pedig elnyelessek.

Jelenleg egy ilyen paranccsal próbálkozom:

sed -nEe 's:\s+(source)\s+:\1\n:gp' eee

Mivel az egész konfiguráció ekkora már tulajdonképpen egy sor, így a -n-nek nincs sok értelme. Ellenben a sed - mivel van match az adott sorban - kiírja magát az egész sort, így le kell horgonyoznom a patternt a sor elejére és végére:

sed -nEe 's:^.*\s+(source)\s+.*$:\1\n:gp' eee

Ezzel a regex-szel viszont csak egy előfordulást talál, felhetőleg a legutolsót az adott sorban. Hogyan tudnám ezt a limitációt valahogy áthidalni?

Két lehetséges megoldás is működhet:

  • valahogy rávenni a sed-et, hogy a sor azon részeit amire a pattern nem match-cselt, ne írja ki
  • valahogy rávenni a sed-et, hogy több lehetőség esetén a substring csere minden lehetséges match-re fusson le

Per pillanat nem tudom melyik megközelítés lenne egyszerűbb.

ansible adatgyűjtés

Fórumok

Hi,

 

Mi a best practice, ha van egy CVE lista és be kellene gyűjteni azokat a szervereket, amikre nincsenek telepítve a CVE-khez tartozó patch-ek?

Olyan megoldás kellene, ami később "paraméterezhető", tehát a CVE lista bármikor változhat.

Minél natívabb ansible megoldást keresek (simán bash-sel vagy ansible+taknyolással én is meg tudom oldani).

Thx.

fail2ban regexp nem értem

Fórumok

Sziasztok

ha ezt beírom a parancssorba akkor kiadja az eredményeket

fail2ban-regex /var/log/mail.log  "reject: RCPT from \S+\[<HOST>\]: 450 4\.7\.1 Client host rejected:"

Running tests
=============

Use regex line : reject: RCPT from \S+\[<HOST>\]: 450 4\.7\.1 Clien...
Use log file   : /var/log/mail.log

Results
=======

Failregex
|- Regular expressions:
|  [1] reject: RCPT from \S+\[<HOST>\]: 450 4\.7\.1 Client host rejected:
|
`- Number of matches:
   [1] 245 match(es)

Ignoreregex
|- Regular expressions:
|
`- Number of matches:

Summary
=======

Addresses found:
[1]
    213.142.148.150 (Sun Nov 24 06:29:39 2019)
...
    41.228.74.129 (Mon Nov 25 16:05:55 2019)

Date template hits:
16986 hit(s): MONTH Day Hour:Minute:Second
0 hit(s): WEEKDAY MONTH Day Hour:Minute:Second Year
0 hit(s): WEEKDAY MONTH Day Hour:Minute:Second
0 hit(s): Year/Month/Day Hour:Minute:Second
0 hit(s): Day/Month/Year Hour:Minute:Second
0 hit(s): Day/Month/Year Hour:Minute:Second
0 hit(s): Day/MONTH/Year:Hour:Minute:Second
0 hit(s): Month/Day/Year:Hour:Minute:Second
0 hit(s): Year-Month-Day Hour:Minute:Second
0 hit(s): Year.Month.Day Hour:Minute:Second
0 hit(s): Day-MONTH-Year Hour:Minute:Second[.Millisecond]
0 hit(s): Day-Month-Year Hour:Minute:Second
0 hit(s): TAI64N
0 hit(s): Epoch
0 hit(s): ISO 8601
0 hit(s): Hour:Minute:Second
0 hit(s): <Month/Day/Year@Hour:Minute:Second>

Success, the total number of match is 245

However, look at the above section 'Running tests' which could contain important
information.

Ha hasonlót építek be egy conf fájlba:

# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
# $Revision$
#

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf

[Definition]

# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
# Values:  TEXT
#
_daemon = postfix/smtpd
#NOQUEUE: reject: RCPT from unknown[213.142.148.190]: 450 4.7.1 Client host rejected:
failregex = ^%(__prefix_line)sreject: RCPT from \S+\[<HOST>\]$

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

és lefuttatom ezt:

fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/postfix.conf

akkor ezt kapom:

Running tests
=============

Use regex file : /etc/fail2ban/filter.d/postfix.conf
Use log file   : /var/log/mail.log

Results
=======

Failregex
|- Regular expressions:
|  [1] ^\s*(?:\S+ )?(?:kernel: \[\d+\.\d+\] )?(?:@vserver_\S+ )?(?:(?:\[\d+\])?:\s+[\[\(]?postfix/smtpd(?:\(\S+\))?[\]\)]?:?|[\[\(]?postfix/smtpd(?:\(\S+\))?[\]\)]?:?(?:\[\d+\])?:)?\s*reject: RCPT from \S+\[<HOST>\]$
|
`- Number of matches:
   [1] 0 match(es)

Ignoreregex
|- Regular expressions:
|
`- Number of matches:

Summary
=======

Sorry, no match

Look at the above section 'Running tests' which could contain important
information.

 

Mitől nem szerepel a "kevesebb/gyengébb" regexp mint ha csak úgy írom be a parancssorba?

Local halozat - gyors a website, VPN tuloldala - lassu

Fórumok

Sziasztok!

 

Adott egy webapp, ami localban megfelelo sebessegu, viszont a tavoli telephelyen (VPN-el osszelove, kb 100 mbit) sokszor lassu. A kerdesem, hogy ezen segitene szerintetek a tavoli telephelyen egy content cacher? A webapp foleg a DB-t tekeri (munkaido nyilvantartas)

 

Ha segit egy ilyen Proxy, akkor mit ajanlotok ahol a cel konkretan a content cache, nem a szures/logolas?

DHCP/DNS hiba vagy nem tudom mi

Fórumok

Sziasztok!

Adva vagyon 2 db dhcp/dns szerver Ubuntu 18.04 alapokon, az utóbbi pár napban csinálnak érdekes dolgokat. Van 5 db TP-Link nyomtatószerver amiket most kötöttem hálózatra, amiknek első alkalommal ad is ip címet és fel is veszi őket dns-be, aztán egyszer csak fogja magát és megújítás után törli dns-ből. Ip címet megkapja, mert elérhető marad. Hálózattal nem lehet gond, azon a switchen lóg még két Zebra nyomtató is, azokkal nem csinálnak semmi ilyet, pedig azokat később adtam hozzá a hálózathoz.

Ez lenne a syslog bejegyzés, én nem látok benne semmi különöset és nem tudom merre induljak.

Nov  8 19:58:35 dns1 dhcpd[2668]: DHCPREQUEST for 10.1.3.250 from 34:e8:94:20:0c:e6 (hostnév) via eth0
Nov  8 19:58:35 dns1 dhcpd[2668]: DHCPACK on 10.1.3.250 to 34:e8:94:20:0c:e6 via eth0
Nov  8 19:58:35 dns1 named[859]: client @0x7fa3e8085b80 127.0.0.1#48923/key rndc-key: signer "rndc-key" approved
Nov  8 19:58:35 dns1 named[859]: client @0x7fa3e8085b80 127.0.0.1#48923/key rndc-key: updating zone 'iqrgs1.lan/IN': deleting an RR at hostnév A
Nov  8 19:58:35 dns1 named[859]: zone domain.név/IN: sending notifies (serial 45355)
Nov  8 19:58:35 dns1 dhcpd[2668]: Removed forward map from hostnév to 10.1.3.250
Nov  8 19:58:35 dns1 named[859]: client @0x7fa3e8077560 127.0.0.1#49795/key rndc-key: signer "rndc-key" approved
Nov  8 19:58:35 dns1 named[859]: client @0x7fa3e8077560 127.0.0.1#49795/key rndc-key: updating zone 'domain.név/IN': deleting an RR at hostnév TXT
Nov  8 19:58:35 dns1 named[859]: client @0x7fa3e80a8850 10.255.255.7#36275 (iqrgs1.lan): transfer of 'domain.név/IN': IXFR started (serial 45354 -> 45355)
Nov  8 19:58:35 dns1 named[859]: client @0x7fa3e80a8850 10.255.255.7#36275 (iqrgs1.lan): transfer of 'domain.név/IN': IXFR ended
Nov  8 19:58:35 dns1 named[859]: client @0x7fa3f00f35b0 10.255.255.8#39785/key rndc-key: signer "rndc-key" approved
Nov  8 19:58:35 dns1 named[859]: client @0x7fa3f00f35b0 10.255.255.8#39785/key rndc-key: updating zone '3.1.10.in-addr.arpa/IN': deleting rrset at '250.3.1.10.in-addr.arpa' PTR
Nov  8 19:58:35 dns1 dhcpd[2668]: Removed reverse map on 250.3.1.10.in-addr.arpa
Nov  8 19:58:35 dns1 named[859]: zone 3.1.10.in-addr.arpa/IN: sending notifies (serial 132)
Nov  8 19:58:36 dns1 named[859]: client @0x7fa3e809a230 10.255.255.7#47853 (3.1.10.in-addr.arpa): transfer of '3.1.10.in-addr.arpa/IN': IXFR started (serial 131 -> 132)
Nov  8 19:58:36 dns1 named[859]: client @0x7fa3e809a230 10.255.255.7#47853 (3.1.10.in-addr.arpa): transfer of '3.1.10.in-addr.arpa/IN': IXFR ended
Nov  8 19:58:40 dns1 named[859]: zone domain.név/IN: sending notifies (serial 45356)
Nov  8 19:58:40 dns1 named[859]: client @0x7fa3e80a8850 10.255.255.7#36503 (domain.név): transfer of 'iqrgs1.lan/IN': IXFR started (serial 45355 -> 45356)
Nov  8 19:58:40 dns1 named[859]: client @0x7fa3e80a8850 10.255.255.7#36503 (domain.név): transfer of 'iqrgs1.lan/IN': IXFR ended
Nov  8 19:58:43 dns1 named[859]: resolver priming query complete

packer ssh timeout

Fórumok

Hi

packer-rel építenék RHEL7-es image-et.
json kész, kickstart kész, gép épül, majd a végén lerohad az egész:


==> virtualbox-iso: Waiting for SSH to become available...
==> virtualbox-iso: Error waiting for SSH: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none], no supported methods remain
==> virtualbox-iso: Deregistering and deleting VM...
==> virtualbox-iso: Deleting output directory...
Build 'virtualbox-iso' errored: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none], no supported methods remain

==> Some builds didn't complete successfully and had errors:
--> virtualbox-iso: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none], no supported methods remain

==> Builds finished but no artifacts were created.

A gép cloudinit-es környezethez készül, de a build környezetben nincs cloudinit, tehát IP-je sincs (bár gondolom a packer a VBox NAT-os IP-jén akarna bejutni).

Amit már eddig próbáltam:
- json-ben, kickstart-ban benne van a root pass
- kickstart-ban már kínomban plaintext-ben van a root pass
- kickstart %post -ban ssh password auth és root login enabled

Nekem az is jó, ha a packer befejezi a gép építést és ssh-zás helyett szépen megáll.

Minden tippnek örülök.

Legjobb terminálablak háttérszín minimális kékkel

Fórumok

Jelenlegi terminál háttérszínem #f7f7f7 (White Smoke).
Meg vagyok (illetve voltam) vele elégedve, viszont csak most tudastosítottam, hogy így a kék komponens bitjei is majdnem mind 1-esek, ugyanis f7_16 = 1111 0111
Hogyan kéne megváltoztatni, hogy nagyjából világos legyen a háttérszín, viszont a lehető legkevesebb kék legyen benne? Ti milyen háttérszínt használtok?