Uživatelské nástroje

Nástroje pro tento web


sit-a-komunikace

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Both sides previous revision Předchozí verze
Následující verze
Předchozí verze
sit-a-komunikace [2019/11/11 16:26]
Miroslav Bernát
sit-a-komunikace [2020/06/25 12:21] (aktuální)
Miroslav Bernát
Řádek 28: Řádek 28:
 | **iwconfig** <​zarizeni>​\\ **iwconfig** <​zarizeni>​ <​volba>​ | vypíše vlastnosti bezdrátového síťového rozhraní\\ nastaví vlastnosti bezdrátového síťového rozhraní, **essid** <​jmeno_site>​ jméno sítě, **ap** <​AP_adresa>​ adresa přípojného bodu, **mode** <​rezim>​ režim karty („Managed“ = klient, „Master“ = access point), **key** <​klic>​ šifrovaný přenos\\ ''#​ iwconfig eth1 essid AP_profik ap 00:​60:​1D:​01:​23:​45 key 0123-4567-89 mode Managed''​ | | **iwconfig** <​zarizeni>​\\ **iwconfig** <​zarizeni>​ <​volba>​ | vypíše vlastnosti bezdrátového síťového rozhraní\\ nastaví vlastnosti bezdrátového síťového rozhraní, **essid** <​jmeno_site>​ jméno sítě, **ap** <​AP_adresa>​ adresa přípojného bodu, **mode** <​rezim>​ režim karty („Managed“ = klient, „Master“ = access point), **key** <​klic>​ šifrovaný přenos\\ ''#​ iwconfig eth1 essid AP_profik ap 00:​60:​1D:​01:​23:​45 key 0123-4567-89 mode Managed''​ |
 | **iwlist** <​zarizeni>​ <​volba>​ | zjistí dostupné informace o bezdrátové síti před její konfigurací,​ **scan** vypíše dostupné sítě včetně adresy AP, frekvence, režimu, šifrování a kvality | | **iwlist** <​zarizeni>​ <​volba>​ | zjistí dostupné informace o bezdrátové síti před její konfigurací,​ **scan** vypíše dostupné sítě včetně adresy AP, frekvence, režimu, šifrování a kvality |
-| **nmcli** (<​objekt>​ <​prikaz>​ (<​argument>​%%))%% | spravuje NetworkManager (vytváří,​ maže, zobrazuje, edituje, aktivuje a deaktivuje síťové profily, spravuje a zobrazuje stav síťových zařízení);​ profil (connection) = kolekce nastavení, která lze konfigurovat pro dané zařízení,​ přičemž každý profil má jméno nebo ID, které jej identifikuje\\ ''​$ nmcli dev status''​\\ (zobrazí stav zařízení)\\ ''​$ nmcli dev show enp3s0''​\\ (zobrazí nastavení pro dané zařízení)\\ ''​$ nmcli con show''​\\ (zobrazí všechny profily)\\ ''​$ nmcli con show --active''​\\ (zobrazí pouze aktivní profily)\\ ''​$ nmcli con show enp3s0''​\\ (zobrazí všechna nastavení pro daný profil)\\ ''#​ nmcli con add con-name static ifname enp3s0 type ethernet ipv4.method manual ipv4.address 192.168.15.105/​24 ipv4.gateway 192.168.15.1 ipv4.dns 192.168.15.1''​\\ (vytvoří nový profil „static“ s danou IP adresou, maskou sítě, výchozí gateway a DNS)\\ ''#​ nmcli con mod static +ipv4.address 192.168.15.106/​24''​\\ (upraví profil přidáním další IP adresy)\\ ''#​ nmcli con up static''​\\ (aktivuje profil)\\ ''#​ nmcli con mod static connection.id primary''​\\ (přejmenuje profil na „primary“)\\ ''#​ nmcli con mod enp3s0 autoconnect no''​\\ (zakáže automatické spuštění původního profilu při startu systému)\\ ''#​ nmcli con reload''​\\ (načte změny v konfiguračních souborech)\\ ''#​ nmcli con del enp3s0''​\\ (odstraní profil „enp3s0“) |+| **nmcli** (<​objekt>​ <​prikaz>​ (<​argument>​%%))%% | spravuje NetworkManager (vytváří,​ maže, zobrazuje, edituje, aktivuje a deaktivuje síťové profily, spravuje a zobrazuje stav síťových zařízení);​ profil (connection) = kolekce nastavení, která lze konfigurovat pro dané zařízení,​ přičemž každý profil má jméno nebo ID, které jej identifikuje\\ ''​$ nmcli dev status''​\\ (zobrazí stav zařízení)\\ ''​$ nmcli dev show enp3s0''​\\ (zobrazí nastavení pro dané zařízení)\\ ''​$ nmcli con show''​\\ (zobrazí všechny profily)\\ ''​$ nmcli con show --active''​\\ (zobrazí pouze aktivní profily)\\ ''​$ nmcli con show enp3s0''​\\ (zobrazí všechna nastavení pro daný profil)\\ ''#​ nmcli con add con-name static ifname enp3s0 type ethernet ipv4.method manual ipv4.address 192.168.15.105/​24 ipv4.gateway 192.168.15.1 ipv4.dns 192.168.15.1''​\\ (vytvoří nový profil „static“ s danou IP adresou, maskou sítě, výchozí gateway a DNS)\\ ''#​ nmcli con mod static +ipv4.address 192.168.15.106/​24''​\\ (upraví profil přidáním další IP adresy)\\ ''#​ nmcli con mod static +ipv4.routes 192.168.15.0/​24 10.10.10.1''​\\ (upraví profil přidáním statické trasy)\\ ''#​ nmcli con up static''​\\ (aktivuje profil)\\ ''#​ nmcli con mod static connection.id primary''​\\ (přejmenuje profil na „primary“)\\ ''#​ nmcli con mod enp3s0 autoconnect no''​\\ (zakáže automatické spuštění původního profilu při startu systému)\\ ''#​ nmcli con reload''​\\ (načte změny v konfiguračních souborech)\\ ''#​ nmcli con del enp3s0''​\\ (odstraní profil „enp3s0“)\\ ''#​ nmcli dev connect/​disconnect enp3s0''​\\ (připojí/​odpojí zařízení "​enp3s0"​)\\ ''​$ nmcli radio wifi (on/​off)''​\\ (zobrazí stav / povolí / zakáže wifi připojení)\\ ''​$ nmcli dev wifi list''​\\ (zobrazí seznam dostupných přístupových bodů)\\ ''​$ nmcli dev wifi connect <​SSID>''​\\ (připojí se k síti Wi-Fi určené daným SSID) |
 | **tcpdump** | zobrazí veškerý síťový provoz, **-i** <​zarizeni>​ na daném rozhraní (implicitně první v pořadí), **port** <​port>​ na daném portu, **tcp**/​**udp**/​**icmp** pro daný protokol, **host** <​pocitac>​ mezi daným počítačem,​ **ether host** <​MAC_adresa>​ mezi danou MAC adresou, **-n** vypíše IP adresy, **-v** podrobný výpis\\ ''#​ tcpdump -i eth0 -nv port 22''​\\ ''#​ tcpdump -nv ether host 00:​02:​3F:​09:​FA:​F1''​ | | **tcpdump** | zobrazí veškerý síťový provoz, **-i** <​zarizeni>​ na daném rozhraní (implicitně první v pořadí), **port** <​port>​ na daném portu, **tcp**/​**udp**/​**icmp** pro daný protokol, **host** <​pocitac>​ mezi daným počítačem,​ **ether host** <​MAC_adresa>​ mezi danou MAC adresou, **-n** vypíše IP adresy, **-v** podrobný výpis\\ ''#​ tcpdump -i eth0 -nv port 22''​\\ ''#​ tcpdump -nv ether host 00:​02:​3F:​09:​FA:​F1''​ |
 | **ifstat** (<​zarizeni>​) | zobrazí statistiku zatížení sítě – velikost přijatých a odeslaných dat na všech či daných síťových rozhraních | | **ifstat** (<​zarizeni>​) | zobrazí statistiku zatížení sítě – velikost přijatých a odeslaných dat na všech či daných síťových rozhraních |
 | **iftop** | zobrazí interaktivním způsobem statistiku zatížení sítě – zdrojovou a cílovou adresu, velikost přijatých a odeslaných dat a celkový souhrn (informace se mění podle aktuálního stavu), **-i** <​zarizeni>​ určí síťové rozhraní (implicitně první v pořadí), interaktivní volba **n** vypíše IP adresy, **p** zobrazí porty, **S** zdrojový port, **D** cílový port, **N** službu poslouchající na cílovém portu, **q** ukončí program | | **iftop** | zobrazí interaktivním způsobem statistiku zatížení sítě – zdrojovou a cílovou adresu, velikost přijatých a odeslaných dat a celkový souhrn (informace se mění podle aktuálního stavu), **-i** <​zarizeni>​ určí síťové rozhraní (implicitně první v pořadí), interaktivní volba **n** vypíše IP adresy, **p** zobrazí porty, **S** zdrojový port, **D** cílový port, **N** službu poslouchající na cílovém portu, **q** ukončí program |
