Welcome to MkDocs

Linux

Clean the session of the log in - Linux

history -c \
rm -rf ~/.bash_history \
echo >/var/log/wtmp \
exit

SSH

Problem with autodisconnect when session is idle in ssh

To solve that problem you can the below line into ~/.ssh/config

ServerAliveInterval 120

After 120 sec it will sent the null packet into the connected server.

SELinux

Status of SELinux

sestatus

Disable temporarily SELinux

sudo setenforce 0

Disable permenitly SELinux

Please open the file /etc/selinux/config and change the SELINUX to disabled

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - No SELinux policy is loaded.
SELINUX=disabled

Better compression

Directory Compression

tar cf - paths-to-archive | pigz -9 -f > archive.tar.gz

Directory Uncompression

pigz -dc archive.tar.gz | tar xf -

LZMA decompress

xz --format=lzma FILE.lzma

LVM

Dodawanie nowego dysku do istniejącego volume group

# Wyświetlamy jakie aktualnie mamy volume groupy: (aktualnie mamy jedną)
[root@localhost ~]# vgdisplay | grep "VG Name"
--- Volume group ---
VG Name               centos_localhost

# Dodajemy wybrany dysk w naszym przypadku /dev/sdb do wyżej wymienionej
# volume group
[root@localhost ~]# vgextend centos_localhost /dev/sdb

# Dodajemy logiczny volume (o pojemnosci 10G)  do wybranej group
[root@localhost ~]# lvcreate -L +10G --name data centos_localhost

# Rozszerzamy o całe pozostałe miejsce z volume group
[root@localhost ~]# lvm lvextend -l +100%FREE /dev/mapper/localhost-data

# W niektórych przypadkach można użyć też komendy do resize aby dobrze się wyświetał
[root@localhost ~]# xfs_growfs /dev/mapper/localhost-data

# Formatujemy logiczny volumin
[root@localhost ~]# mkfs -t ext4 /dev/mapper/localhost-data

# Tworzymy miejsce do zamountowania logicznego voluminu:
[root@localhost ~]# mkdir /data

# Dodajemy go aby mountował przy starcie
# Edytujemy plik oraz dodajemy do niego:
[root@localhost ~]# vim /etc/fstab
# <NAZWA-LOGIC-MAPPERA> <MIEJSCE MOUNTOWANIA> FORMAT <POZOSTAŁE RZECZY>
/dev/mapper/localhost-data /data                   ext4     defaults 0 0

# Sprawdzamy komenda czy dysk sie mountuje sam:
[root@localhost ~]# mount -a

# Jezeli komenda wykonala sie bez bledu to po wywolaniu komendy
[root@localhost ~]# lsblk
NAME                         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb                            8:16   0  130G  0 disk
└─localhost-data   253:2    0  130G  0 lvm  /data

# Widzimy /data zamountowane ;)

Rozszerzenie

# LLVM
vgdisplay # Sprawdzenie czy jest free vg?
sudo lvm lvextend -l +100%FREE /dev/mapper/localhost-root # Dodanie wszytskiego
# co ma vg do localhost-root
xfs_growfs /dev/mapper/localhost-root # Dobrze wyświetlał df -h

Git

Git - Przykładowy rebase - git rebase

# Chcemy skompresować trzy ostatnie commity (bo tyle stworzyliśmy)
git rebase -i HEAD~3

# Następnie pierwszy commit zostawiamy bez zmian a ostatnie dwa (2,3)
# zmieniamy jako pick
# Przed zmianami:
pick eaaf1bb Added purple-discord
pick a44c5d7 Updated the Copyright
pick fef6588 x11-plugins/purple-discord: add purple-discord-9999

# Po zmianach:
pick eaaf1bb Added purple-discord
s a44c5d7 Updated the Copyright
s fef6588 x11-plugins/purple-discord: add purple-discord-9999

# Normalnie commit usuwając reszte commit messages
git commit

Network

Set the static IP in CentOS using the file ifcfg-eth0

  • Create a file named /etc/sysconfig/network-scripts/ifcfg-eth0 as follows:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
