Sturbi's Home

  • Gallery
  • Modellflug
  • Datenschutz
  • Impressum

Blog

  • Allgemein (15)
    • Sprüche (6)
  • Angeln (3)
  • Computer (25)
    • Linux (16)
      • Nagios (5)
      • Nginx (4)
      • Postfix (3)
      • Subversion (1)
    • VMware (3)
    • Windows (9)
      • Powershell (8)
  • Fotografie (26)
  • Reise (8)
    • Hawaii (4)
    • Irland (1)
    • USA (5)
Wenn du etwas so machst,
wie du es seit zehn Jahren gemacht hast,
dann sind die Chancen groß,
daß du es falsch machst.

Charles F. Kettering amerikanischer Ingenieur * 29.08.1876, † 25.11.1958

Floppy Image aus Ordner erstellen

7. Januar 2021 by Sturbi Kategorie: Linux

Wie erstelle ich mir ein Floppy Image um Windows Treiber bei der Installation im HPE Ilo zu laden

mkdir /tmp/floppy
cd /tmp/floppy
# 75MB sollten reichen
dd if=/dev/zero of=floppy.img bs=1024 count=76800
# /dev/loop30 sollte nicht in Benutzung sein ...
losetup /dev/loop30 floppy.img
mkfs.exfat /dev/loop30
mount /dev/loop30 /mnt
cp ~/data/* /mnt/
umount /mnt
losetup -d /dev/looop30

 

Foreman VMware Cloud-Init

9. Oktober 2019 by Sturbi Kategorie: Linux, VMware

/etc/cloud/cloud.cfg

cloud_init_modules:
 - bootcmd

cloud_config_modules:
 - runcmd

cloud_final_modules:
 - scripts-per-once
 - scripts-per-boot
 - scripts-per-instance
 - scripts-user
 - resolv-conf
 - ca-certs
 - yum-add-repo
 - write-files
 - users-groups
 - package-update-upgrade-install
 - runcmd
 - puppet
 - phone-home

system_info:
  distro: rhel
  paths:
    cloud_dir: /var/lib/cloud
    templates_dir: /etc/cloud/templates
  ssh_svcname: sshd

# vim:syntax=yaml
#cloud-config
hostname: <%= @host.name %>
fqdn: <%= @host %>
manage_etc_hosts: true
users:
  - name: root
    ssh-authorized-keys:
      - ssh-ed25519 AAAA.....Vw4L0 sturbi@sturbi.de
      - ssh-rsa AAAAB3N....ji1pU4v foreman-proxy@foreman.sturbi.de

yum_repos:
    puppet6:
        baseurl: http://yum.puppetlabs.com/puppet/el/7/x86_64/
        enabled: true
        gpgcheck: false
        name: Puppet 6

package_update: true
package_upgrade: true

packages:
    - vim
    - tmux
    - mailx

package_reboot_if_required: true

<% if @host.puppetmaster -%>

packages:
    - puppet-agent

puppet:
    conf_file: '/etc/puppetlabs/puppet/puppet.conf'
    ssl_dir: '/opt/puppetlabs/puppet/ssl/'
    conf:
        agent:
            server: "<%= @host.puppetmaster %>"
            certname: "<%= @host.name %>"
        ca_cert: |
            -------BEGIN CERTIFICATE-------
            MIICIjAN.......ZwjH8CAwEAAQ==
            -------END CERTIFICATE-------

<% end %>

phone_home:
  url: <%= foreman_url('built') %>
  post: []
  tries: 10
# Template for VMWare customization via open-vm-tools
identity:
  LinuxPrep:
    domain: <%= @host.domain %>
    hostName: <%= @host.shortname %>
    hwClockUTC: true
    timeZone: 'Europe/Berlin'

globalIPSettings:
  dnsSuffixList: [<%= @host.domain %>]
  <%- @host.interfaces.each do |interface| -%>
  <%- next unless interface.subnet -%>
  dnsServerList: [<%= interface.subnet.dns_primary %>, <%= interface.subnet.dns_secondary %>]
  <%- end -%>

nicSettingMap:
<%- @host.interfaces.each do |interface| -%>
<%- next unless interface.subnet -%>
  - adapter:
      dnsDomain: <%= interface.domain %>
      dnsServerList: [<%= interface.subnet.dns_primary %>, <%= interface.subnet.dns_secondary %>]
      gateway: [<%= interface.subnet.gateway %>]
      ip: <%= interface.ip %>
      subnetMask: <%= interface.subnet.mask %>
<%- end -%>

puppet facts

6. September 2019 by Sturbi Kategorie: Linux

if Facter.value(:kernel) == 'Linux'
  Facter.add('ansible_python_interpreter') do
    setcode do
      ansible_python_interpreter = Facter::Core::Execution.exec('which python3')
      if ansible_python_interpreter.empty?
        ansible_python_interpreter = Facter::Core::Execution.exec('which python')
      end
      ansible_python_interpreter
    end
  end
end
if Facter.value(:kernel) == 'Linux'Facter.add(:tomcat) do
  confine operatingsystem: ['RedHat CentOS']
  setcode do
    process = Facter::Core::Execution.exec('ps -ef | grep [^]]java | grep catalina')
    tomcatinfo = Array.new({})
    regex = %r{/.*catalina.base\=(.*?) .*/}
    home = process[regex, 1]
    if home
      tomcatinfo.push('tomcat.base' => home)
      info = Facter::Core::Execution.exec(home + '/bin/version.sh')
      info = info.split(%r{/\n/})
      info.each do |x|
        tmp = x.split(%r{/:/})
        if tmp[0] =~ %r{/.*erver.*umber/}
          tomcatinfo.push('tomcat.version' => tmp[1].chomp.strip)
        end
        if tmp[0] =~ %r{/JVM Version/}
          tomcatinfo.push('tomcat.jvm' => tmp[1].chomp.strip)
        end
      end
      tomcatinfo
    end
  end
