Tux

o.s.Linux - cvičení - 2.pololetí

konfigurační soubory a nástroje v distribuci Fedora

boot a síťová rozhraní

soubor/boot/grub/grub.conf ... konfigurace boot manažeru

příkaz[root@2202-xx ~]# ifconfig ... nástroj na konfiguraci síťového rozhraní

soubor/etc/sysconfig/network-scripts/ifcfg-xxx ... konfigurace síťového rozhraní xxx
příklad statické a dynamické konfigurace

příkaz[root@2202-xx ~]# service služba ... změna stavu nějaké služby (např.network)

příkaz[root@2202-xx ~]# /etc/init.d/služba ... změna stavu služby přímým spuštěním startovacího scriptu

směrování

příkaz[root@2202-xx ~]# route -n ... výpis směrovací tabulky

příkaz[root@2202-xx ~]# route add -net 192.168.1.0/24 gw 172.16.1.11 ... přidá do směrovací tabulky informaci o cestě do sítě 192.168.1.0

příkaz[root@2202-xx ~]# route add default gw 172.16.1.1 ... nastaví defaultní cestu

soubor/etc/sysconfig/network-scripts/route-xxx ... statické routy pro rozhraní xxx
příklad nastavení statických rout

soubor/etc/sysctl.conf ... povolení či zákaz směrování

soubor/proc/sys/net/ipv4/ip_forward ... povolení směrování - aktuální stav

konfigurace procesu init

soubor/etc/inittab
id:3:initdefault: ... startovací runlevel
si::sysinit:/etc/rc.d/rc.sysinit ... script spuštěný jako první při zavádění systému
l3:3:wait:/etc/rc.d/rc 3 ... script spuštěný při vstupu do runlevelu
1:2345:respawn:/sbin/mingetty tty1 ... vytvoří virtuální terminál

runlevel (úroveň běhu)
0 ... halt - zastavení systému
1 ... single user - jednouživatelský režim
2 ... víceuživatelský bez podpory sítě
3 ... víceuživatelský TEXTOVÝ režim
4 ... nevyužito
5 ... víceuživatelský GRAFICKÝ režim
6 ... restart systému

zjišťování časových udajů

program/bin/date... výpis/nastavení aktuálního datumu a času, převod časových jednotek

příklady:
date... aktuální datum čas v implicitním formátu Čt bře 13 13:39:26 CET 2008
date '+Je právě %H hodin %M minut'... aktuální čas v určeným formátu
date -d '2 weeks ago'... jaký byl datum a čas před 2 týdny
date -d 20000101 '+%A'... jaký den byl 1.1.2000
date '+%s'... jaká je teď vteřina od 1.1.1970
echo $((`date '+%s'`/60))... jaká je teď minuta od 1.1.1970
date -d '19700101 1000000000 sec' '+%-d.%-m.%Y'... který den byla miliardtá vteřina unixové éry

cvičení:
vypište aktuální datum ve formátu 1.2.2003(tj. bez nul v měsící a dni)
kolikátý je dnes pořadový den od 1.1.1970 ?
kdy bude 15000. pořadový den ?
jaký den v týdnu jste se narodili ?

konfigurace dhcp serveru

soubor/etc/sysconfig/dhcpd ... startovací nastavení

soubor/etc/dhcpd.conf ... běhové nastavení - viz. server klempak

konfigurace resolveru (dns klienta)

soubor/etc/resolv.conf ... nejdůležitější direktiva - jakou adresu má jmenný server

soubor/etc/host.conf ... v jakém pořadí se provádí překlad
např.order hosts,bind znamená, že nejprve se prohlédnou záznamy v /etc/hosts a pak se dotazuje DNS server

příkaz[root@2202-xx ~]$ host ... jednoduchý nástroj na dns překlady

příkaz[root@2202-xx ~]$ dig ... pokročilejší nástroj na dotazování dns serverů

konfigurace firewallu

Tady jsou vzorová pravidla iptables, ke kterým bychom měli při cvičení dospět:

# 
# /etc/sysconfig/iptables
#
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# takove pakety by nemely existovat
-A PREROUTING -i eth0 -d 192.168.13.0/24 -j DROP 
COMMIT

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# tunel portu 2222
-A PREROUTING -i eth0 -d 192.168.202.13 -p tcp --dport 2222 -j DNAT --to-destination 192.168.13.1:22
# adresy moji site jsou privatni - nesmi projit firewallem
-A POSTROUTING -o eth0 -s 192.168.13.0/24 -j SNAT --to-source 192.168.202.13 
# transparentni proxy
-A PREROUTING -i eth1 -d ! 192.168.13.0/24 -p tcp -j REDIRECT --to-port 3128
COMMIT

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
# navazana a pribuzna spojeni at funguji
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
# icmp 
-A INPUT -p icmp -j ACCEPT 
-A FORWARD -p icmp -j ACCEPT 
# dusledek tunelovani portu 2222
-A FORWARD -d 192.168.13.1 -p tcp --dport 22 -j ACCEPT
# a neco povolime ...
-A INPUT -p tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp --dport 80 -j ACCEPT 
-A INPUT -i eth1 -p tcp --dport 21 -j ACCEPT
-A INPUT -i eth0 -p tcp --dport 21 -j REJECT
-A INPUT -i eth1 -p tcp --dport 3128 -j ACCEPT
#
-A FORWARD -i eth1 -o eth0 -p tcp --dport 22 -j ACCEPT 
# pri transparentni proxy neni treba
#-A FORWARD -i eth1 -o eth0 -p tcp --dport 80 -j ACCEPT 
# dns
-A FORWARD -o eth0 -p tcp --dport 53 -j ACCEPT
-A FORWARD -o eth0 -p udp --dport 53 -j ACCEPT
COMMIT