Tydyt:Linux: Porovnání verzí

Z Poznámkový blok
Přejít na: navigace, hledání
(Přikazy)
(Riční kopírování)
 
(Není zobrazeno 20 mezilehlých verzí od stejného uživatele.)
Řádka 5: Řádka 5:
 
== Odkaz na příkazy ==
 
== Odkaz na příkazy ==
 
[http://www.gybon.cz/~rusek/vyuka/linadd.html Linux - shell, příkazy]
 
[http://www.gybon.cz/~rusek/vyuka/linadd.html Linux - shell, příkazy]
 +
 +
Změna vlastnictví:
 +
* chown [-R] usernsme filename
 +
* chgrp [-R] usernsme filename
  
 
== IP6 ==
 
== IP6 ==
Řádka 51: Řádka 55:
  
 
  /etc/init.d/miredo restart
 
  /etc/init.d/miredo restart
 +
 +
=== Odkazy ===
 +
* https://www.ipv6.cz
 +
* [http://www.potaroo.net/cgi-bin/ipv6addr Ověření IP6 adresy]
 +
 +
== IP Forward ==
 +
Po základní instalaci systému je forward mezi jednotlivými síťovými porty blokovaný. Aktuální stav můžeme ověřit z jedním z příkazů:
 +
sysctl net.ipv4.ip_forward
 +
 +
cat /proc/sys/net/ipv4/ip_forward
 +
Pro trvalou změnu je nutné provést edit souboru
 +
/etc/sysctl.conf:
 +
net.ipv4.ip_forward = 1
 +
  
 
== Rozdělení disku ==
 
== Rozdělení disku ==
Řádka 72: Řádka 90:
  
 
== Vytvoření uživatele ==
 
== Vytvoření uživatele ==
 +
 
Přidání uživatele:
 
Přidání uživatele:
 
  add user "jméno_uživatele"
 
  add user "jméno_uživatele"
Řádka 81: Řádka 100:
 
         /bin/false
 
         /bin/false
 
         /usr/bin/scponly
 
         /usr/bin/scponly
 +
 +
== SSH přístup ==
 +
=== Vygenerování klíče ===
 +
Pokud chceme umožnit přístup na vzdálené zařízení baz zadávání hesla, můžeme vytvorit ssh klíč. Ten následně nakopírujeme na vdálený systém. Při tvorbě se vždy generuje pár souborů, kdy první je privátní. Ten musíme střežit a nikde nezveřejnit !
 +
 +
Vygenerování klíče provedeme příkazem:
 +
ssh-keygen
 +
Pokud přidáme parametr ''-b 4096'' zvýšíme tím velikost kíče na 4096 bitů pro vyšší bezpečnost.
 +
 +
Při spuštění generování budeme následně vyzváni k možnosti změnit umístění klíče a zadání hesla pro klíč. Vše stačí potvrdit a následně se vygenerují klíče bez hesla.
 +
Generating public/private rsa key pair.
 +
Enter file in which to save the key (/home/tydyt/.ssh/id_rsa):
 +
Enter passphrase (empty for no passphrase):
 +
Enter same passphrase again:
 +
Your identification has been saved in /home/tydyt/.ssh/id_rsa.
 +
Your public key has been saved in /home/tydyt/.ssh/id_rsa.pub.
 +
The key fingerprint is:
 +
SHA256:8VIC0jO0i7w3Ml+FAXvk4HdTRs1EQuZwkf6YOGmv6Ho tydyt@TydytPC
 +
The key's randomart image is:
 +
+---[RSA 2048]----+
 +
|    .o= . .oXBo  |
 +
|    o+O  B..o  |
 +
|      +oB +..    |
 +
|  . . + O ..    |
 +
|    o . S oo +  |
 +
|    .  o= o .  |
 +
|    + o .. o    |
 +
|    = oE.  .    |
 +
|      o+o ..    |
 +
+----[SHA256]-----+
 +
Pokud již dříve jsme měli klíč na zvoleném místě vygenerovaný, budeme dotázáni zda se klíč má přepsat:
 +
Generating public/private rsa key pair.
 +
Enter file in which to save the key (/home/tydyt/.ssh/id_rsa):
 +
/home/tydyt/.ssh/id_rsa already exists.
 +
Overwrite (y/n)?     
 +
Pokud potvrdíme ''y'' bude původní klič zrušen a nebude možný vzdálený přístup na něj vázaný.
 +
=== Zobrazení otisku klíče ===
 +
Pro kontrolu o jaký klíč se jedná, můžeme se podívat na otisk klíče. ten nám zobrazí velikost vlastního klíče, typ sifrování, vlastní otisk a poznámku.
 +
ssh-keygen -l
 +
Následně budeme požádání o potvrzení, nebo změnu umístění klíče a poté se otisk zobrazí:
 +
Enter file in which the key is (/home/tydyt/.ssh/id_rsa):
 +
2048 SHA256:8VIC0jO0i7w3Ml+FAXvk4HdTRs1EQuZwkf6YOGmv6Ho tydyt@TydytPC (RSA)
 +
=== Kopírování klíče na server ===
 +
Pokud chceme překopírovat klíč (vždy jen veřejnou část) na vzdálený server, máme několik možností:
 +
==== Pomocí ssh-copy-id ====
 +
Na větčině serverů je k dispozici utilita ''ssh-copy-id'' která nám umožní jednoduchá přidání klíče. K tomu ale také potřebujeme mít přihlašovací ůdaje z heslem. Zadáme:
 +
ssh-copy-id username@remote_host
 +
Po spuštění budeme vyzváni k potvezení a zadání hesla vzdáleného serveru:
 +
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/tydyt/.ssh/id_rsa.pub"
 +
The authenticity of host 'ansible.moderntv.eu (188.246.114.145)' can't be established.
 +
ECDSA key fingerprint is SHA256:eFgPuDO1hrHgZBH0W6ZzNqJqvKVbQMpMWLHwfWETzBo.
 +
Are you sure you want to continue connecting (yes/no)? yes
 +
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
 +
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
 +
Password:
 +
 +
Number of key(s) added: 1
 +
 +
Now try logging into the machine, with:  "ssh 'username@remote_host'"
 +
and check to make sure that only the key(s) you wanted were added.
 +
 +
==== Bez ssh-copy-id ====
 +
Pokud příkaz ''ssh-copy-id'' není k dispozici, ale máme na server ssh přístup pomocí loginu a hesla, můžeme provést nakopírování následovně:
 +
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
 +
Po spuštění budeme vyzváni k uložení vzdáleného klíče a hesla na vzdálený server.
 +
 +
==== Riční kopírování ====
 +
Ruční kopírování přináší ryziko chyby při kopírování a je nejpracnější. Přesto v některých případech je potřebné. Nejdříve si na místním počítači zobrazíme vlastní veřejný klíč:
 +
cat ~/.ssh/id_rsa.pub
 +
Zobrazený obsah zkopírujeme do schránky pro skopírování na vzdáleném serveru.
 +
 +
Na vzdáleném serveru zkontrolujem že existuje adresář .ssh.
 +
ls -l ~/.ssh
 +
pokud neexistuje, tak jej vytvoříme a vstoupíme do něj
 +
mkdir -p ~/.ssh
 +
Nasledně přidáme klíč do patřičného souboru
 +
echo sem_vlozte_retezec_verejneho_klice >> ~/.ssh/authorized_keys
  
 
== Rychlost spojů ==
 
== Rychlost spojů ==
Řádka 101: Řádka 197:
 
|}
 
|}
  
 +
 +
== IP tables ==
 +
Možnosti (základní):
 +
-L: slouží k vypsání pravidel
 +
-S: slouží k vypsání pravidel
 +
 +
-P: zadání hlavního pravidla (politika)
 +
 +
-A: přidání nového pravidla na konec seznamu
 +
-I: přidání nového pravidla na začátek seznamu
 +
 +
-D: slouží k smazání pravidla
 +
-F: slouží k vymazání pravidel
 +
 +
-N: založení nového řetězce
 +
-X: smazání námi vytvořeného řetězce
 +
-E: přejmenování řetězce
 +
Pravidla (základní):
 +
-s: zdrojová IP paketu, popřípadě rozsah adres, adresa může být doplněna maskou
 +
-d: cílová IP paketu a nebo rozsah adres
 +
-i: vstupní zařízení, kterým paket přijde do PC např. eth0
 +
-o: výstupní zařízení, kterým odejde paket z PC
 +
--sport: zdrojový port paketu
 +
--dport: port na který paket putuje
 +
 +
 +
 +
#politiky FW
 +
/sbin/iptables -P INPUT DROP # vše co jde na vstup PC zahoď
 +
/sbin/iptables -P FORWARD DROP # vše co chce jen projít počítačem zahoď
 +
/sbin/iptables -P OUTPUT ACCEPT # vše co odchází z PC nech odejít
 +
 +
#NAT
 +
echo "1" > /proc/sys/net/ipv4/ip_forward # povolení forwardingu v jádře
 +
/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE # změna zdrojové LAN adresy na zdrojovou WAN adresu
 +
/sbin/iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT #povolí vše z eth0 směřující na eth1
 +
/sbin/iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT #povolí přeposílání z rozhraní WAN na rozhraní LAN u existujících a nebo souvisejících spojení
 +
 +
#FW pravidla
 +
/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # propust spojeni která byla inicializovaná zevnitř
 +
/sbin/iptables -A INPUT -i lo -j ACCEPT #propust na vstup vše pokud je vstupní rozhraní loopback
 +
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT #HTTP server, propustí vstupní data na port 80
 +
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT #SSH server, propustí vstupní data na port 22
 +
/sbin/iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT # FTP server, povolen rozsah portů 20-21
 +
/sbin/iptables -A INPUT -p udp --dport 4672 -j # aMule , povolen UDP port 4672
 +
/sbin/iptables -A INPUT -p tcp --dport 4662 -j # aMule , povolen TCP port 4662
 +
/sbin/iptables -A INPUT -p ICMP --icmp-type echo-request -j ACCEPT
  
 
== Asterisk ==
 
== Asterisk ==

Aktuální verze z 11. 4. 2020, 10:03

Instalace Linux

netstat

  • netstat -lp - Zobrazí otevřené porty na PC

Odkaz na příkazy

Linux - shell, příkazy

Změna vlastnictví:

  • chown [-R] usernsme filename
  • chgrp [-R] usernsme filename

IP6

Přikazy

Výpis routy:

  • route -A inet6
  • ip -6 route show

Výpis pravidel:

  • ip6tables -L

Teredo – IPv6 jednoduše

Pokud používáte distribuci Debian nebo Ubuntu (GNU/Linux), ke zprovoznění stačí jeden příkaz:

apt-get install miredo

Aplikace by se po instalaci měla sama spustit a teredo tunel vytvořit. Kontrolu provedeme pomocí příkazu ifconfig:

teredo    Link encap:NEZNÁM  HWadr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet6-adr: fe80::ffff:ffff:ffff/64 Rozsah:Linka
          inet6-adr: 2001:0:d91f:cca0:8e5:7cbc:a18e:ca17/32 Rozsah:Globál
          AKTIVOVÁNO POINTOPOINT BĚŽÍ NEARP MULTICAST  MTU:1280  Metrika:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          kolizí:0 délka odchozí fronty:500
          RX bytes:0 (0.0 B)  TX bytes:144 (144.0 B)

Nakonec zkusíme příkazem ping6 ověřit dostupnost IPv6 sítě:

$ ping6 -c 4 ipv6.google.com
PING ipv6.google.com(fra07s07-in-x69.1e100.net) 56 data bytes
64 bytes from fra07s07-in-x69.1e100.net: icmp_seq=1 ttl=59 time=78.7 ms
64 bytes from fra07s07-in-x69.1e100.net: icmp_seq=2 ttl=59 time=25.5 ms
64 bytes from fra07s07-in-x69.1e100.net: icmp_seq=3 ttl=59 time=25.4 ms
64 bytes from fra07s07-in-x69.1e100.net: icmp_seq=4 ttl=59 time=26.6 ms

--- ipv6.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 25.410/39.075/78.764/22.919 ms

Pro kvalitnější připojení pro ČR ještě změníme v souboru /etc/miredo/miredo.conf teredo server na server CZ.NICu přidáním řádku (původní adresu zakomentovat):

ServerAddress teredo.nic.cz

a miredo restartujeme:

/etc/init.d/miredo restart

Odkazy

IP Forward

Po základní instalaci systému je forward mezi jednotlivými síťovými porty blokovaný. Aktuální stav můžeme ověřit z jedním z příkazů:

sysctl net.ipv4.ip_forward

cat /proc/sys/net/ipv4/ip_forward

Pro trvalou změnu je nutné provést edit souboru

/etc/sysctl.conf:
net.ipv4.ip_forward = 1

Rozdělení disku

/          - kořenový souborový systém
/home      - Domovsý adresář uživatelů
/tmp       - Dočasné soubory
/usr       - neměnná data
/var       - proměnlivá data
/srv       - data pro služby poskytované systémem
/opt       - přídavný software třetích stran
/usr/local - lokální hierarchie

 mkfs.ext4 /dev/sda3 - formátuje disk sda3 na ext4

Výpis informací

cat /proc/partitions - vypíše seznam disků v PC
df                   - vypíše využití jednotlivých připojených disků
du -h                - vypíše využití jednotlivých adresářů ( parametr --max-depth=N omezí úroveň adresářů )
blkid                - Vypíše seznam UUID jednotlivých partišen disků (místo UUID je možné použít LABEL, pokud existuje)

Vytvoření uživatele

Přidání uživatele:

add user "jméno_uživatele"

Změna shelu při přihlášení

chsh -s /bin/false "jméno_uživatele"

nebo

chsh "jméno_uživatele"
        /bin/false
        /usr/bin/scponly

SSH přístup

Vygenerování klíče

Pokud chceme umožnit přístup na vzdálené zařízení baz zadávání hesla, můžeme vytvorit ssh klíč. Ten následně nakopírujeme na vdálený systém. Při tvorbě se vždy generuje pár souborů, kdy první je privátní. Ten musíme střežit a nikde nezveřejnit !

Vygenerování klíče provedeme příkazem:

ssh-keygen 

Pokud přidáme parametr -b 4096 zvýšíme tím velikost kíče na 4096 bitů pro vyšší bezpečnost.

Při spuštění generování budeme následně vyzváni k možnosti změnit umístění klíče a zadání hesla pro klíč. Vše stačí potvrdit a následně se vygenerují klíče bez hesla.

Generating public/private rsa key pair.
Enter file in which to save the key (/home/tydyt/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/tydyt/.ssh/id_rsa.
Your public key has been saved in /home/tydyt/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:8VIC0jO0i7w3Ml+FAXvk4HdTRs1EQuZwkf6YOGmv6Ho tydyt@TydytPC
The key's randomart image is:
+---[RSA 2048]----+
|    .o= . .oXBo  |
|     o+O   B..o  |
|      +oB +..    |
|   . . + O ..    |
|    o . S oo +   |
|     .   o= o .  |
|    + o .. o     |
|     = oE.  .    |
|      o+o ..     |
+----[SHA256]-----+

Pokud již dříve jsme měli klíč na zvoleném místě vygenerovaný, budeme dotázáni zda se klíč má přepsat:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/tydyt/.ssh/id_rsa):
/home/tydyt/.ssh/id_rsa already exists.
Overwrite (y/n)?      

Pokud potvrdíme y bude původní klič zrušen a nebude možný vzdálený přístup na něj vázaný.

Zobrazení otisku klíče

Pro kontrolu o jaký klíč se jedná, můžeme se podívat na otisk klíče. ten nám zobrazí velikost vlastního klíče, typ sifrování, vlastní otisk a poznámku.

ssh-keygen -l

Následně budeme požádání o potvrzení, nebo změnu umístění klíče a poté se otisk zobrazí:

Enter file in which the key is (/home/tydyt/.ssh/id_rsa):
2048 SHA256:8VIC0jO0i7w3Ml+FAXvk4HdTRs1EQuZwkf6YOGmv6Ho tydyt@TydytPC (RSA)

Kopírování klíče na server

Pokud chceme překopírovat klíč (vždy jen veřejnou část) na vzdálený server, máme několik možností:

Pomocí ssh-copy-id

Na větčině serverů je k dispozici utilita ssh-copy-id která nám umožní jednoduchá přidání klíče. K tomu ale také potřebujeme mít přihlašovací ůdaje z heslem. Zadáme:

ssh-copy-id username@remote_host

Po spuštění budeme vyzváni k potvezení a zadání hesla vzdáleného serveru:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/tydyt/.ssh/id_rsa.pub"
The authenticity of host 'ansible.moderntv.eu (188.246.114.145)' can't be established.
ECDSA key fingerprint is SHA256:eFgPuDO1hrHgZBH0W6ZzNqJqvKVbQMpMWLHwfWETzBo.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@remote_host'"
and check to make sure that only the key(s) you wanted were added.

Bez ssh-copy-id

Pokud příkaz ssh-copy-id není k dispozici, ale máme na server ssh přístup pomocí loginu a hesla, můžeme provést nakopírování následovně:

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Po spuštění budeme vyzváni k uložení vzdáleného klíče a hesla na vzdálený server.

Riční kopírování

Ruční kopírování přináší ryziko chyby při kopírování a je nejpracnější. Přesto v některých případech je potřebné. Nejdříve si na místním počítači zobrazíme vlastní veřejný klíč:

cat ~/.ssh/id_rsa.pub

Zobrazený obsah zkopírujeme do schránky pro skopírování na vzdáleném serveru.

Na vzdáleném serveru zkontrolujem že existuje adresář .ssh.

ls -l ~/.ssh

pokud neexistuje, tak jej vytvoříme a vstoupíme do něj

mkdir -p ~/.ssh

Nasledně přidáme klíč do patřičného souboru

echo sem_vlozte_retezec_verejneho_klice >> ~/.ssh/authorized_keys

Rychlost spojů

Výsledek testu rychlosti v různé technoligii

Typ připojení, protokol Rychlost: Poznámka:
Ubnt - NstationM5 35 Mbit/s Při zaplá kompresi se zvýší rychlost, ale odezva se zvýší okolo 3ms
RB433AH - 5GHz/N WDS 35 Mbit/s
RB433AH - 5GHz/N Klient 42 Mbit/s
RB433AH - 5GHz-turbo 39 Mbit/s
RB433AH - 5GHz Nstreme Dual 38 Mbit/s
RB433AH - 5GHz-turbo Nstreme Dual 58 Mbit/s


IP tables

Možnosti (základní):

-L: slouží k vypsání pravidel
-S: slouží k vypsání pravidel

-P: zadání hlavního pravidla (politika)

-A: přidání nového pravidla na konec seznamu
-I: přidání nového pravidla na začátek seznamu

-D: slouží k smazání pravidla
-F: slouží k vymazání pravidel

-N: založení nového řetězce
-X: smazání námi vytvořeného řetězce
-E: přejmenování řetězce

Pravidla (základní):

-s: zdrojová IP paketu, popřípadě rozsah adres, adresa může být doplněna maskou
-d: cílová IP paketu a nebo rozsah adres
-i: vstupní zařízení, kterým paket přijde do PC např. eth0
-o: výstupní zařízení, kterým odejde paket z PC
--sport: zdrojový port paketu
--dport: port na který paket putuje


  1. politiky FW
/sbin/iptables -P INPUT DROP # vše co jde na vstup PC zahoď
/sbin/iptables -P FORWARD DROP # vše co chce jen projít počítačem zahoď
/sbin/iptables -P OUTPUT ACCEPT # vše co odchází z PC nech odejít
  1. NAT
echo "1" > /proc/sys/net/ipv4/ip_forward # povolení forwardingu v jádře
/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE # změna zdrojové LAN adresy na zdrojovou WAN adresu
/sbin/iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT #povolí vše z eth0 směřující na eth1
/sbin/iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT #povolí přeposílání z rozhraní WAN na rozhraní LAN u existujících a nebo souvisejících spojení
  1. FW pravidla
/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # propust spojeni která byla inicializovaná zevnitř
/sbin/iptables -A INPUT -i lo -j ACCEPT #propust na vstup vše pokud je vstupní rozhraní loopback
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT #HTTP server, propustí vstupní data na port 80
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT #SSH server, propustí vstupní data na port 22
/sbin/iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT # FTP server, povolen rozsah portů 20-21
/sbin/iptables -A INPUT -p udp --dport 4672 -j # aMule , povolen UDP port 4672
/sbin/iptables -A INPUT -p tcp --dport 4662 -j # aMule , povolen TCP port 4662
/sbin/iptables -A INPUT -p ICMP --icmp-type echo-request -j ACCEPT

Asterisk

Přihlášení tranku - obecně

PEER Details:
 username="login"
 type=peer
 secret="heslo"
 qualify=10000
 insecure=very
 host="sip.pbx.net"
 context=from-trunk
 
Register String:
 "login":"heslo"@"sip.pbx.net"

Přihlášení k 802.cz

PEER Details:
 username="tel_cislo"
 type=friend
 secret="heslo"
 qualify=10000
 insecure=very
 host=hlas.802.cz
 context=from-trunk
 
Register String:
 "tel_cislo":"heslo"@hlas.802.cz/"tel_cislo"

Propojení dvou systémů - vázáno na IP

PEER Details:
 type=peer
 defaultip="IP protistrany"
 nat=no
 canreinvite=no
 insecure=yes
 dtmfmode=rfc2833
 host="IP protistrany"
 
USER Details:
 type=peer
 host="IP protistrany"
 context=in_operator
 defaultip="IP protistrany"
 nat=no
 canreinvite=yes
 insecure=yes
 dtmfmode=rfc2833