log_format vhost_extra '$host $remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"'
' rt=$request_time uct="$upstream_connect_time" uht="$upstream_header_time" urt="$upstream_response_time"';
access_log /var/log/nginx/access.log vhost_extra;
środa, 27 kwietnia 2022
nginx vhost logging
niedziela, 10 października 2021
HP NC550SFP DualPort 10GbE aktualizacja firmware
Hewlett-Packard Company NC550SFP DualPort 10GbE Server Adapter
Emulex Corporation OneConnect OCe10100/OCe10102 Series 10 GbE (rev 02)Firmware dla karty: https://support.hpe.com/ KOPIA System: Ubuntu 20.04 LTS
mkdir ~/hp_update cd ~/hp_update wget "https://downloads.hpe.com/pub/softlib2/software1/cd-generic/p674746231/"\Update firmware:
"v119278/UEFI_OneConnect-Flash-10.7.110.38-x64.iso" sudo mount UEFI_OneConnect-Flash-10.7.110.38-x64.iso /mnt cp /mnt/initrd /mnt/UFI/oc10-4.9.416.15.ufi . sudo umount /mnt sudo mount initrd /mnt cp /mnt/bin/flash .
rmmod be2net sudo ./flash -c -x -f oc10-4.9.416.15.ufiPo aktualizacji trzeba zrobić "reboot". Testowane na:
HP EliteDesk 800 G2 TWR / Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz / 32 GB RAM / wersja firmware 2.53
OptiPlex 7060 MT / Intel(R) Core(TM) i5-8500 CPU @ 3.00GHz / 32 GB RAM / wersja firmware 1.9.1Uwagi:
- Na OptiPlex 7060 konieczna była aktywacja opcji Enable Legacy OpROM
- Na HP 800 G2 zadziałało tylko UEFI
niedziela, 11 kwietnia 2021
ssh batch execution
I always forget correct syntax for this:
ssh -o BatchMode=yes -o LogLevel=ERROR -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@host cmd
niedziela, 28 lutego 2021
Traefik wildcard TLS with Digital Ocean DNS provider
version: "3.5"
services:
gateway:
image: traefik:2.4
restart: always
environment:
DO_AUTH_TOKEN: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
command:
- --providers.docker
- --providers.docker.exposedbydefault=false
- --entrypoints.http.address=:80
- --entrypoints.https.address=:443
- --certificatesresolvers.le.acme.httpchallenge=false
- --certificatesresolvers.le.acme.httpchallenge.entryPoint=http
- --certificatesresolvers.le.acme.dnschallenge=true
- --certificatesresolvers.le.acme.dnschallenge.provider=digitalocean
- --certificatesresolvers.le.acme.dnschallenge.delaybeforecheck=0"
- --certificatesResolvers.le.acme.storage=/acme/acme.json
#- "--certificatesResolvers.le.acme.caServer=https://acme-staging-v02.api.letsencrypt.org/directory"
ports:
- 80:80
- 443:443
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- acme:/acme
default:
image: nginx:stable
restart: always
labels:
- traefik.enable=true
- traefik.http.middlewares.redirect.redirectscheme.scheme=https
- traefik.http.routers.app-http.rule=HostRegexp(`{default:.*}`)
- traefik.http.routers.app-http.entrypoints=http
- traefik.http.routers.app-http.middlewares=redirect
- traefik.http.routers.app-https.rule=HostRegexp(`{default:.*}`)
- traefik.http.routers.app-https.entrypoints=https
- traefik.http.routers.app-https.tls=true
- traefik.http.routers.app-https.tls.certresolver=le
- traefik.http.routers.app-https.tls.domains[0].main=test.example.com
- traefik.http.routers.app-https.tls.domains[0].sans=*.test.example.com,other.example.pl,*.other.example.pl
volumes:
- ./:/usr/share/nginx/html
volumes:
acme:
# vim: set tabstop=2 shiftwidth=2 expandtab autoindent indentexpr= nosmartindent :
czwartek, 20 sierpnia 2020
CentOS 7/8 UEFI with ESP on RAID1
Kickstart configuration for RAID1 setup on UEFI firmware.
clearpart --all --initlabel part raid.A0 --fstype=raid --ondisk=sda --size=512 part raid.A1 --fstype=raid --ondisk=sda --size=200 part raid.A2 --fstype=raid --ondisk=sda --size=1 --grow part raid.B0 --fstype=raid --ondisk=sdb --size=512 part raid.B1 --fstype=raid --ondisk=sdb --size=200 part raid.B2 --fstype=raid --ondisk=sdb --size=1 --grow raid /boot --device=0 --fstype=ext4 --level=1 raid.A0 raid.B0 raid /boot/efi --device=1 --fstype=efi --level=1 raid.A1 raid.B1 raid pv.1 --device=2 --fstype=lvmpv --level=1 raid.A2 raid.B2 volgroup storage pv.1 logvol / --fstype=ext4 --name=root --vgname=storage --size=8192 logvol swap --name=swap --vgname=storage --size=8192 logvol /srv --fstype=xfs --name=srv --vgname=storage --size=1 --growAll partitions are marked as RAID type (no esp or boot).
MDRAID for ESP is created with 1.0 metadata format (metadata at the end of the partition).
środa, 27 maja 2020
Apache + PHP - deny policy
This is sample config for apache + php (mod_php) which by default blocks all .php and allow only specified locations:
php_admin_value engine off <FilesMatch "\.php$"> Deny from All </FilesMatch> <Location /index.php> Allow From All php_admin_value engine on </Location> <Location /sample/> Allow From All php_admin_value engine on </Location>This assume there is catch all to index.ph somewhere (.htaccess or vhost).
czwartek, 6 lutego 2020
IPSec policy via plain old setkey
In old days I sometimes used IPSec keying (PSK) via manual rules (no IKE at all). I needed sample config for some PoC stuff.
So for "future" use:
On one side:
#!/usr/sbin/setkey -f flush; spdflush; add IP1.IP1.IP1.IP1 IP2.IP2.IP2.IP2 esp 0x1000 -m tunnel -E blowfish-cbc "<32 chars>" -A hmac-sha1 "<20 chars>"; add IP2.IP2.IP2.IP2 IP1.IP1.IP1.IP1 esp 0x2000 -m tunnel -E blowfish-cbc "<32 chars>" -A hmac-sha1 "<20 chars>"; spdadd 100.100.0.0/16 100.64.0.0/16 any -P in ipsec esp/tunnel/IP1.IP1.IP1.IP1-IP2.IP2.IP2.IP2/require; spdadd 100.64.0.0/16 100.100.0.0/16 any -P out ipsec esp/tunnel/IP2.IP2.IP2.IP2-IP1.IP1.IP1.IP1/require;On other side:
#!/usr/sbin/setkey -f flush; spdflush; add IP1.IP1.IP1.IP1 IP2.IP2.IP2.IP2 esp 0x1000 -m tunnel -E blowfish-cbc "<32 chars>" -A hmac-sha1 "<20 chars>"; add IP2.IP2.IP2.IP2 IP1.IP1.IP1.IP1 esp 0x2000 -m tunnel -E blowfish-cbc "<32 chars>" -A hmac-sha1 "<20 chars>"; spdadd 100.100.0.0/16 100.64.0.0/16 any -P out ipsec esp/tunnel/IP1.IP1.IP1.IP1-IP2.IP2.IP2.IP2/require; spdadd 100.64.0.0/16 100.100.0.0/16 any -P in ipsec esp/tunnel/IP2.IP2.IP2.IP2-IP1.IP1.IP1.IP1/require;Change spdadd policy direction only.
Subskrybuj:
Posty (Atom)