-| **netstat** / **ss** | vypíše všechna dostupná síťová připojení,​ včetně portu, protokolu a IP adresy, **-a** všechna současná připojení,​ **-l** pouze naslouchající porty, **-t** jen TCP porty (s volbou „-a“ nebo „-l“), **-u** jen UDP porty (s volbou „-a“ nebo „-l“), **-e** uživatele a i-uzly, **-n** IP adresy, **-p** PID a jméno programu využívajícího daný port, **-i** tabulku síťových rozhraní, **-r** směrovací tabulku jádra, **-s** celkovou statistiku sítě pro každý protokol\\ ''​$ ports="​echo discard systat daytime netstat chargen finger nntp"; echo="​7";​ discard="​9";​ systat="​11";​ daytime="​13";​ netstat="​15";​ chargen="​19";​ finger="​79";​ nntp="​119";​ for port in $ports; do open_ports=$(netstat -an | egrep ":​${!port}[ ]"); if %%[[ -n "​$open_ports"​ ]]%%; then echo "​${port} --> YES"; else echo "​${port} --> NO"; fi; done''​\\ (zobrazí názvy daných procesů a zda jsou jejich standardní porty otevřené) |+| **netstat** / **ss** | vypíše všechna dostupná síťová připojení,​ včetně portu, protokolu a IP adresy, **-a** všechna současná připojení,​ **-l** pouze naslouchající porty, **-t** jen TCP porty (s volbou „-a“ nebo „-l“), **-u** jen UDP porty (s volbou „-a“ nebo „-l“), **-e** uživatele a i-uzly, **-n** IP adresy, **-p** PID a jméno programu využívajícího daný port, **-i** tabulku síťových rozhraní, **-r** směrovací tabulku jádra, **-s** celkovou statistiku sítě pro každý protokol\\ ''​$ ports="​echo discard systat daytime netstat chargen finger nntp"; echo="​7";​ discard="​9";​ systat="​11";​ daytime="​13";​ netstat="​15";​ chargen="​19";​ finger="​79";​ nntp="​119";​ for port in $ports; do open_ports=$(netstat -an | awk '​NR>​2{print $4}' ​| egrep ":​${!port}[ ]"); if %%[[ -n "​$open_ports"​ ]]%%; then echo "​${port} --> YES"; else echo "​${port} --> NO"; fi; done''​\\ (zobrazí názvy daných procesů a zda jsou jejich standardní porty otevřené) |
 | **nmap** (<​sken>​ <​volba>​) <cil> | zkoumá dostupnost portů vzdáleného počítače s cílem identifikovat běžící služby, případně typ operačního systému; typ skenu může být **-sS** (TCP SYN scan – nejpoužívanější,​ nedojde k úplnému navázání spojení, je odeslán paket SYN a přijat SYN/ACK – port otevřen nebo RST – port zavřen), **-sA** (TCP ACK scan, mapuje pravidla firewallu, jsou-li porty filtrované,​ jde o stavový firewall), **-sU** (UDP scan), **-sP** (ping scan, pouze zjistí dostupnost počítače,​ v lokální síti i jeho MAC adresu); **-sV** vypíše program, který daná služba využívá, **-p** <​port>​ specifikuje porty, **-O** identifikuje OS, **-PN** nevysílá ping (vhodné, je-li firewallem zakázán), **-D** <​IP_adresa>​ tzv. „decoy“,​ sloužící k oklamání cíle, **-iL** <​soubor>​ čte cíl ze souboru, **-v** podrobný výpis\\ ''​$ nmap root.cz''​\\ ''​$ nmap -sP 10.0.0.0/​24''​\\ ''#​ nmap -sA -v 147.229.28.4''​\\ ''#​ nmap -sS -sV -v 147.229.28.4 > scan.txt''​\\ ''#​ nmap -sS -PN -p 1-65000 192.168.0.247''​\\ ''#​ nmap -sS -sU -iL seznam_pc''​\\ ''#​ nmap -sS -O -D 192.168.0.1,​192.168.0.2 192.168.0.3''​\\ (TCP SYN port scan s detekcí OS cíle 192.168.0.3,​ předstíraný z předchozích IP adres) | | **nmap** (<​sken>​ <​volba>​) <cil> | zkoumá dostupnost portů vzdáleného počítače s cílem identifikovat běžící služby, případně typ operačního systému; typ skenu může být **-sS** (TCP SYN scan – nejpoužívanější,​ nedojde k úplnému navázání spojení, je odeslán paket SYN a přijat SYN/ACK – port otevřen nebo RST – port zavřen), **-sA** (TCP ACK scan, mapuje pravidla firewallu, jsou-li porty filtrované,​ jde o stavový firewall), **-sU** (UDP scan), **-sP** (ping scan, pouze zjistí dostupnost počítače,​ v lokální síti i jeho MAC adresu); **-sV** vypíše program, který daná služba využívá, **-p** <​port>​ specifikuje porty, **-O** identifikuje OS, **-PN** nevysílá ping (vhodné, je-li firewallem zakázán), **-D** <​IP_adresa>​ tzv. „decoy“,​ sloužící k oklamání cíle, **-iL** <​soubor>​ čte cíl ze souboru, **-v** podrobný výpis\\ ''​$ nmap root.cz''​\\ ''​$ nmap -sP 10.0.0.0/​24''​\\ ''#​ nmap -sA -v 147.229.28.4''​\\ ''#​ nmap -sS -sV -v 147.229.28.4 > scan.txt''​\\ ''#​ nmap -sS -PN -p 1-65000 192.168.0.247''​\\ ''#​ nmap -sS -sU -iL seznam_pc''​\\ ''#​ nmap -sS -O -D 192.168.0.1,​192.168.0.2 192.168.0.3''​\\ (TCP SYN port scan s detekcí OS cíle 192.168.0.3,​ předstíraný z předchozích IP adres) |
 | **service iptables start** / **stop** / **status** | spustí / zastaví firewall či vypíše jeho nastavení | | **service iptables start** / **stop** / **status** | spustí / zastaví firewall či vypíše jeho nastavení |