end
require 'json'
Facter.add(:yum_repos) do
  confine operatingsystem: ['RedHat CentOS']
  setcode do
    repos = Array.new({})

    # list enabled yum repos
    enabled_repos = Facter::Core::Execution.execute("/usr/bin/yum repolist enabled | awk '!/repo id/ && !/repolist/ && !/Load/' | awk '{print $1}'")
    splitstring = enabled_repos.split("\n")
    splitstring.each { |reponame| repos.push(reponame => true) }

    # list disabled yum repos
    enabled_repos = Facter::Core::Execution.execute("/usr/bin/yum repolist disabled | awk '!/repo id/ && !/repolist/ && !/Load/' | awk '{print $1}'")
    splitstring = enabled_repos.split("\n")
    splitstring.each { |reponame| repos.push(reponame => false) }

    repos
  end
end

SELinux Cheat Sheet

13. September 2016 by Sturbi Kategorie: Linux

Da ich wieder einmal mit SELinux gekämpft habe, schreibe ich mir mal die relevanten Befehle auf. Wahrscheinlich kann ich sie danach auswendig.

sestatus
avcstat
avcstat 1

setenforce 1
setenforce 0

grep prozess /var/log/audit/audit.log | audit2allow -M mypol
semodule -r mypol
semodule -l
semodule -i mypol.pp

sealert -a /var/log/audit/audit.log

audit2allow -w -a
audit2allow -a

restorecon -r /

setsebool -P httpd_unified 1
setsebool -P httpd_unified 0

semanage fcontext -a -t httpd_sys_rw_content_t 'modules'

ein bisschen Doku unter https://wiki.centos.org/HowTos/SELinux

Apache als Exchange OWA Reverse Proxy

9. November 2012 by Sturbi Kategorie: Linux

Da Microsoft den TMG aka ISA zu 2015 einstellen will und eine Loadbalancer als Reverse Proxy etwas übertrieben ist, baue ich dafür immer wieder mal einen Apache mit mod_proxy. Und weil ich mir das nicht immer zusammensuchen will, hier wieder ein Artikel nur für mich selbst *g*

Zum Einsatz kommt ein Linux nach Wahl mit Apache und einigen Module. (mod_ssl, mod_proxy, mod_proxy_connect, mod_proxy_html, mod_headers, mod_deflate)

Dann noch etwas Konfiguration und fertig ist der einfache Proxy.

Der Exchange wird hier unter der IP: 192.168.111.2 betrieben.

Es werden nur die Verzeichnisse /owa, /ecp und /Microsoft-Server-ActiveSync weitergereicht.

Zum Weiterreichen von /ews (Exchange web Services) sind noch einige Anpassungen notwendig, da der Apache ab Version 2.0.55 mit dem Chunked Header ein Problem hat.

### Host auf 80 mit Redirects ###
<VirtualHost *:80>

ServerName server.domain.tld
ServerAlias www.domain.tld
ServerAlias mail.domain.tld
ServerAdmin webmaster@domain.tld

ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined

Header always set X-Frame-Options SAMEORIGIN

Header set Server Apache

