Iperf – Test przepustowości

Badanie przepustowości sieci pomiędzy dwoma linuksami.

Testowanie TCP

# Linux 1 - uruchomienie serwera ipref
$ iperf -s

# Linux 2 - uruchomienie klienta ipref
$ iperf -c <IP serwera ipref>

Testowanie UDP

# Linux 1 - uruchomienie serwera ipref
$ iperf -s -u

# Linux 2 - uruchomienie klienta ipref
$ iperf -c <IP serwera ipref> -u -b 1000M

Fortigate – diagnozowanie problemów SSL VPN

$ diagnose debug disable 

$ diagnose debug reset 

$ diagnose debug console timestamp enable

$ diagnose vpn ssl debug-filter src-addr4 < Source ip>

$ diagnose debug application sslvpn -1 

$ diagnose debug application fnbamd -1 

$ diagnose debug enable 


# Po zakończeniu

$ post log collection disable the debug

$ diagnose debug disable 

$ diagnose debug reset 

Debian – Instalacja .Net Core 6 SDK

Instalacja repozytoriów

$ wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
$ rm packages-microsoft-prod.deb

Instalacja .Net Core 6 SDK

$ sudo apt update
$ sudo apt install dotnet-sdk-6.0

Możemy zainstalować samo środowisko uruchomieniowe, bez SDK

$ sudo apt update
$ sudo apt install dotnet-runtime-6.0

Na podstawie: https://docs.microsoft.com/pl-pl/dotnet/core/install/linux-debian

Fortigate – Firewall dla połączeń przychodzących

Firewall Policy filtruje ruch przechodzący przez Fortigate np. z sieci Lan do Wan i z Wan do Lan. Jeżeli chcemy sprawdzać ruch adresowany do Fortigate np: połączenia ipsec, musimy skonfigurować Local in policy

Przykład pozwalający na połączenia ipsec tylko ze znanego nam adresu Oddzial.

Tworzymy obiekt adresu naszego hosta Oddzial.

config firewall address
    edit "Oddzial"
         set subnet X.X.X.X 255.255.255.255
    next

Tworzymy obiekt adresu naszego WAN IP

edit "WAN"
    set subnet Y.Y.Y.Y 255.255.255.255
next
end

Przygotowujemy dwie polityki lokalne. Pierwsza zezwoli na połączenia przychodzące ipsec z adresu IP „Oddzial”, druga zablokuje pozostałe adresy.

config firewall local-in-policy
    edit 1
        set intf "wan"
        set srcaddr "Oddzial"
        set dstaddr "WAN"
        set action accept
        set service "IKE"
        set schedule "always"
    next
    edit 2
        set intf "wan"
        set srcaddr "all"
        set dstaddr "WAN"
        set action deny
        set service "IKE"
        set schedule "always"
    next
end

Fortigate – Routing asymetryczny

W sieciach, w których jest więcej niż jeden router może się zdarzyć, że niektóre hosty nie mogą połączyć się z innymi sieciami. Taki problem występuje gdy pakiety żądań i odpowiedzi podążają różnymi ścieżkami i nie przechodzą przez ten sam router. To zachowanie jest znane jako routing asymetryczny. Jeśli FortiGate odbiera pakiety odpowiedzi, ale nie żądania, (lub żądania ale nie odpowiedzi) domyślnie blokuje pakiety jako nieprawidłowe.

Jeśli z jakiegoś powodu wymagane jest, aby jednostka FortiGate umożliwiała routing asymetryczny, można ją skonfigurować za pomocą następujących poleceń CLI na VDOM:

config vdom
    edit <vdom_name>
    config system settings
        set asymroute enable
    end
end

Takie ustawienie nie jest jednak zalecane gdyż Fortigate nie może w pełni używać filtrów zapory.

PostgreSQL – Debian instalacja

Instalacja serwera z repozytoriów PostgreSQL

# Przygotowanie pliku z repozytorium
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Import klucza repozytorium
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -


$ sudo apt-get update


# Instalacja najnowszej wersji posgresql
$ sudo apt-get -y install postgresql

Instalacja pgAdmin

# Przygotowanie pliku z repozytorium
$ sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'

# Import klucza repozytorium
$ sudo curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add

# Instalacja pgAdmin w wersji web
$ sudo apt install pgadmin4-web 

# Konfiguracja
$ sudo /usr/pgadmin4/bin/setup-web.sh

Aby uruchomić pgAdmin w przeglądarce wpisujemy adres: http://<adres_ip_do serwera_pgAdmin>/pgadmin4

Dodajemy bazę danych i użytkownika.

$ sudo postgres
$ psql
postgres=# create database mojaBaza;
postgres=# create user witek with encrypted password '123456';
postgres=# grant all privileges on database mojaBaza to witek;

Trunas Scale – Brak internetu dla kontenerów docker

Truenas Scale obsługuje kontenery Dockera używając Kubernetes. Czasem jednak potrzebujemy uruchomić kontener poza Kubernates np. przy budowaniu własnego obrazu. Tutaj jednak pojawia się problem, gdyż domyślnie kontenery uruchamiane przez Dockera nie mają dostępu do internetu, aby rozwiązać ten problem musimy wskazać sieć Dockera, którą chcemy użyć np:

$ docker build --network=host --tag=mojobraz . 

Fortigate – długi czas dostępu do serwerów oceny filtrów

Często możemy zaobserwować, że czas dostępu do serwerów oceny filtrów jest bardzo długi i mamy problemy z dostępem do stron internetowych. Czas ten możemy sprawdzić w fortigate System > FortiGuard tabelka FortiGuard Filter Rating Servers.

Powodem tego może być, że domyślnie Fotigate korzysta z serwera Anycast. Jednym z rozwiązań może być wyłączenie anycast i pobranie serwerów unicat np. z adresu 208.91.112.220

config system fortiguard
set fortiguard-anycast disable
set protocol udp
set port 8888
set sdns-server-ip 208.91.112.220
end

Raspbery Pi – UBUNTU GPIO problem

Jeżeli chcemy się dostać do GPIO za pomocą Python i biblioteki RPi.GPIO, jako zwykły użytkownik, może pokazać się nam błąd „RuntimeError: Not running on a RPi!”. Ten błąd wynika z braku uprawnień do /dev/gpiomem.

# dodajemy użytkownika na którym pracujemy do grupy dialout
$ sudo usermod -aG dialout tomeks
# ustawiamy na stałe uprawnienia do /dev/gpiomem dla grupy dialout
sudo nano /etc/udev/rules.d/99-gpiomem.rules

KERNEL=="gpiomem", OWNER="root", GROUP="dialout"

# uruchamiamy ponownie
$ sudo reboot