Řádek 40: Řádek 40:
 | **iptables** (**-t** <​tabulka>​) <​volba>​ <​retezec>​ <​specifikace>​ <cil> | nastaví pravidla firewallu v síti; k filtrování paketů slouží tabulka „filter“ (implicitní),​ jež obsahuje vestavěné řetězce „INPUT“ pro příchozí pakety, „OUTPUT“ pro odchozí pakety a „FORWARD“ k přesměrování paketů mezi sítěmi, pro překlad IP adres neveřejné sítě či přesměrování portů slouží tabulka „nat“ s řetězci „PREROUTING“ pro příchozí pakety, „OUTPUT“ pro úpravu paketů a „POSTROUTING“ pro odchozí pakety, tabulka „mangle“ obsahuje všechny uvedené řetězce, využívá se však zřídka; aby firewall fungoval správně, záleží na pořadí stanovených pravidel, jejichž výčet se nachází v ///​etc/​sysconfig/​iptables//;​ volba **-I** (<n>) přidá pravidlo na začátek výčtu daného řetězce či na uvedenou pozici, **-A** přidá pravidlo na konec výčtu daného řetězce, **-D** (<n>) zruší dané pravidlo, **-L** vypíše nastavená pravidla daného řetězce, jinak všechna; s volbou **-n** zobrazí IP adresy a porty v číselném formátu, s volbou **-v** vypíše počet paketů a bytů u každého pravidla včetně protokolu a rozhraní, s volbou **--line-numbers** čísluje pravidla daného řetězce (vhodné pro další použití s volbou „-I“ či „-D“), **-F** zruší nastavená pravidla daného řetězce, jinak všechna, **-P** nastaví výchozí politiku řetězce (implicitně je vše povoleno), **-N** vytvoří vlastní řetězec, obvykle sloužící pro podrobnější specifikaci pravidel (u těchto řetězců nelze nastavit výchozí politiku), **-X** odstraní vlastní řetězec; následuje specifikace pravidla **-i** <​zarizeni>​ vstupní zařízení,​ **-o** <​zarizeni>​ výstupní zařízení,​ **-s** <​adresa>​ zdrojová adresa, **-d** <​adresa>​ cílová adresa, **-p** <​protokol>​ typ protokolu, **-m** <​modul>​ rozšíření pravidla (**state** --state <​typ_spojeni>​ určí typ spojení – NEW nové spojení, ESTABLISHED existující spojení, RELATED nové spojení navazující na již existující komunikaci, INVALID neplatné spojení, kdy pakety nelze identifikovat;​ **time** určí čas spojení --timestart <​hh:​mm>,​ --timestop <​hh:​mm>,​ --monthdays <​den_v_mesici>,​ --weekdays <​den_v_tydnu>;​ **iprange** --src-range / --dst-range <​IP-IP>​ určí rozsah zdrojových/​cílových adres; **limit** --limit <​n>/<​**s** / **m** / **h** / **d**> určí časový údaj, --limit-burst <n> určí počet paketů), **--sport** <​port>​ zdrojový port, **--dport** <​port>​ cílový port; a konečně **-j** <​cíl>​ určí, jak s paketem naložit – pro tabulku „filter“ ACCEPT = přijmout, DROP = zahodit, LOG = logovat pakety, REJECT = oznámit nedostupnost,​ pro tabulku „nat“ SNAT --to <​IP_adresa>​ = změnit zdrojovou adresu, DNAT --to <​IP_adresa>​ = změnit cílovou adresu, REDIRECT --to-ports <​port>​ = přesměrovat port\\ ''#​ iptables -nvL --line-numbers''​\\ (vypíše nastavená pravidla firewallu včetně podrobných informací)\\ ''#​ iptables -P INPUT DROP''​\\ (zahodí všechny příchozí pakety)\\ ''#​ iptables -I INPUT -s 147.229.28.4 -j DROP''​\\ (zahodí pakety přicházející z dané adresy)\\ ''#​ iptables -A INPUT -p tcp --dport 22 -j DROP''​\\ (zahodí pakety přicházející na daný port)\\ ''#​ iptables -A INPUT -p tcp --dport 443 -j REJECT''​\\ (nastaví odeslání informace o nedostupnosti služby)\\ ''#​ iptables -I OUTPUT -d '​!'​ 147.229.28.4 -j DROP''​\\ (povolí jen pakety odcházející na danou adresu)\\ ''#​ iptables -A OUTPUT -o eth0 -d 192.168.0.0/​24 -j ACCEPT''​\\ (povolí jen pakety odcházející z daného zařízení do lokální sítě)\\ ''#​ iptables -A OUTPUT -d upc.cz -p tcp --dport 80 -j DROP''​\\ (zakáže zobrazení uvedené URL)\\ ''#​ iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport '​!'​ 80 -j DROP''​\\ (povolí přesměrování paketů pouze na port 80)\\ ''#​ iptables -A INPUT -p tcp –dport 50:55 -m iprange --src-range 192.168.0.1-192.168.0.10 -j ACCEPT''​\\ (povolí daným adresám rozsah portů 50-55)\\ ''#​ iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT''​\\ (omezí počet požadavků „ping“ na 2 za 1s)\\ ''#​ iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3250''​\\ (presměruje daný port)\\ ''#​ iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.0.2:​8080''​\\ (změní cílovou adresu a port služby)\\ ''#​ iptables -A INPUT -j LOG''​\\ (loguje všechny pakety, které nevyhovují žádnému z nastavených pravidel do ///​var/​log/​messages//​)\\ ''#​ iptables -D INPUT 5''​\\ (zruší pravidlo řetězce „INPUT“ nacházející se ve výčtu na pátém pořadí) | | **iptables** (**-t** <​tabulka>​) <​volba>​ <​retezec>​ <​specifikace>​ <cil> | nastaví pravidla firewallu v síti; k filtrování paketů slouží tabulka „filter“ (implicitní),​ jež obsahuje vestavěné řetězce „INPUT“ pro příchozí pakety, „OUTPUT“ pro odchozí pakety a „FORWARD“ k přesměrování paketů mezi sítěmi, pro překlad IP adres neveřejné sítě či přesměrování portů slouží tabulka „nat“ s řetězci „PREROUTING“ pro příchozí pakety, „OUTPUT“ pro úpravu paketů a „POSTROUTING“ pro odchozí pakety, tabulka „mangle“ obsahuje všechny uvedené řetězce, využívá se však zřídka; aby firewall fungoval správně, záleží na pořadí stanovených pravidel, jejichž výčet se nachází v ///​etc/​sysconfig/​iptables//;​ volba **-I** (<n>) přidá pravidlo na začátek výčtu daného řetězce či na uvedenou pozici, **-A** přidá pravidlo na konec výčtu daného řetězce, **-D** (<n>) zruší dané pravidlo, **-L** vypíše nastavená pravidla daného řetězce, jinak všechna; s volbou **-n** zobrazí IP adresy a porty v číselném formátu, s volbou **-v** vypíše počet paketů a bytů u každého pravidla včetně protokolu a rozhraní, s volbou **--line-numbers** čísluje pravidla daného řetězce (vhodné pro další použití s volbou „-I“ či „-D“), **-F** zruší nastavená pravidla daného řetězce, jinak všechna, **-P** nastaví výchozí politiku řetězce (implicitně je vše povoleno), **-N** vytvoří vlastní řetězec, obvykle sloužící pro podrobnější specifikaci pravidel (u těchto řetězců nelze nastavit výchozí politiku), **-X** odstraní vlastní řetězec; následuje specifikace pravidla **-i** <​zarizeni>​ vstupní zařízení,​ **-o** <​zarizeni>​ výstupní zařízení,​ **-s** <​adresa>​ zdrojová adresa, **-d** <​adresa>​ cílová adresa, **-p** <​protokol>​ typ protokolu, **-m** <​modul>​ rozšíření pravidla (**state** --state <​typ_spojeni>​ určí typ spojení – NEW nové spojení, ESTABLISHED existující spojení, RELATED nové spojení navazující na již existující komunikaci, INVALID neplatné spojení, kdy pakety nelze identifikovat;​ **time** určí čas spojení --timestart <​hh:​mm>,​ --timestop <​hh:​mm>,​ --monthdays <​den_v_mesici>,​ --weekdays <​den_v_tydnu>;​ **iprange** --src-range / --dst-range <​IP-IP>​ určí rozsah zdrojových/​cílových adres; **limit** --limit <​n>/<​**s** / **m** / **h** / **d**> určí časový údaj, --limit-burst <n> určí počet paketů), **--sport** <​port>​ zdrojový port, **--dport** <​port>​ cílový port; a konečně **-j** <​cíl>​ určí, jak s paketem naložit – pro tabulku „filter“ ACCEPT = přijmout, DROP = zahodit, LOG = logovat pakety, REJECT = oznámit nedostupnost,​ pro tabulku „nat“ SNAT --to <​IP_adresa>​ = změnit zdrojovou adresu, DNAT --to <​IP_adresa>​ = změnit cílovou adresu, REDIRECT --to-ports <​port>​ = přesměrovat port\\ ''#​ iptables -nvL --line-numbers''​\\ (vypíše nastavená pravidla firewallu včetně podrobných informací)\\ ''#​ iptables -P INPUT DROP''​\\ (zahodí všechny příchozí pakety)\\ ''#​ iptables -I INPUT -s 147.229.28.4 -j DROP''​\\ (zahodí pakety přicházející z dané adresy)\\ ''#​ iptables -A INPUT -p tcp --dport 22 -j DROP''​\\ (zahodí pakety přicházející na daný port)\\ ''#​ iptables -A INPUT -p tcp --dport 443 -j REJECT''​\\ (nastaví odeslání informace o nedostupnosti služby)\\ ''#​ iptables -I OUTPUT -d '​!'​ 147.229.28.4 -j DROP''​\\ (povolí jen pakety odcházející na danou adresu)\\ ''#​ iptables -A OUTPUT -o eth0 -d 192.168.0.0/​24 -j ACCEPT''​\\ (povolí jen pakety odcházející z daného zařízení do lokální sítě)\\ ''#​ iptables -A OUTPUT -d upc.cz -p tcp --dport 80 -j DROP''​\\ (zakáže zobrazení uvedené URL)\\ ''#​ iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport '​!'​ 80 -j DROP''​\\ (povolí přesměrování paketů pouze na port 80)\\ ''#​ iptables -A INPUT -p tcp –dport 50:55 -m iprange --src-range 192.168.0.1-192.168.0.10 -j ACCEPT''​\\ (povolí daným adresám rozsah portů 50-55)\\ ''#​ iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT''​\\ (omezí počet požadavků „ping“ na 2 za 1s)\\ ''#​ iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3250''​\\ (presměruje daný port)\\ ''#​ iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.0.2:​8080''​\\ (změní cílovou adresu a port služby)\\ ''#​ iptables -A INPUT -j LOG''​\\ (loguje všechny pakety, které nevyhovují žádnému z nastavených pravidel do ///​var/​log/​messages//​)\\ ''#​ iptables -D INPUT 5''​\\ (zruší pravidlo řetězce „INPUT“ nacházející se ve výčtu na pátém pořadí) |
 | **firewall-cmd**\\ (platí od RHEL 7) | spravuje dočasné a trvalé nastavení firewallu, **--get-default-zone** vypíše výchozí zónu pro připojení a rozhraní, **--set-default-zone=**<​zona>​ nastaví výchozí zónu pro připojení a rozhraní, **--get-active-zones** vypíše právě aktivní zóny společně s rozhraními a zdroji používanými v těchto zónách, **--get-zones** vypíše všechny dostupné zóny, **--list-all-zones** vypíše podrobné informace o všech zónách, **--zone=**<​zona>​ určí zónu (pokud není uvedena, použije se výchozí zóna), **--list-all** vypíše podrobné informace o zóně, **--get-services** vypíše všechny dostupné služby, **--list-services** vypíše služby přidané do zóny, **--list-ports** vypíše porty přidané do zóny, **--add-source=**<​IP_adresa>/<​sit/​maska>​ směruje veškerý provoz přicházející z dané IP adresy nebo sítě/​masky do zóny, **--remove-source=**<​IP_adresa>/<​sit/​maska>​ odebere ze zóny pravidlo směrující veškerý provoz pocházející z dané IP adresy nebo sítě/​masky,​ **--add-interface=**<​rozhrani>​ směruje veškerý provoz přicházející z daného rozhraní do zóny, **--change-interface=**<​rozhrani>​ změní rozhraní pro zónu, **--add-service=**<​sluzba>​ přidá službu do zóny, **--remove-service=**<​sluzba>​ odebere službu ze zóny, **--add-port=**<​port>/<​protokol>​ přidá port/​protokol do zóny, **--remove-port=**<​port>/<​protokol>​ odebere port/​protokol ze zóny, **--add-rich-rule=**<​pravidlo>​ přidá do zóny vlastní pravidlo firewallu, které není pokryto základní firewalld syntaxí, **--remove-rich-rule=**<​pravidlo>​ odebere ze zóny vlastní pravidlo firewallu, **--query-rich-rule=**<​pravidlo>​ ověří, zda bylo do zóny přidáno vlastní pravidlo firewallu, **--list-rich-rules** vypíše všechna vlastní pravidla firewallu pro danou zónu, **--permanent** provede trvalé nastavení (zapíše změny do ///​etc/​firewalld///​),​ **--reload** načte trvalé nastavení, **--runtime-to-permanent** uloží aktuální nastavení z paměti jako trvalé\\ ''#​ firewall-cmd --add-service=http --permanent''​\\ (povolí trvalý přístup HTTP klientům pro výchozí zónu)\\ ''#​ firewall-cmd --add-port=2222/​tcp --permanent''​\\ (otevře TCP port 2222 pro výchozí zónu)\\ ''#​ firewall-cmd --zone=internal --add-source=192.168.0.0/​24 --permanent''​\\ (směruje veškerý provoz přicházející ze sítě 192.168.0.0/​24 do vnitřní zóny)\\ ''#​ firewall-cmd --zone=internal --list-all --permanent''​\\ (vypíše podrobné informace o vnitřní zóně)\\ ''#​ firewall-cmd --add-rich-rule='​rule family=ipv4 source address=183.131.80.130 reject'​ --permanent''​\\ (blokuje veškerý provoz z dané IP adresy ve výchozí zóně)\\ ''#​ firewall-cmd --add-rich-rule='​rule family=ipv4 source address=192.168.0.15 port port=8080 protocol=tcp accept'​ --permanent''​\\ (povolí port 8080 pro danou IP adresu ve výchozí zóně)\\ ''#​ firewall-cmd --permanent --zone=work --add-rich-rule='​rule family=ipv4 source address=192.168.0.0/​26 forward-port port=80 protocol=tcp to-port=8080'''​\\ (přesměruje port 80/TCP na port 8080/TCP pro danou síť v pracovní zóně)\\ ''#​ firewall-cmd --reload''​\\ (načtěte změny v nastavení firewallu) | | **firewall-cmd**\\ (platí od RHEL 7) | spravuje dočasné a trvalé nastavení firewallu, **--get-default-zone** vypíše výchozí zónu pro připojení a rozhraní, **--set-default-zone=**<​zona>​ nastaví výchozí zónu pro připojení a rozhraní, **--get-active-zones** vypíše právě aktivní zóny společně s rozhraními a zdroji používanými v těchto zónách, **--get-zones** vypíše všechny dostupné zóny, **--list-all-zones** vypíše podrobné informace o všech zónách, **--zone=**<​zona>​ určí zónu (pokud není uvedena, použije se výchozí zóna), **--list-all** vypíše podrobné informace o zóně, **--get-services** vypíše všechny dostupné služby, **--list-services** vypíše služby přidané do zóny, **--list-ports** vypíše porty přidané do zóny, **--add-source=**<​IP_adresa>/<​sit/​maska>​ směruje veškerý provoz přicházející z dané IP adresy nebo sítě/​masky do zóny, **--remove-source=**<​IP_adresa>/<​sit/​maska>​ odebere ze zóny pravidlo směrující veškerý provoz pocházející z dané IP adresy nebo sítě/​masky,​ **--add-interface=**<​rozhrani>​ směruje veškerý provoz přicházející z daného rozhraní do zóny, **--change-interface=**<​rozhrani>​ změní rozhraní pro zónu, **--add-service=**<​sluzba>​ přidá službu do zóny, **--remove-service=**<​sluzba>​ odebere službu ze zóny, **--add-port=**<​port>/<​protokol>​ přidá port/​protokol do zóny, **--remove-port=**<​port>/<​protokol>​ odebere port/​protokol ze zóny, **--add-rich-rule=**<​pravidlo>​ přidá do zóny vlastní pravidlo firewallu, které není pokryto základní firewalld syntaxí, **--remove-rich-rule=**<​pravidlo>​ odebere ze zóny vlastní pravidlo firewallu, **--query-rich-rule=**<​pravidlo>​ ověří, zda bylo do zóny přidáno vlastní pravidlo firewallu, **--list-rich-rules** vypíše všechna vlastní pravidla firewallu pro danou zónu, **--permanent** provede trvalé nastavení (zapíše změny do ///​etc/​firewalld///​),​ **--reload** načte trvalé nastavení, **--runtime-to-permanent** uloží aktuální nastavení z paměti jako trvalé\\ ''#​ firewall-cmd --add-service=http --permanent''​\\ (povolí trvalý přístup HTTP klientům pro výchozí zónu)\\ ''#​ firewall-cmd --add-port=2222/​tcp --permanent''​\\ (otevře TCP port 2222 pro výchozí zónu)\\ ''#​ firewall-cmd --zone=internal --add-source=192.168.0.0/​24 --permanent''​\\ (směruje veškerý provoz přicházející ze sítě 192.168.0.0/​24 do vnitřní zóny)\\ ''#​ firewall-cmd --zone=internal --list-all --permanent''​\\ (vypíše podrobné informace o vnitřní zóně)\\ ''#​ firewall-cmd --add-rich-rule='​rule family=ipv4 source address=183.131.80.130 reject'​ --permanent''​\\ (blokuje veškerý provoz z dané IP adresy ve výchozí zóně)\\ ''#​ firewall-cmd --add-rich-rule='​rule family=ipv4 source address=192.168.0.15 port port=8080 protocol=tcp accept'​ --permanent''​\\ (povolí port 8080 pro danou IP adresu ve výchozí zóně)\\ ''#​ firewall-cmd --permanent --zone=work --add-rich-rule='​rule family=ipv4 source address=192.168.0.0/​26 forward-port port=80 protocol=tcp to-port=8080'''​\\ (přesměruje port 80/TCP na port 8080/TCP pro danou síť v pracovní zóně)\\ ''#​ firewall-cmd --reload''​\\ (načtěte změny v nastavení firewallu) |
-| **ssh** (<​uzivatel>​@)<​hostitel>​ (<​prikaz>​) | uskuteční šifrované přihlášení k existujícímu účtu na vzdáleném počítači při použití stejného uživatelského jména na obou systémech / při přihlášení pod jiným účtem; na hostiteli lze rovněž spustit místo přihlašovacího shellu daný příkaz, jehož výsledek se vypíše na STDOUT lokálního počítače,​ **-l** <​uzivatel>​ přihlásí pod daným uživatelem,​ **-i** <​soubor>​ určí soubor s klíči (jinak se použije //​~/​.ssh/​id_rsa//​),​ **-p** <​port>​ použije nestandardní port, **-o** <​volba>​ použije danou volbu, která přepíše výchozí konfiguraci,​ **-v** podrobný výpis\\ ''​$ ssh 192.168.0.20''​\\ ''​$ ssh norton@mx.webs.cz''​ / ''​ssh -l norton mx.webs.cz''​\\ ''​$ ssh 192.168.0.20 ​"uname -a"''​\\ ''​$ ssh -o PubkeyAuthentication=no norton@192.168.0.20''​\\ ''​$ echo "​insert hostname":;​ while read hostname; do ssh $hostname 'echo "​Hostname":​ $(hostname);​ echo "Linux version":​ $(uname -a; cat /​etc/​redhat-release)'>​ ${hostname}_version.log && echo "​insert hostname":;​ done''​ |+| **ssh** (<​uzivatel>​@)<​hostitel>​ (<​prikaz>​) | uskuteční šifrované přihlášení k existujícímu účtu na vzdáleném počítači při použití stejného uživatelského jména na obou systémech / při přihlášení pod jiným účtem; na hostiteli lze rovněž spustit místo přihlašovacího shellu daný příkaz, jehož výsledek se vypíše na STDOUT lokálního počítače,​ **-l** <​uzivatel>​ přihlásí pod daným uživatelem,​ **-i** <​soubor>​ určí soubor s klíči (jinak se použije //​~/​.ssh/​id_rsa//​),​ **-p** <​port>​ použije nestandardní port, **-o** <​volba>​ použije danou volbu, která přepíše výchozí konfiguraci,​ **-v** podrobný výpis\\ ''​$ ssh 192.168.0.20''​\\ ''​$ ssh norton@mx.webs.cz''​ / ''​ssh -l norton mx.webs.cz''​\\ ''​$ ssh -o PubkeyAuthentication=no norton@192.168.0.20''​\\ ''​$ ssh 192.168.0.20 ​"uname -a"''​\\ ''​$ echo "​insert hostname":;​ while read hostname; do ssh $hostname 'echo "​Hostname":​ $(hostname);​ echo "Linux version":​ $(uname -a; cat /​etc/​redhat-release)'>​ ${hostname}_version.log && echo "​insert hostname":;​ done''​\\ ''#​ for x in {a..c}; do echo "=== node${x} ==="; ssh node${x} 'yum install -y device-mapper-multipath;​ systemctl enable --now multipathd; systemctl status multipathd';​ echo; done''​\\ ''​$ for server in centos{1..2}.example.com;​ do ssh $server 'bash -s' < script.sh; done''​\\ (spustí lokální skript na vzdálených počítačích) ​|
 | **ssh-keygen** | vytvoří pár autentizačních klíčů – soukromý a veřejný, který slouží pro bezpečnou identifikaci uživatele během připojení přes ssh, aniž by musel zadat své přístupové jméno a heslo; soukromý klíč se standardně ukládá v //​~/​.ssh/​id_rsa//​ či //​~/​.ssh/​id_dsa//,​ veřejný klíč bývá uložen v //​~/​.ssh/​id_rsa.pub//​ či //​~/​.ssh/​id_dsa.pub//​ a jeho obsah je třeba vložit do //​~/​.ssh/​authorized_keys//​ hostitele; program rovněž vyzve uživatele k zadání „passphrase“ (řetězec libovolných znaků včetně mezer, sloužící k ochraně soukromého klíče před zneužitím cizí osobou), kterou, pokud není prázdná, je třeba se identifikovat na začátku každého spojení, **-t** <​klic>​ určí typ klíče – „rsa“ nebo „dsa“ (implicitně „rsa“), **-f** <​soubor>​ určí soubor s klíči (jinak se použije //​~/​.ssh/​id_rsa//​),​ **-p** změní „passphrase“,​ **-v** podrobný výpis | | **ssh-keygen** | vytvoří pár autentizačních klíčů – soukromý a veřejný, který slouží pro bezpečnou identifikaci uživatele během připojení přes ssh, aniž by musel zadat své přístupové jméno a heslo; soukromý klíč se standardně ukládá v //​~/​.ssh/​id_rsa//​ či //​~/​.ssh/​id_dsa//,​ veřejný klíč bývá uložen v //​~/​.ssh/​id_rsa.pub//​ či //​~/​.ssh/​id_dsa.pub//​ a jeho obsah je třeba vložit do //​~/​.ssh/​authorized_keys//​ hostitele; program rovněž vyzve uživatele k zadání „passphrase“ (řetězec libovolných znaků včetně mezer, sloužící k ochraně soukromého klíče před zneužitím cizí osobou), kterou, pokud není prázdná, je třeba se identifikovat na začátku každého spojení, **-t** <​klic>​ určí typ klíče – „rsa“ nebo „dsa“ (implicitně „rsa“), **-f** <​soubor>​ určí soubor s klíči (jinak se použije //​~/​.ssh/​id_rsa//​),​ **-p** změní „passphrase“,​ **-v** podrobný výpis |
 | **ssh-copy-id** (<​uzivatel>​@)<​hostitel>​ | kopíruje veřejný klíč uživatele z lokálního počítače do //​~/​.ssh/​authorized_keys//​ hostitele, **-i** <​soubor>​ určí soubor s klíči (jinak se použije //​~/​.ssh/​id_rsa.pub//​)\\ ''​$ ssh-copy-id -i ~/​.ssh/​id_dsa.pub dookie@94.112.152.47''​ | | **ssh-copy-id** (<​uzivatel>​@)<​hostitel>​ | kopíruje veřejný klíč uživatele z lokálního počítače do //​~/​.ssh/​authorized_keys//​ hostitele, **-i** <​soubor>​ určí soubor s klíči (jinak se použije //​~/​.ssh/​id_rsa.pub//​)\\ ''​$ ssh-copy-id -i ~/​.ssh/​id_dsa.pub dookie@94.112.152.47''​ |
Řádek 53: Řádek 53:
 | **curl** <URL> | kopíruje data z nebo na daný URL, **-o** <​soubor>​ určí cílový soubor (jinak STDOUT), **-F** <​polozka>​**=**<​obsah>​ specifikuje odchozí data („@“ značí zdrojový soubor), **-v** podrobný výpis\\ ''#​ curl -o /​etc/​yum.repos.d/​data.repo set.cz/​data.repo''​ | | **curl** <URL> | kopíruje data z nebo na daný URL, **-o** <​soubor>​ určí cílový soubor (jinak STDOUT), **-F** <​polozka>​**=**<​obsah>​ specifikuje odchozí data („@“ značí zdrojový soubor), **-v** podrobný výpis\\ ''#​ curl -o /​etc/​yum.repos.d/​data.repo set.cz/​data.repo''​ |
 | **mail** | zobrazí obsah schránky přihlášeného uživatele (///​var/​spool/​mail/<​uzivatel>//​),​ **-f** zobrazí obsah schránky udržující již přečtené zprávy (///​home/<​uzivatel>/​mbox//​);​ příkazy pro práci se schránkou: **p**/​**p**(n) zobrazí obsah nejstarší/​dané zprávy, **r** odpoví na zprávu, **d**/​**d**(m-n)/​**d*** smaže dané/​všechny zprávy, **q** ukončí program | | **mail** | zobrazí obsah schránky přihlášeného uživatele (///​var/​spool/​mail/<​uzivatel>//​),​ **-f** zobrazí obsah schránky udržující již přečtené zprávy (///​home/<​uzivatel>/​mbox//​);​ příkazy pro práci se schránkou: **p**/​**p**(n) zobrazí obsah nejstarší/​dané zprávy, **r** odpoví na zprávu, **d**/​**d**(m-n)/​**d*** smaže dané/​všechny zprávy, **q** ukončí program |
-| **mail** <​adresa>​ | odešle zprávu na danou adresu, **-s** <​predmet>​ předmět, **-c** <​adresa>​ kopie (CC), **-b** <​adresa>​ skrytá kopie (BCC)\\ ''​$ mail root''​ / ''​tom@atlas.cz < nabidka.txt''​\\ ''​$ cat soubor | mail -s "​navrh"​ kuba -c root''​\\ ''​$ echo "ahoj Kubo" | mail -s "​pozdrav"​ kuba''​\\ zprávu lze rovněž poslat tímto způsobem:​\\ ''​$ mail <​adresa>​ **<​-'​**''​\\ ''//​Subject://​ <​predmet>​ **<​-'​**''​\\ ''<​text>​ **<​-'​**''​\\ ''​.**<​-'​**''​ nebo ''​**ctrl**+**d**''​\\ ''//​Cc://​ <​adresa>​ **<​-'​**''​ |+| **mail** <​adresa>​ | odešle zprávu na danou adresu, **-s** <​predmet>​ předmět, **-c** <​adresa>​ kopie (CC), **-b** <​adresa>​ skrytá kopie (BCC)\\ ''​$ mail root''​ / ''​tom@atlas.cz < nabidka.txt''​\\ ''​$ cat soubor | mail -s "​navrh"​ kuba -c root''​\\ ''​$ echo "ahoj Kubo" | mail -s "​pozdrav"​ kuba''​\\ zprávu lze rovněž poslat tímto způsobem:​\\ ''​$ mail <​adresa>​ **<​-'​**''​\\ ''//​Subject://​ <​predmet>​ **<​-'​**''​\\ ''<​text>​ **<​-'​**''​\\ ''​.**<​-'​**''​ nebo ''​**Ctrl**+**d**''​\\ ''//​Cc://​ <​adresa>​ **<​-'​**''​ |
 | **wall** <​zprava>​ | odešle zprávu na všechny otevřené terminály počítače přihlášeným uživatelům,​ kteří mají nastaveno mesg na „yes“ | | **wall** <​zprava>​ | odešle zprávu na všechny otevřené terminály počítače přihlášeným uživatelům,​ kteří mají nastaveno mesg na „yes“ |
-| **write** <​uzivatel>​ (<​terminal>​) | odešle zprávu danému uživateli na stejném počítači;​ pokud je uživatel přihlášen na více terminálech současně, lze terminál specifikovat,​ jinak program zvolí terminál, na kterém uživatel prováděl aktivitu naposledy\\ ''​$ write dookie **<​-'​**''​\\ ''<​text>''​\\ ''​**ctrl**+**d**''​\\ ''​$ echo "​Ahoj"​ | write dookie''​ | +| **write** <​uzivatel>​ (<​terminal>​) | odešle zprávu danému uživateli na stejném počítači;​ pokud je uživatel přihlášen na více terminálech současně, lze terminál specifikovat,​ jinak program zvolí terminál, na kterém uživatel prováděl aktivitu naposledy\\ ''​$ write dookie **<​-'​**''​\\ ''<​text>''​\\ ''​**Ctrl**+**d**''​\\ ''​$ echo "​Ahoj"​ | write dookie''​ | 
-| **talk** <​uzivatel>​ / <​uzivatel>​@<​hostitel>​ (<​terminal>​) | uskuteční vzájemnou komunikaci mezi dvěma uživateli současně (v případě shodného uživatelského jména i mezi různými počítači),​ okno je rozděleno na příchozí a odchozí text; pokud je uživatel přihlášen na více terminálech současně, lze terminál specifikovat,​ jinak program zvolí terminál, na kterém uživatel prováděl aktivitu naposledy\\ ''​$ talk tom@domain.com **<​-'​**''​\\ ''<​text>​ **<​-'​**''​\\ ''​**ctrl**+**c**''​ |+| **talk** <​uzivatel>​ / <​uzivatel>​@<​hostitel>​ (<​terminal>​) | uskuteční vzájemnou komunikaci mezi dvěma uživateli současně (v případě shodného uživatelského jména i mezi různými počítači),​ okno je rozděleno na příchozí a odchozí text; pokud je uživatel přihlášen na více terminálech současně, lze terminál specifikovat,​ jinak program zvolí terminál, na kterém uživatel prováděl aktivitu naposledy\\ ''​$ talk tom@domain.com **<​-'​**''​\\ ''<​text>​ **<​-'​**''​\\ ''​**Ctrl**+**c**''​ |
 | **mesg** (<​**y**/​**n**>​) | vypíše či nastaví dostupnost terminálu přihlášeného uživatele pro příjem zpráv programu „wall“, „talk“ nebo „write“ („y“ = ano, „n“ = ne) | | **mesg** (<​**y**/​**n**>​) | vypíše či nastaví dostupnost terminálu přihlášeného uživatele pro příjem zpráv programu „wall“, „talk“ nebo „write“ („y“ = ano, „n“ = ne) |
 | **who -w** | zjistí dostupnost přihlášených uživatelů pro příjem zpráv programu „wall“, „talk“ nebo „write“ („+“ = ano, „-“ = ne) | | **who -w** | zjistí dostupnost přihlášených uživatelů pro příjem zpráv programu „wall“, „talk“ nebo „write“ („+“ = ano, „-“ = ne) |