PREFIX=24
IPADDR=192.168.2.203
  • Restart network service: systemctl restart network

Add static ip for eth0 in the livecd

ip address add 192.168.180.99/24 dev eth0
route add default gw 192.168.180.1 eth0
echo "nameserver 8.8.8.8" > /etc/resolv.conf
echo "nameserver 8.8.8.8" > /mnt/sysimage/etc/resolv.conf

Add routing - 192.168.0.220 through 192.168.0.254 and wlan0 dev

sudo ip route add 192.168.0.220 via 192.168.0.254 dev wlan0

Adding the RAID in Linux

mdadm --create --verbose /dev/md1 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1

Wipe filesystem

wipefs -a /dev/sdb

Chroot w linux iso

mount /dev/sda2 /mnt
mount --rbind /dev /mnt/dev
mount --make-rslave /mnt/dev
mount -t proc /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --make-rslave /mnt/sys
mount --rbind /tmp /mnt/tmp
chroot /mnt /bin/bash
. /etc/profile

Limit for network speed

Set the limit (upload)

doas tc qdisc add dev eth0 root tbf rate 5024kbit latency 50ms burst 1540

Remove the limit (upload)

doas tc qdisc del dev eth0 root

Change date using the timedatectl

timedatectl set-timezone "Europe/Warsaw"

Base64 - encrypt and decrypt

Encrypt

echo "text:text" | tr -d \\n | base64
dGV4dDp0ZXh0

Decrypt

echo "dGV4dDp0ZXh0" | base64 -d
text:text%

Change the time modyfication of file

touch -t "1901081430.30" /var/log/yum.log
touch -d "3 days ago" /var/log/yum.log

GPG

Import GPG keys

My key is ~y0rune-private-gpg.key~ and ~y0rune-ownertrust-gpg.txt~

gpg --import y0rune-private-gpg.key
gpg --import-ownertrust y0rune-ownertrust-gpg.txt

Resolving problem with GPG

killall gpg-agent && gpg-agent \
--daemon \
--use-standard-socket \
--pinentry-program \
/usr/bin/pinentry

Resolve the problem

Problem with CLANG in CentOS

sudo localectl set-locale LANG=en_US.UTF-8
sudo dnf install langpacks-en glibc-all-langpacks -y

Problem with s2ram

If in your system got a message Machine is unknown. you should use the -f force method to do it. The command is below.

sudo s2ram -f

Resolving problem with GPG when do not import the keys

killall gpg-agent && gpg-agent \
--daemon \
--use-standard-socket \
--pinentry-program \
/usr/bin/pinentry

Gentoo

Instalacja

W trakcie instalacji potrzebny jest pendrive w moim przypadku używam Ubuntu.

Pierwsze uruchomienie Ubuntu

Podłącz się do sieci za pomocą kabla albo sieci wifi. Sprawdź czy posiadasz połączenie do internetu:

ping google.com

Możesz także skonfigurować ssh aby wykonywać komendy zdalnie prze innych komputer.

hostname -I # Otrzymamy aktualny adres ip urządzenia
apt install ssh -y # Instalacja ssh
passwd # Zmieniamy aktualne hasło do usera ubuntu
systemctl status ssh # Jezeli jest wlaczone to bardzo dobrze ;)

Teraz możemy połączyć się z maszyną zdalnie:

ssh ubuntu@<IP-ADDRESS Z KROKU POPRZEDNIEGO>

Partycjonowanie dysku

W moim przypadku posiadam dysk o nomenklaturze sda Uruchamiamy narzędzie do partycjonowania dysku:

parted -a optimal /dev/sda

Teraz wykonujemy podział przedstawiony w poniższej tabelce | # | Nazwa | Rozmiar | |---+-----------------+-----------| | 1 | Bios Boot | 3 MiB | | 2 | EFI | 100 MiB | | 3 | ZFS (Boot pool) | 500 MiB | | 4 | ZFS (Main pool) | Pozostałe |

W parted wykonujemy poniższe instrukcje:

unit mib
mklabel gpt
mkpart primary 1 3
mkpart primary 3 103
mkpart primary 103 603
mkpart primary 603 40603
mkpart primary 40603 -1
name 1 grub
name 2 esp
name 3 boot
name 3 rpool
set 1 bios_grub on
set 2 boot on
print
quit

Teraz wykonujemy formatownie EFI

mkfs.fat -F32 /dev/sda2

Tworzenie odpowiednich pool ZFS

zpool create \
    -f -d \
    -o feature@async_destroy=enabled \
    -o feature@empty_bpobj=enabled \
    -o feature@lz4_compress=enabled \
    -o feature@multi_vdev_crash_dump=enabled \
    -o feature@spacemap_histogram=enabled \
    -o feature@enabled_txg=enabled \
    -o feature@hole_birth=enabled \
    -o feature@extensible_dataset=enabled \
    -o feature@embedded_data=enabled \
    -o feature@bookmarks=enabled \
    -o feature@filesystem_limits=enabled \
    -o feature@large_blocks=enabled \
    -o feature@sha512=enabled \
    -o feature@skein=enabled \
    -o feature@edonr=enabled \
    -o feature@userobj_accounting=enabled \
    -o ashift=12 \
    -o cachefile=none \
    -O compression=lz4 \
    -m none \
    -R /mnt/gentoo rpool /dev/sda4
zfs create rpool/ROOT
zfs create -o mountpoint=/ rpool/ROOT/gentoo
zfs create -o mountpoint=/home rpool/HOME
zfs create -o mountpoint=/root rpool/HOME/root
zpool create -f -d -o ashift=12 -o cachefile=none -m /boot -R /mnt/gentoo boot /dev/sda3

Możemy także zobaczyć status czy wszytsko zostało wykonane:

zpool status
zfs list

Montowanie dysku do instalacji Gentoo Linux

cd /mnt/gentoo
mkdir boot/efi
mount /dev/sda1 boot/efi
mount /dev/sda2 boot
mount --rbind /dev /mnt/gentoo/dev
mount --rbind /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys

Pobieranie stage3 oraz jego wypakowanie

cd /mnt/gentoo
wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20210526T214502Z/stage3-amd64-20210526T214502Z.tar.xz
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner

Konfigurowanie ~make.conf~

