Nastavení statické IP adresy v Linuxu

By | 08/06/2019

Last Updated on 04/07/2023 by administrator

Nastavení statické IP adresy v Linuxu

Nastavení statické IP adresy

OS:

Implementace byla prováděna na Ubuntu 22.04 LTS, Ubuntu 20.04 LTS a Ubuntu 18.04 LTS postup není aplikovatelný na Ubuntu 17.04 a níže.

Implementace:

Nejdříve je nutné zjistit jméno síťového rozhraní na kterém se bude nastavovat statická IP adresa:

ip a

Výpis konfigurace ip a:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:27:0e:0e:c6:e5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.88.185/24 brd 192.168.88.255 scope global dynamic noprefixroute enp1s0
       valid_lft 172706sec preferred_lft 172706sec
    inet6 fe80::b91a:5e9c:6043:5645/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

Jméno síťového rozhraní je zde označeno jako enp1s0 a s tím se bude dále pracovat. IP adresa 192.168.88.185 je získána z DHCP serveru, což se pozná z valid_lft (Valid Lifetime) a preferred_lft (Preferred Lifetime).

Pozn. Nemusí se vypínat network-manager.

Nastavení statické IPv4 adresy

Níže budou popsány 4 varianty nastavení IP adresy. Pro servery doporučuji použít nejmodernější variantu 4.

Varianta 1:

Byť je tato varianta nejméně časové náročná, nevýhoda je ta, že při rebootu Ubuntu se IP adresa ztratí:

Vyčištění všech IPv6 a IPv4 a rout na rozhraní enp1s0:

ip addr flush dev enp1s0
ip route flush dev enp1s0

Ověření pomocí:

ip a
ip route show

Příklad nastavení statické IP adresy pro rozhraní enp1s0:

ip addr add 192.168.88.15/24 dev enp1s0

Příklad nastavení výchozí brány pro rozhraní enp1s0:

ip route add default via 192.168.88.1 dev enp1s0

Příklad nastavení Google DNS serverů (nameserver) a doménového jména (search):

sudo vi /etc/resolv.conf

a zkopírovat do resolv.conf řádky níže:

#primary DNS server
nameserver 8.8.8.8
#secondary DNS server 
nameserver 8.8.4.4
#domain name 
search martinuvzivot.cz

Po rebootu Ubuntu se nakonfigurace v resolv.conf neztratí, kdežto IP adresa a defaultní brána ztratí.

Varianta 2 – přes nmcli:

Konfigurace přes nmcli (Network Manager Command Line Inteface)

Nainstalovat network manager:

apt install network-manager

Nejdříve se definuje libovolné jméno connection profilu, v tomto případě my-config a ten se namapuje s rozhraním enp1s0:

sudo nmcli con add con-name my-config ifname enp1s0 type ethernet

Příklad nastavení statické IP adresy pod profilem my-config

sudo nmcli con mod my-config ipv4.addresses 192.168.88.15/24

Příklad nastavení výchozí brány pod profilem my-config

sudo nmcli con mod my-config gw4 192.168.88.1

Příklad konfigurace Google DNS serverů pod profilem my-config:

sudo nmcli con mod my-config ipv4.dns "8.8.8.8 8.8.4.4"

Příklad konfigurace doménového jména martinuvzivot.cz pod profilem my-config:

sudo nmcli con mod my-config ipv4.dns-search martinuvzivot.cz

Aktivace connection profilu my-config:

sudo nmcli con up my-config
Poznámky ke konfiguraci nmcli:

1. Po restartu se zachovají nakonfigurované změny.

2. Změny v konfiguraci po aplikaci příkazu sudo nmcli con up my-config lze vidět z výstupu ip -a a v souboru /etc/resolv.conf.

3. Jen jeden connection profile v tomto případě my-config, může být použitý jen pro jedno rozhraní což je v tomto případě enp1s0.

Zobrazení všech connection profilů:

nmcli con show

Řešení problémů je uvedeno níže.