Header unset X-AspNet-Version
Header unset X-OWA-Version
Header unset X-Powered-By

ProxyRequests Off

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/owa(.*) https://www.domain.tld/owa$1 [R,L]
RewriteRule ^/ecp(.*) https://www.domain.tld/ecp$1 [R,L]
RewriteRule ^/Microsoft-Server-ActiveSync(.*) https://www.domain.tld/Microsoft-Server-ActiveSync$1 [R,L]

DocumentRoot /var/www

<Directory />
    Order deny,allow
    Deny from all
</Directory>

<Directory /var/www>
    DirectoryIndex index.php index.html
    Options -Indexes +FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>

<Proxy *>
        Order deny,allow
        Allow from all
</Proxy>

</VirtualHost>

### SSL Host ###
<IfModule mod_ssl.c>
<VirtualHost *:443>

ServerName www.domain.tld
ServerAdmin webmaster@domain.tld

ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined

Header always set X-Frame-Options SAMEORIGIN

Header set Server Apache

Header unset X-AspNet-Version
Header unset X-OWA-Version
Header unset X-Powered-By

ProxyRequests Off
ProxyPreserveHost On

SSLProxyEngine On

# owa
ProxyPass /owa https://192.168.111.2/owa
ProxyPassReverse /owa https://192.168.111.2/owa

# ecp
ProxyPass /ecp https://192.168.111.2/ecp
ProxyPassReverse /ecp https://192.168.111.2/ecp

# Microsoft-Server-ActiveSync
ProxyPass /Microsoft-Server-ActiveSync https://192.168.111.2/Microsoft-Server-ActiveSync
ProxyPassReverse /Microsoft-Server-ActiveSync https://192.168.111.2/Microsoft-Server-ActiveSync

DocumentRoot /var/www

<Directory />
    Order deny,allow
    Deny from all
</Directory>

<Directory /var/www>
    DirectoryIndex index.php index.html
    Options -Indexes +FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>

<Proxy *>
        SetEnv proxy-nokeepalive 1
        SetEnv force-proxy-request-1.0 1
        Order deny,allow
        Allow from all
</Proxy>

  SSLEngine on
        SSLCertificateFile    /etc/ssl/certs/www.domain.tld.pem
        SSLCertificateKeyFile /etc/ssl/private/www.domain.tld.key

  BrowserMatch "MSIE [2-6]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
  # MSIE 7 and newer should be able to use keepalive
  BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

  # old Server config
        #BrowserMatch ".*MSIE.*" \
        #        nokeepalive ssl-unclean-shutdown \
        #        downgrade-1.0 force-response-1.0
</VirtualHost>
</IfModule>

Weitere Links dazu im Netz

http://www.msxfaq.de/internet/apache.htm

http://geekerrific.blogspot.de/2010/08/exchange-2010-cas-apache-2-reverse.html

Nagios + check_mk Part 2 – jmx4perl

13. Oktober 2012 by Sturbi Kategorie: Linux, Nagios

heute noch die Grundkonfiguration von JMX4PERL von ConSol

Die gute Nachricht der aktuellen Version (OMD 0.56), man muss im Java Container (Tomcat) den JMX Remote Port nicht mehr aktivieren. Die schlechte Nachricht, man muss ein kleines WAR Paket „jolokia“ deployen.
http://www.jolokia.org/download.html
Im Tomcat kann/sollte man dafür Authentifizierung aktivieren. Über die URL http://server.domain.tld:xxxx/j4p sollte dann eine JSON formatierte Ausgabe an Daten erscheinen.
Dann die config Dateien für jmx4perl anpassen:

etc/jmx4perl/server.cfg

<Server localhost>
  Url http://localhost:8090/j4p
</Server>

etc/jmx4perl/jmx4perl.cfg

# Simple Check:
<Check j4p_memory_heap>
  Use memory_heap
  Critical 95
  Warning 90
</Check>

<Check j4p_thread_count>
  Use thread_count
  Critical 1000
  Warning 800
</Check>

Dann sollte ein Aufruf von „jmx4perl http://localhost:8090/j4p“ diverse Informationen zum Tomcat liefern.
checks:

check_jmx4perl --config $USER5$/jmx4perl/jmx4perl.cfg --server $HOSTNAME$ --check j4p_memory_heap
check_jmx4perl --config $USER5$/jmx4perl/jmx4perl.cfg --server $HOSTNAME$ --check j4p_thread_count

 

 

  • 1
  • 2
  • 3
  • Nächste Seite »

© 2026 · Sturbi's Home