Przykładowy make.conf [[https://git.yorune.pl/y0rune/portage/src/branch/master/make.conf]] Instrukcja dotyczca make.conf [[https://wiki.gentoo.org/wiki//etc/portage/make.conf]]

nano -w etc/portage/make.conf

Kopiowanie domyślnych drzewa repozytorium z Gentoo

cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Kopiowanie dns do Gentoo

cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

Wchodzimy do Gentoo

chroot /mnt/gentoo /bin/bash
source /etc/profile

Generowanie ~locale.gen~

Wpisz ~en_US.UTF-8 UTF-8~ do podanego pliku poniżej

nano -w /etc/locale.gen
locale-gen

Konfigurowanie portage

emerge-webrsync
emerge --sync

Wybieramy strefę czasową

ln -sf /usr/share/zoneinfo/Europe/Warsaw /etc/localtime

Wybieramy odpowiednii profil

eselect profile list
eselect profile set 1

Aktualizacja ~@world~

emerge --ask --verbose --update --deep --newuse @world

Instalacja kernela

Kernel (jądro systemu) będziemy instalowali w kilku częściach. Początkowym krokiem jest pobieranie ~kernela~ oraz ~genkernel~.

emerge sys-kernel/gentoo-sources sys-kernel/genkernel

Teraz wybieramy odpowiednie flagi do skompilowania Wybieramy kernel:

eselect kernel list
eselect kernel set 1
cd /usr/src/linux; sudo make ; sudo make; sudo make menuconfig; sleep 2;
genkernel all --makeopts=-j$(nproc --all) --kernel-config=/usr/linux/konfig

Instalacja odpowiednich pakietów do zfs

W pierwszej kolejności musimy włączyć możliwość instalacji pakietów beta pakietów ~sys-fs/zfs~ oraz ~sys-fs/zfs-kmod~ Zedytuj plik /etc/portage/make.conf i dodaj:

GRUB_PLATFORMS="efi-64"

Dodajemy odpowiednie flagi do plików:

echo "sys-fs/zfs ~amd64" >> /etc/portage/package.accept_keywords
echo "sys-fs/zfs-kmod ~amd64" >> /etc/portage/package.accept_keywords
echo "sys-boot/grub ~amd64" >> /etc/portage/package.accept_keywords
echo "sys-boot/grub device-mapper mount libzfs" >> /etc/portage/package.use

Instalacja gruba:

emerge sys-boot/grub

Konfiguracja zfs

Po uruchomieniu poniżej komendy sprawdzamy system plików jaki jest w /boot. Ta komenda powinna zwrócić zfs. Jeżeli komenda zwraca coś innego popełniłeś / popełniłaś błąd!!

grub-probe /boot

Po uruchomieniu poniżej komendy sprawdzamy system plików jaki jest w /boot. Ta komenda powinna zwrócić fat. Jeżeli komenda zwraca coś innego popełniłeś / popełniłaś błąd!!

grub-probe /boot/efi
grub-install --efi-directory=/boot/efi

W pliku ~/etc/default/grub~ musimy dodać w opcji

GRUB_CMDLINE_LINUX="dozfs=force real_root=ZFS=rpool/ROOT/gentoo"

W tym momencie musimy przebudować jądro ponieważ do niego doinstalowaliśmy zfs do systemu

genkernel all --makeopts=-j$(nproc --all) --kernel-config=/usr/linux/.config --zfs

Możemy teraz przeładować listę jąder w grub

grub-mkconfig -o /boot/grub/grub.cfg

Dodanie serwisów ~zfs~ do uruchamiania przy starcie

rc-update add zfs-mount boot
rc-update add zfs-share default
rc-update add zfs-zed default
rc-update delete hwclock boot

Instalacja ~net-misc/networkmanager~

emerge net-misc/networkmanager
rc-update add NetworkManager default

Zmiana hasła & Tworzenie użytkownika

Po wykonaniu wszystkich kroków jesteśmy gotowi do kroków ostatecznych. Zmiana hasła ;) oraz utworzenie użytkownika

passwd
useradd -m -G users,wheel,audio,cdrom,cdrw,usb,video -s /bin/bash yorune
passwd yorune

REBOOT

Możemy teraz ponownie uruchomić komputer powinień pokazać nam się grub z naszym jądrem. Po wyborze powinniśmy być w stanie bootowanie Gentoo Linux.

Instalacja po pierwszym uruchomieniu - moja personalna lista

emerge admin-app/doas app-editors/neovim app-editors/emacs x11-misc/dunst \
x11-misc/compton x11-apps/setxkbmap www-client/firefox-bin sys-apps/ripgrep \
net-vpn/wireguard-tools net-misc/youtube-dl net-irc/quassel net-im/teams \
net-im/discord-bin net-fs/samba net-fs/cifs-utils media-video/mpv \
media-video/ffmpeg media-sound/pulsemixer media-sound/pulseaudio \
media-sound/ponymix media-sound/cmus media-gfx/gnome-screenshot \
media-fonts/nerd-fonts media-fonts/terminus-font lxde-base/lxappearance \
mail-client/neomutt media-fonts/joypixels dev-util/shellcheck-bin \
dev-vcs/lazygit dev-tex/latexmk dev-tex/latex-beamer dev-db/dbeaver-bin \
app-text/wgetpaste app-text/texlive-core app-text/texlive app-text/pandoc-bin \
app-text/mupdf app-text/dos2unix app-text/aspell app-shells/oh-my-zsh \
app-shells/fzf app-portage/repoman app-portage/lto-rebuild app-portage/genlop \
app-office/libreoffice app-misc/ranger app-misc/neofetch app-misc/jq \
app-editors/neovim app-editors/emacs app-dicts/aspell-pl app-dicts/aspell-en \
app-admin/keepassxc x11-base/xorg-server app-emulation/docker x11-apps/xsetroot \
x11-apps/xrandr net-misc/rdate x11-apps/xinput x11-misc/xautolock sys-apps/yarn \
x11-libs/libXft gnome-extra/nm-applet sys-power/suspend sys-process/cronie \
sys-power/acpi mail-client/neomutt app-admin/pass mail-mta/msmtp net-mail/isync \
www-client/lynx app-misc/abook x11-misc/xclip dev-python/notebook \
dev-python/pip net-misc/streamlink app-portage/genlop dev-util/ccls \
app-portage/gentoolkitdev-util/ebuildtester app-admin/ccze \
texlive-langpolish xfreerdp net-news/newsboat sci-calculators/qalculate-gtk

Wybór środowiska graficznego

System Gentoo Linux oferuje bardzo dużą ilość środowisk graficznych większość z nich można znaleźć na stronie [[https://wiki.gentoo.org/wiki/Desktop_environment][Gentoo Desktop Environment]]

Pytania

Jeżeli znalazłeś błąd albo jakąkolwiek niejasność napisz email na [email protected]~. Dziękuje bardzo <3

Dodanie upstream

Dodanie Local CA

root #mkdir -p /usr/local/share/ca-certificates/
root #cp path/to/my.crt /usr/local/share/ca-certificates/

Resolve issue with invalid packages

Update 2> tmptxt

#!/bin/bash
for j in $(cat tmptxt | grep -i invalid | awk -F: '{print $2}' | awk -F/ '{print $2}'); do
    CUR=$j
    NUMB=$(echo $CUR | grep -oE '[0-9]' | head -n1)
    i=$(echo $CUR | sed '0,/'$NUMB'/s//-'$NUMB'/')
    set -x
    sed -i 's/'$j'/'$i'/g' /etc/portage/package.use
    set +x
done

MacOS

Install emacs on MacOs

brew tap railwaycat/emacsmacport
brew install emacs-machine
brew untap railwaycat/emacsmacport

Backup of packages from brew

yorune@MacBook ~ master $ brew leaves | xargs -n1 > ~/brew-packages
cat ~/brew-packages
yorune@MacBook ~ master $ cat ~/brew-packages
ansible
ccls
docker
fzf
gnupg
go
htop
jesseduffield/lazygit/lazygit
mpv
neovim
pinentry-mac
railwaycat/emacsmacport/emacs-mac
ripgrep
shellcheck
telnet
tmux
yarn

Bash

Set default value is null

#To get the assigned value, or default if it's missing:
FOO="${VARIABLE:-default}"  # If variable not set or null, use default.

#Or to assign default to VARIABLE at the same time:
FOO="${VARIABLE:=default}"  # If variable not set or null, set it to default.

Remove spaces at the begging

sed 's/^[ \t]*//' file

Remove n-th appear

sed '0,/'$NUMB'/s//-'$NUMB'/

Reading

while read line; do echo $line; done

FFMPEG

Cut from 00:00:00 to 00:24:00

fmpeg -ss 00:00:00 -i INPUT.mp4  -c copy -t 00:24:00 OUTPUT.mp4

AWS - Getting a ip range

AWS IP ranges for EC2 in EU-WEST-2

curl --silent https://ip-ranges.amazonaws.com/ip-ranges.json \
    | grep -i '"region": "eu-west-2"' -C2 \
    | grep -i '"service": "EC2"' -B 3 \
    | grep -i ip_pr \
    | awk -F ':' '{print "[AWS-EC2-West-2]" $2}' \
    | sed 's/"//g;s/,//g' \
    | sed 's/; /;/g'

AWS IP Address simple script

#!/bin/bash
export FILETMP='tmpfile'
export REGION='EU-West-2'
export SERVICE='EC2';

grep -i ''$REGION'' -A10 config.conf \
    | grep -i 'set member' \
    | sed 's/set member//g;s/^[[:space:]]*//g' \
    | head -n1 \
    | sed 's/" "/\n/g;s/"//g' \
    | sort -u > /tmp/${FILETMP}-FG

curl --silent https://ip-ranges.amazonaws.com/ip-ranges.json \
    | grep -i '"region": "'$REGION'"' -C2 \
    | grep -i '"service": "'$SERVICE'"' -B3 \
    | grep -i ip_pr | awk -F ':' '{print "[AWS-'$SERVICE'-'$REGION']" $2}' \
    | sed 's/"//g;s/,//g' \
    | sed 's/; /;/g' \
    | sort -u > /tmp/${FILETMP}

dos2unix /tmp/${FILETMP}-*

diff /tmp/${FILETMP}-FG /tmp/${FILETMP}

OneLine:

export FILETMP='tmpfile'; export REGION='EU-West-2'; export SERVICE='EC2'; grep -i ''$REGION'' -A10 config.conf | grep -i 'set member' | sed 's/set member//g;s/^[[:space:]]*//g' | head -n1 | sed 's/" "/\n/g;s/"//g' | sort -u > /tmp/${FILETMP}-FG ; curl --silent https://ip-ranges.amazonaws.com/ip-ranges.json | grep -i '"region": "'$REGION'"' -C2 | grep -i '"service": "'$SERVICE'"' -B 3 | grep -i ip_pr | awk -F ':' '{print "[AWS-'$SERVICE'-'$REGION']" $2}' | sed 's/"//g;s/,//g' | sed 's/; /;/g' | sort -u > /tmp/${FILETMP}; dos2unix /tmp/${FILETMP}-* ; diff /tmp/${FILETMP}-FG /tmp/${FILETMP}

Sed

Remove the comments in file (inputFile)

sed -e 's/#.#$//' -e '/^$/d' inputFile

Windows

Zmiana priorytetu karty sieciowej na systemie Windows

PS C:\WINDOWS\system32> Get-NetIPInterface

ifIndex InterfaceAlias                  AddressFamily NlMtu(Bytes) InterfaceMetric Dhcp     ConnectionState PolicyStore
------- --------------                  ------------- ------------ --------------- ----     --------------- -----------
30      vEthernet (Bridged)             IPv4                  1500              35 Enabled  Connected       ActiveStore
14      vEthernet (VMNetwork)           IPv4                  1500              15 Disabled Connected       ActiveStore
31      Ethernet 7                      IPv4                  1500              35 Enabled  Disconnected    ActiveStore
96      vEthernet (WiFi)                IPv4                  1500              15 Disabled Connected       ActiveStore
92      vEthernet (vEthernet (Brid)     IPv4                  1500              15 Disabled Connected       ActiveStore
88      vEthernet (vEthernet (VMNe)     IPv4                  1500            5000 Disabled Connected       ActiveStore
5       Ethernet 3                      IPv4                  1500              35 Enabled  Disconnected    ActiveStore
27      vEthernet (Ethernet 7)          IPv4                  1500            5000 Disabled Connected       ActiveStore
12      Local Area Connection* 12       IPv4                  1500              25 Enabled  Disconnected    ActiveStore
13      Local Area Connection* 11       IPv4                  1500              25 Enabled  Disconnected    ActiveStore
58      vEthernet (Ethernet 3)          IPv4                  1500            5000 Disabled Connected       ActiveStore
33      vEthernet (Default Switch)      IPv4                  1500              15 Disabled Connected       ActiveStore
20      WiFi                            IPv4                  1500               5 Enabled  Connected       ActiveStore
1       Loopback Pseudo-Interface 1     IPv4            4294967295              75 Disabled Connected       ActiveStore

PS C:\WINDOWS\system32> Set-NetIPInterface -InterfaceIndex "20" -InterfaceMetric "5"

Get user's last password restart

get-aduser -identity <USERNAME> -properties passwordlastset, passwordneverexpires, AccountExpirationDate | sort name | ft Name, passwordlastset, Passwordneverexpires

Zmiana persmisji

LINK

Fortigate

Connect into a memeber HA

execute ha manage [ID] [user]

Check Licence

FG301E # get system fortiguard
protocol : https
port : 8888
load-balance-servers: 1
auto-join-forticloud: enable
update-server-location: any
sandbox-region :
fortiguard-anycast : disable
antispam-force-off : disable
antispam-cache : enable
antispam-cache-ttl : 1800
antispam-cache-mpercent: 2
antispam-license : Contract
antispam-expiration : Sun Nov 20 2022

Sprawdzenie czy FortiGate jest w conservative mode

FG # diagnose hardware sysinfo conserve
memory conserve mode:                        off
total RAM:                                         7980 MB
memory used:                                       5419 MB   67% of total RAM
memory freeable:                                    494 MB    6% of total RAM
memory used + freeable threshold extreme:          7581 MB   95% of total RAM
memory used threshold red:                         7022 MB   88% of total RAM
memory used threshold green:                       6543 MB   82% of total RAM

Top

Aby wyświetlić wszytskie aktualne procesy uruchomione na urządzeniu wystarczy w trybie konsolowym uruchomić komendę:

diagnose sys top-summary
###   CPU [||||||||||                              ]  27.4%
###   Mem [||||||||||||||||||||||||||              ]  65.0%  5221M/7980M
###   Processes: 20 (running=1 sleeping=168)

###   PID      RSS  ^CPU% MEM%   FDS     TIME+  NAME
### * 202       1G   58.7 22.9   373  00:50.78  ipsmonitor [x5]
###   231     361M   10.6  4.5    14  35:10.98  src-vis
###   221      98M    5.8  1.2   805  25:13.19  wad [x11]

Debug Stop

diagnose debug disable
diagnose debug flow trace stop
diagnose debug flow filter clear
diagnose debug reset

Uruchomienie trybu debugującego dotyczącego wskazanego ruchu

diagnose debug disable
diagnose debug flow trace stop
diagnose debug flow filter clear
diagnose debug reset

diagnose debug flow filter saddr SOURCE-IP-ADDRESS
diagnose debug flow filter daddr DEST-IP-ADDRESS
diagnose debug flow show console enable
diagnose debug flow show function-name enable
diagnose debug console timestamp enable
diagnose debug flow trace start 999
diagnose debug enable

Uruchomienie trybu debugującego dotyczącego tunnelu

diagnose vpn ike gateway list name NAME
diagnose vpn ike log-filter dst-addr4 IPADDRESS
diagnose debug application ike -1
diagnose debug enable

diagnose debug disable

Wyświetlenie aktualnego statusu dotyczącego IPSec tunnels

get vpn ipsec tunnel summary

Uruchomienie trybu debugującego dotyczącego IPSec tunnels

diagnose vpn ike gateway list name NAME
diagnose vpn ike log-filter dst-addr4 SOURCE-IP-ADDRESS
diagnose debug application ike -1
diagnose debug enable

Problem dotyczący tunelu / tuneli IPSec

Jeśli ponowne uruchomienie interfejsu nie przyniesie, może to oznaczać, że problem jest połączony z IPsec SA, istnieją trzy metody:

  • Restartowanie jednego tunnelu:
diag vpn ike gateway flush NAME
  • Restartowanie wszytskich tuneli:
diag vpn tunnel flush
diag vpn tunnel reset
  • Restartowanie modułu IKE:
get system performance top

# W poprzedniej komendy weź numer PID procesu IKED
diagnose system kill 11 NR-PROCESU-IKED

Podstawowa konfiguracja BGP

config router prefix-list
config router route map
config router bgp

Wyświelenie aktualnego statusu dotyczącego protokołu BGP

get router info bgp summary

Wyświetlenie routingu dla odpowiedniego sąsiada (neighbors)

get router info bgp neighbors 10.0.0.5 advertised-routes
get router info bgp neighbors 10.0.0.5 received-routes
get router info bgp neighbors 10.0.0.5 routes

Get address object with name: AZURE-FRONTEND


for i in $(cat <CONFIG-FILE> | grep -iE 'AZURE-FRONTEND-' -a2 | grep -i subnet | awk '{print $3","$4}'); do IP=$(echo $i | awk -F, '{print $1}'); NET=$(echo $i | awk -F, '{print $2}'); NET_MASK=$(netmask-to-mask $NET); echo -e "$IP$NET_MASK"; done | sort > ~/old-ips-azure

Wymuszenie wyczyszczenia routingu protokołu BGP

Dla wszytskich sąsiadów

execute router clear bgp all soft

Dla konkretnego adresu ip

execute router clear bgp ip ADDRESS-IP soft

Wyświetlenie aktualnych zmian po wykonaniu aktualizacji

diagnose debug config-error-log read

Problem with IPSEC

If restarting the interface do not bring it might mean that issue is connected to IPsec SA, there are four methods:

CLI Restart one tunnel

diag vpn ike gateway flush name <name>

CLI Restart ALL tunnels

diag vpn tunnel flush
diag vpn tunnel reset

CLI Restart ipsec module

THIS COMMAND RESET IPSEC AND SHOULD BE USED ONLY AS A LAST RESORT

get system performance top
diagnose system kill 11 <pid of iked>

Change a FortiClient on the WebPortal

config vpn ssl web portal
    edit "<YOUR-WEBPORTAL>"
        set customize-forticlient-download-url enable
        set windows-forticlient-download-url "https://filestore.fortinet.com/forticlient/downloads/FortiClientVPNSetup_6.2.6.0951_x64.exe"
        set macos-forticlient-download-url "https://filestore.fortinet.com/forticlient/downloads/FortiClientVPNSetup_6.2.0_macosx.dmg"
    next

Aruba

Sprawdzenie wesji oraz uptime

AP# show version
Aruba Operating System Software.
ArubaOS (MODEL: 305), Version 8.6.0.9
Website: http://www.arubanetworks.com
(c) Copyright 2021 Hewlett Packard Enterprise Development LP.
Compiled on 2021-04-07 at 05:24:48 UTC (build 79813) by p4build
FIPS Mode :disabled

AP uptime is 2 days 23 hours 31 minutes 12 seconds

Articles

Install new sudo - 1.9.5p due to CVE

PreBuild version

rpm -iv --force https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_5p2/sudo-1.9.5-3.el7.x86_64.rpm
rpm -iv --force https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_5p2/sudo-1.9.5-3.el8.x86_64.rpm

Build from Source - CentOS

sudo -V | grep -i "Sudo version"
yum install gcc gcc-c++ kernel-devel make git -y
git clone https://github.com/sudo-project/sudo.git
cd sudo
git checkout --track origin/sudo-1.9
./configure
make
sudo make install
/bin/bash
sudo -V | grep -i "Sudo version"
cd ..
rm -rf sudo/

Adding good source for old Debian Wheezy

Edit file /etc/apt/sources.list:

deb http://archive.debian.org/debian wheezy main

Build from Source - Debian

sudo -V | grep -i "Sudo version"
apt install build-essential make git -y
git clone https://github.com/sudo-project/sudo.git
cd sudo; git checkout --track origin/sudo-1.9
./configure
make
sudo make install
/bin/bash
sudo -V | grep -i "Sudo version"
cd ..
rm -rf sudo

Install CSGO Server with Docker

docker run --publish 27015:27015/tcp \
--publish 27015:27015/udp  \
--publish 27020:27020/tcp \
--publish 27020:27020/udp -d \
-e SRCDS_PORT=27015 \
-e SRCDS_RCONPW=B0dmUhGQROymQY1vTb0OMTXFy9ZaNFf8 \
-e SRCDS_TICKRATE=128 \
-e SRCDS_PW=$SERVER_PASSWORD \
-e SRCDS_MAXPLAYERS=10 \
-e SRCDS_WORKSHOP_AUTHKEY=$WORKSHOP_KEY \
-e SRCDS_STARTMAP="de_dust2"  \
-e SRCDS_TOKEN=$SRCD_TOKEN \
-e ADDITIONAL_ARGS="+net_public_adr "0.0.0.0" -ip "0.0.0.0"" \
--name=csgo-server cm2network/csgo