Výpis příkazu nmcli con show může vypadat následovně:

NAME       UUID                                  TYPE      DEVICE 
my-config  69ae656d-ee1c-4c6e-95db-fb89ce8b9f8a  ethernet  enp1s0

Detailní informace o nově nakonfigurovaném connection profilu my-config:

nmcli -p con show my-config

Případné vymazání celého connection profilu my-config se provede příkazem:

sudo nmcli con del con-name my-config

Případné nastavení DHCP na síťovém rozhraní enp1s0 a connection profilu my-config se provede příkazem:

sudo nmcli con add con-name my-config ifname enp1s0 type ethernet ipv4.method auto

Pozn. Před aplikací příkazu výše doporučuji vymazat původní connection profil my-config

Varianta 3 – přes nmtui:

Konfigurace přes nmtui (Network Manager Text User Interface), je náhradou konfigurace přes nmcli.

Nainstalovat network manager:

apt install network-manager

Spustit nmtui:

nmtui

nmtui - Nastavení statické IP adresyKliknout na Add a vybrat typ rozhraní, které se bude konfigurovat, v tomto případě to bude Ethernet a kliknout na Create.

Nastavení statické IP adresy

Nastavení statické IP adresyZvolit libovolné jméno Profil name. Jako Device je potřeba zadat jméno ethernetového rozhraní, což se dá zjistit z výpisu ip a. IPv4 Configuration je potřeba přepnout na Manual a to dovolí nakonfigurovat statickou IP adresu na rozhraní včetně ostatní parametrů. Nakonci je nutné potvrdit změny kliknutím na OK.

Nastavení statické IP adresyNyní lze videt nakonfigurovaný profil my-config. Kliknout na ESC a kliknout na Activate a connection a následně na Activate. Tímto bude rozhraní aktivováno s nakonfigurovanými parametry.

nastavení IP adresy

aktivace rozhrani

aktivace rozhrani

Je možné že se zobrazí chyba při aktivaci rozhraní: Could not activate connection: Connection ‚my-config‘ is not available on device enp0s3 because device is strictly unmanaged, v tomto tento odstavec řeší problém. [3]

Varianta 4 – přes netplan:

Konfigurační soubor Netplanu je ve formátu YAML a je relativně jednoduchý na čtení a zápis.

Instalace netplan:

apt install netplan.io

Vygeneruje konfiguraci pro renderer do adresáře /etc/netplan:

sudo netplan generate

Vytvořit 50-cloud-init.yaml jako nový soubor:

sudo vim /etc/netplan/50-cloud-init.yaml

Pokud soubor již existuje, celý ho přepíšeme z příkladu níže. Trvalo mi to chvíli, než jsem si uvědomil, že je potřeba STRIKTNĚ dodržovat mezery. Je NUTNÉ řádně zachovat mezery, tak jak ukázáno níže v příkladu! Také nezarovnávat pomocí tlačítka TAB! Doporučuji zkopírovat konfiguraci přímo do souboru a následně editovat IP adresy a rozhraní:

Nastavení pro Ubuntu 22.04 LTS:

network:
    renderer: networkd
    ethernets:
        enp0s3:
            addresses: [192.168.88.15/24]
            routes:
            - to: 0.0.0.0/0
              via: 192.168.88.1
            nameservers:
              addresses: [8.8.8.8,8.8.4.4]
              search: [martinuvzivot.cz]
            dhcp4: no
    version: 2

Nastavení pro Ubuntu 18.04 LTS a Ubuntu 20.04 LTS:

network:
    renderer: networkd
    ethernets:
        enp1s0:
            addresses: [192.168.88.15/24]
            gateway4: 192.168.88.1
            nameservers:
              addresses: [8.8.8.8,8.8.4.4]
              search: [martinuvzivot.cz]
            dhcp4: no
    version: 2

Legenda:

renderer – v podstatě existují dva – v tomto případě je to networkd rendeder, který se používá pro servery a NetworkManager renderer, který se používá pro desktopové počítače
enp1s0 – jméno síťového rozhraní
addresses – statická IP adresa
gateway4 – výchozí brána
routes – definice rout, jak defautlních tak statických
nameservers – primární a sekundární DNS server
search – doménové jméno
dhcp4 –
podpora získávání IP adresy z DHCP (zde zakázána)
version – aktuální verze konfiguračního souboru

Příkazem níže aplikujeme konfigurační změny. Avšak spustí se 120sekundový časovač, který vrátí konfiguraci do původního stavu po jeho vypršení v případě konfigurační chyby.

sudo netplan try

Potvrzení změn bez časovače:

sudo netplan apply

Případně potvrzení změn s debuggem:

sudo netplan --debug apply

Řešení problémů je uvedeno níže.

Výpis příkazu sudo netplan –debug apply:

** (generate:1464): DEBUG: 15:02:29.804: Processing input file //etc/netplan/01-network-manager-all.yaml..
** (generate:1464): DEBUG: 15:02:29.804: starting new processing pass
** (generate:1464): DEBUG: 15:02:29.804: Processing input file //etc/netplan/50-cloud-init.yaml..
** (generate:1464): DEBUG: 15:02:29.805: starting new processing pass
** (generate:1464): DEBUG: 15:02:29.805: enp1s0: setting default backend to 1
** (generate:1464): DEBUG: 15:02:29.806: Generating output files..
** (generate:1464): DEBUG: 15:02:29.806: NetworkManager: definition enp1s0 is not for us (backend 1)
DEBUG:netplan generated networkd configuration exists, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:device enp1s0 operstate is up, not replugging
DEBUG:netplan triggering .link rules for enp1s0
DEBUG:device lo operstate is unknown, not replugging
DEBUG:netplan triggering .link rules for lo
Hotovo. Po restartu se zachovají nakonfigurované změny.

Ověření:

Ověření nakonfigurované IP adresy:

ip a

Výpis konfigurace ip a:

lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:27:0e:0e:c6:e5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.88.15/24 brd 192.168.88.255 scope global noprefixroute enp1s0
       valid_lft forever preferred_lft forever
    inet6 fe80::227:eff:fe0e:c6e5/64 scope link
       valid_lft forever preferred_lft forever

Nyní je také valid_lft (Valid Lifetime) a preferred_lft (Preferred Lifetime) nastaven na forever, což značí statickou konfiguraci IP.

Ověření výchozí brány:

ip route

Výpis příkazu ip route:

default via 192.168.88.1 dev enp1s0 proto static
192.168.88.0/24 dev enp1s0 proto kernel scope link src 192.168.88.15

Ověření nastavení DNS serverů a doménového jména:

systemd-resolve --status

Výpis příkazu systemd-resolve –status:

Link 2 (enp1s0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 8.8.8.8
                      8.8.4.4
          DNS Domain: ~.
                      martinuvzivot.cz

Nastavení statické IPv6 adresy

Varianta 1:

Byť je tato varianta nejméně časové náročná, nevýhoda je ta, že při rebootu Ubuntu se IP adresa ztratí:

Vyčištění všech IPv6 a IPv4 adres a rout na rozhraní enp1s0:

ip addr flush dev enp1s0
ip -6 route flush dev enp1s0

Ověření pomocí:

ip a
ip -6 route show

Příklad nastavení statické IP adresy pro rozhraní enp1s0:

ip addr add 2001:cafe:cafe:cafe::2/64 dev enp1s0

Příklad nastavení výchozí brány pro rozhraní enp1s0:

ip route add default via 2001:cafe:cafe:cafe::1 dev enp1s0

Příklad nastavení Google IPv6 DNS serverů (nameserver) a doménového jména (search):

sudo vi /etc/resolv.conf

a zkopírovat do resolv.conf řádky níže:

#primary DNS server
nameserver 2001:4860:4860::8888
#secondary DNS server
nameserver 2001:4860:4860::8844
#domain name 
search martinuvzivot.cz

Varianta 2:

Konfigurace přes nmcli (Network Manager Command Line Inteface)

Nainstalovat network manager:

apt install network-manager

Příkaz níže neaplikovat, pokud byl connection profil vytvořený:

sudo nmcli con add con-name my-config ifname enp1s0 type ethernet

Již vytvořený connection profilem my-config, který byl konfigurován výše, je možné editovat a donastavit statickou IPv6 adresu na profil a to příkazem:

sudo nmcli con mod my-config ip6 2001:cafe:cafe:cafe::2/64

Příklad konfigurace IPv6 výchozí brány pod profilem my-config:

sudo nmcli con mod my-config ipv6.gateway 2001:cafe:cafe:cafe::1

Příklad konfigurace IPv6 Google DNS serverů pod profilem my-config:

sudo nmcli con mod my-config ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"

Příklad konfigurace doménového jména martinuvzivot.cz pod profilem my-config:

sudo nmcli con mod my-config ipv6.dns-search martinuvzivot.cz

Aktivace connection profilu my-config:

sudo nmcli con up my-config

Řešení problémů je uvedeno níže.

Poznámky ke konfiguraci nmcli:

1. Po restartu se zachovají nakonfigurované změny.

2. Změny v konfiguraci po aplikaci příkazu sudo nmcli con up my-config lze vidět z výstupu ip -a a v souboru /etc/resolv.conf.

3. Jen jeden connection profile v tomto případě my-config, může byt použitý jen pro jedno rozhraní což je v tomto případě enp1s0.

Zobrazení všech connection profilů:

nmcli con show

Výpis příkazu nmcli con show může vypadat následovně:

NAME       UUID                                  TYPE      DEVICE 
my-config  69ae656d-ee1c-4c6e-95db-fb89ce8b9f8a  ethernet  enp1s0

Detailní informace o nově nakonfigurovaném connection profilu my-config:

nmcli -p con show my-config

Případné vymazání celého connection profilu my-config se provede příkazem:

sudo nmcli con del con-name my-config

Případné nastavení DHCP na síťovém rozhraní enp1s0 a connection profilu my-config se provede příkazem:

sudo nmcli con add con-name my-config ifname enp1s0 type ethernet ipv6.method auto

Pozn. Před aplikací příkazu výše doporučuji vymazat původní connection profil my-config

Varianta 3:

Konfigurace přes nmtui (Network Manager Text User Interface), je náhradou konfigurace přes nmcli.

Nainstalovat network manager:

apt install network-manager

Spustit nmtui:

nmtui

nmtui - Nastavení statické IP adresyKliknout na Add a vybrat typ rozhraní, které se bude konfigurovat, v tomto případě to bude Ethernet a kliknout na Create.

Nastavení statické IP adresy

Nastavení statické IP adresyZvolit libovolné jméno Profil name (je možné pod stejným Profile name konfigurovat jak IPv4 tak IPv6 adresu zároveň). Jako Device je potřeba zadat jméno ethernetového rozhraní, což se dá zjistit z výpisu ip a. IPv6 Configuration je potřeba přepnout na Manual a to dovolí nakonfigurovat statickou IP adresu na rozhraní včetně ostatní parametrů. Nakonci je nutné potvrdit změny kliknutím na OK.

Nastavení statické IP adresy

Nyní lze videt nakonfigurovaný profil my-config. Kliknout na ESC a kliknout na Activate a connection a následně na Activate. Tímto bude rozhraní aktivováno s nakonfigurovanými parametry.

nastavení IP adresy

aktivace rozhrani

aktivace rozhrani

Je možné že se zobrazí chyba při aktivaci rozhraní: Could not activate connection: Connection ‚my-config‘ is not available on device enp0s3 because device is strictly unmanaged, v tomto tento odstavec řeší problém. [3]

Varianta 4:

Bude navázáno na postup konfigurace varianty 2 výše a v již vytvořeném souboru 50-cloud-init.yaml:

sudo vim /etc/netplan/50-cloud-init.yaml

Opět doporučuji zkopírovat konfiguraci přímo do souboru a následně editovat IP adresy a rozhraní.

Nastavení pro Ubuntu 18.04 LTS a Ubuntu 20.04 LTS:

network:
    renderer: networkd
    ethernets:
        enp1s0:
            addresses: [192.168.88.15/24, "2001:cafe:cafe:cafe::2/64"]
            gateway4: 192.168.88.1
            gateway6: 2001:cafe:cafe:cafe::1
            nameservers:
              addresses: [8.8.8.8,8.8.4.4, "2001:4860:4860::8888", "2001:4860:4860::4444"]
              search: [martinuvzivot.cz]
            dhcp4: no
    version: 2

Nastavení pro Ubuntu 22.04 LTS:

network:
    renderer: networkd
    ethernets:
        enp0s3:
            addresses: [192.168.88.15/24, "2001:cafe:cafe:cafe::2/64"]
            routes:
            - to: 0.0.0.0/0
              via: 192.168.88.1
            - to: ::/0
              via: 2001:cafe:cafe:cafe::1
            nameservers:
              addresses: [8.8.8.8,8.8.4.4, "2001:4860:4860::8888", "2001:4860:4860::4444"]
              search: [martinuvzivot.cz]
            dhcp4: no
    version: 2

Potvrzení změn:

sudo netplan apply
Hotovo. Po restartu se zachovají nakonfigurované změny.

Řešení problémů je uvedeno níže.

Ověření:

Ověření nakonfigurované IPv6 adresy:

ip a

Výpis konfigurace ip a:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:27:0e:0e:c6:e5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.88.15/24 brd 192.168.88.255 scope global enp1s0
       valid_lft forever preferred_lft forever
    inet6 2001:cafe:cafe:cafe::2/64 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::227:eff:fe0e:c6e5/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
Hotovo. Po restartu se zachovají nakonfigurované změny.

Ověření výchozí IPv6 brány:

ip -6 route show

Výpis příkazu ip -6 route show:

2001:cafe:cafe:cafe::/64 dev enp1s0 proto kernel metric 100 pref medium
2001:cafe:cafe:cafe::/64 dev enp1s0 proto kernel metric 256 pref medium
fe80::/64 dev enp1s0 proto kernel metric 100 pref medium
fe80::/64 dev enp1s0 proto kernel metric 256 pref medium
default via 2001:cafe:cafe:cafe::1 dev enp1s0 proto static metric 1024 pref medium

Ověření nastavení DNS serverů:

systemd-resolve --status

Výpis souboru systemd-resolve –status:

Link 2 (enp1s0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 8.8.8.8
                      8.8.4.4
                      2001:4860:4860::8888
                      2001:4860:4860::4444

Řešení problémů:

1. Při aplikování příkazu sudo „nmcli con up my-config“ se zobrazila hláška níže:

Error: Connection activation failed: No suitable device found for this connection (device enp1s0 not available because profile is not compatible with device (mismatching interface name)).

Zobrazit všechny connection profily:

nmcli con show

Z výpisu nmcli con show, je vidět, že rozhraní enp1s0 je již přiřazeno k Wired connection 1:

NAME                UUID                                  TYPE      DEVICE 
Wired connection 1  de040542-8e45-38ad-a9c7-cc196e50c407  ethernet  enp1s0 
my-config           3aee3850-da18-4e2e-91d4-08cd090e7e73  ethernet  -- 

Doporučuji odstranit jak Wired connection 1 tak my-config, pomocí příkazu níže:

sudo nmcli con delete "Wired connection 1"
sudo nmcli con delete "my-config"

a znovu překonfigurovat pomocí nmcli celý my-config.

2. Při potvrzení změn „sudo netplan apply“ nefungují DNS servery a doménové jméno:

I když se nastavení DNS serverů a doménového jména zobrazuje pomocí příkazu systemd-resolve –status, tak stále nefungují.

Otevřít resolv.conf:

sudo vim /etc/resolv.conf

a dopsat do resolv.conf řádky níže:

#primary DNS server
nameserver 8.8.8.8
#secondary DNS server
nameserver 8.8.4.4
#domain name
search martinuvzivot.cz

Po rebootu Ubuntu se nakonfigurace v resolv.conf neztratí.

3. Soubor resolv.conf se přepisuje:

Může se stát, že soubor resolv.conf bude přepisován díky dhcpcd, což je dhcp client. Stačí tuto službu stopnout a zamaskovat.

sudo service dhcpcd stop
sudo systemctl mask dhcpcd

Tímto by nemělo docházet k přepisu ani po rebootu Ubuntu.

4. Nelze aktivovat rozhraní přes nmtui nebo nmcli:

Je možné že se přes nmtui, nebo nmcli zobrazí chyba při aktivaci rozhraní: Could not activate connection: Connection ‚my-config‘ is not available on device enp0s3 because device is strictly unmanaged.

NMTUI:

Could not activate connection: Connection 'my-config' is not available on device enp0s3 because device is strictly unmanaged

NMCLI:

Po aktivaci rozhraní přes sudo nmcli con up my-config se zobrazí:

Error: Connection activation failed: No suitable device found for this connection (device lo not available because device is strictly unmanaged).

To, zda je rozhraní unmanaged, lze vidět i z výpisu příkazu nmcli:

enp0s3: unmanaged
        "Intel 82540EM"
        ethernet (e1000), 08:00:27:A1:30:F8, hw, mtu 1500

Stačí upravit soubor 10-globally-managed-devices.conf:

sudo vi /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf

, kde je nutné vložit řetězec except:type:ethernet, a tímto vyloučit ethernet z unmanaged devices. Výsledný soubor pak vypadá takto:

[keyfile]
unmanaged-devices=*,except:type:wifi,except:type:gsm,except:type:cdma,except:type:ethernet

Provést reload pro network manager:

service network-manager restart

Alternativně pomocí (Ubuntu 22.04):

sudo systemctl restart NetworkManager

Nyní my měla aktivace přes nmtui fungovat.

Výpis příkazu nmcli by již měl ukázat, že je rozhraní enp0s3 připojené k vytvořenému profilu my-config.

enp0s3: connected to my-config
        "Intel 82540EM"
        ethernet (e1000), 08:00:27:A1:30:F8, hw, mtu 1500

Zdroje:

[1] http://manpages.ubuntu.com/manpages/xenial/man7/nmcli-examples.7.html
[2] https://www.tecmint.com/configure-network-connections-using-nmcli-tool-in-linux/
[3] https://jbit.net/NetworkManager_Strictly_Unmanaged/

Dobrovolný dar

Ahoj čtenáři, rád bych tě poprosil aby ses zamyslel, co je vše potřeba ke vzniku článku.
Jakožto amatérský softwarový kutil musím:

1) Nejdříve vše nastudovat v cizích jazycích.
2) Vše následně prakticky vyzkoušet.
3) Svoje poznatky a zkušenosti napsat do článku který si právě přečetl v jazyku kterému rozumíš.
4) Dát článku hlavu a patu a publikovat.

Každý článek zabere několik hodin práce, za kterou mi nikdo neplatí.
Prosím zvaž, kolik času jsem ti právě ušetřil.
Pokud ti to stojí aspoň za cenu jedné kávy, tak mi ji kup.
Předem moc děkuji.

Příspěvek tak můžeš provést zasláním libovolné částky na mé číslo účtu 1558701011/3030 Nebo můžeš dar poslat kliknutím na tento odkaz Podpořit tento WEB , který tě přesměruje na mou platební bránu Revolut.

Dar je také možné poslat ve formě Bitcoinu na BTC peněženku bc1qqdf5fp42a7srwwhh2rut8zr9x4jm5c8fqc9qw6

Veškeré peněžní prostředky budu také používat na zlepšení kvality své webové tvorby a na psaní nových technických návodů. Za každý dar předem děkuji.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *