Lws2
Se konal dne 3.6.2006
zacatek od: 9:00
Misto: Rusek - Zahradkarska Skola
Co je nutne mit s sebou pro ucast:
- PC na kterem uz budete mit nainstalovany Linux - Debian - testing - kdo bude mit jinou verzi, tak se asi moc dit nebude, jen mu mozna nebudou sohlasit vsechny veci - kdo bude mit jinou distribuci bude si muset v nekterych bodech poradit sam, jelikoz nebude tilik casu aby se to vysvetlovalo kazdemu zvlast - Klavesnici - Monitor je mozno si pujcit ten co uz v ucebne je - v PC mit funkcni ethernetvou kartu se zdirkou pro RJ45 - pro jistotu i svoji klavesnici (obvzlast si ji musej vzit ti co maj jeste DIN) - mozna se bude neco malo platit za zapujceni prostoru, tak si dyztak vemte par drobnych (jeste to zjistim) - a hlavne DOBROU NALADU :-)
Casovy plan:
Obsah
09:00-9:29 - Zacatek
- Zacatek - Konfigurace pocitacu - Konfigurace priojeni k siti - Zjisteni zda maj vsichni nainstalovano vse potrebne
09:30-10:29 - Routovani
prednasi: PavKriz - Vysvetleni routovani - co to je - k cemu to je - vyhody a nevyhody - zajimavosti
10:30-11:59 - Quagga
prednasi: PavKriz - co to je zebra - co to je ospfd - jak to pracuje - konfigurace
12:00 - 12:59 - Verejne IP
prednasi: Cool/Explosion - co to je - vyhody a nevyhody - nastaveni na routerech - nastaveni u klientu
13:00-13:59 - DHCP
prednasi: Bongo - co to je - uplatneni - konfigurace - DHCP Relay
14:00-14:59 ? - SSH
prednasi: Bongo - co to je, implementace SSH - vzdálené přihlášení pomocí SSH, autentizace, omezení přístupu - správa klíčů pomocí agenta, použití SSH ve scriptech - přenášení souborů pomocí SSH (scp) - forward portů, SSH tunel, forward X - a dalsi
13:00 - 13:59 - OBED
Kureci rizky s hranolkama a oblohou
14:00-16:30 - Volna debata
- Bridge a jejich problematika - dalsi...
17:00 - KONEC
- Prihlasky:
!!! Max. 20 lidi s PC + 5 s NB !!!
Nick - Obed/Bez obedu - monitor vlastni/pujcenej
Cool-Explosion - obed - pujcenej
Fugas - obed - pujcenej
Polin - obed - vlastni
Paul - obed - pujcenej
reaper - obed - pujcenej
Vladi - OBED - pujcenej
Vitek (Theo) - obed - NB
koulinek - obed - NB
PetrS(+1) - 2x obed - pujcenej (muzeme dva k jednomu stroji?) - ano muzete
Vcela - Obidek - NB
pavkriz - obed asi ne, ucast nejista (50%) - NB
Lubos Spacek(+1) - 2x obed - NB
Chip - obed - vlastni
Petr Zitny - Obed - Fotim :D LCD display na fotaku mam, takze nepotrebuju pujcit monitor :D
clovek (PVK)- oběd - NB
Bongo - obed ne - NB
JohnnyK - obed - pujcenej
doplnujici data
- Firewall
#!/bin/sh # # Smaz vse iptables -F iptables -t nat -F iptables -X # # Default policy iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # # Ven a skrz vse iptables -A OUTPUT -j ACCEPT iptables -A FORWARD -j ACCEPT # # navazane i dovnitr iptables -A INPUT -m state --state RELATED,ESTABLISHED,INVALID -j ACCEPT # # loopback iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -s 127.0.0.0/255.0.0.0 -j DROP # # Povol PING, HTTP a PROXy iptables -A INPUT -p icmp -m icmp --icmp-type 0 -m limit --limit 5/sec --limit-burst 10 -j ACCEPT # obrana proti zahlceni pingama iptables -A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 5/sec --limit-burst 10 -j ACCEPT # obrana proti zahlceni pingama iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT # FTP iptables -A INPUT -p tcp --dport 22 -j ACCEPT # SSH iptables -A INPUT -p tcp --dport 25 -j ACCEPT # SMTP iptables -A INPUT -p tcp --dport 37 -j ACCEPT # RDATE iptables -A INPUT -p udp --dport 37 -j ACCEPT iptables -A INPUT -p tcp --dport 53 -j ACCEPT # DNS iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT # WWW iptables -A INPUT -p tcp --dport 110 -j ACCEPT # POP3 iptables -A INPUT -p tcp --dport 123 -j ACCEPT # NTP iptables -A INPUT -p udp --dport 123 -j ACCEPT iptables -A INPUT -p tcp --dport 143 -j ACCEPT # IMAP iptables -A INPUT -p tcp --dport 443 -j ACCEPT # WWW + SSL iptables -A INPUT -p tcp --dport 465 -j ACCEPT # SMTP + SSL iptables -A INPUT -p tcp --dport 953 -j ACCEPT # DNS - Commands iptables -A INPUT -p tcp --dport 993 -j ACCEPT # IMAP + SSL iptables -A INPUT -p tcp --dport 995 -j ACCEPT # POP3 + SSL iptables -A INPUT -p tcp --dport 3306 -j ACCEPT # MySQL iptables -A INPUT -p tcp --dport 5432 -j ACCEPT # PostgreSQL iptables -A INPUT -p udp --dport 5432 -j ACCEPT # PostgreSQL iptables -A INPUT -p udp --dport 8767 -j ACCEPT # TeamSpeak iptables -A INPUT -p tcp --dport 14534 -j ACCEPT # TeamSpeak - webadmin iptables -A INPUT -p tcp --dport 51234 -j ACCEPT # TeamSpeak - TCPquery iptables -A INPUT -i eth1 -p tcp --dport 2600:2608 -j ACCEPT # Zebra - OSPF, BGPD iptables -A INPUT -i eth1 -p ospf -j ACCEPT # OSPF pakety #
- zebra.conf
! hostname Pokusnej_Server password free enable password tajny_heslo service advanced-vty !!! pokud chcete logoat do souboru !!! log file /var/log/quagga/zebra.log ! interface lo ! interface eth0 description linka-hkfree ! interface eth1 description domaci-sit ! ip route 224.0.0.5/32 127.0.0.1 ip route 224.0.0.6/32 127.0.0.1 ! !!! pro verejnou IP ip route 85.132.161.50/32 eth1 ! !!! pro staticke routovani !!! ip route 10.107.99.0/24 10.107.98.2 ! line vty !
- ospfd.conf
hostname Pokusnej_Server password free enable password tajny_heslo service advanced-vty !!! pokud chcete logoat do souboru !!! log file /var/log/quagga/ospfd.log ! interface lo ! interface eth0 description link-hkfree ip ospf cost 10 ip ospf hello-interval 5 ip ospf dead-interval 300 ! interface eth1 description lokalni-sit ip ospf cost 100 ! router ospf ospf router-id 10.107.97.1 redistribute connected metric-type 1 route-map just-10 redistribute kernel metric-type 1 redistribute static metric-type 1 ! network 10.107.97.1/26 area 0.0.0.0 network 10.107.98.1/28 area 0.0.0.0 ! passive-interface eth1 ! line vty !
- dhcpd.conf
boot-unknown-clients false; # Neprideli IP cizim klientum one-lease-per-client true; # Jeden klient = Jedna pridelena IP default-lease-time 1200; # Defaultni doba zapujceni max-lease-time 3600; # Maximalni doba zapujceni server-identifier coolex; # V pripade pouziti NetBIOSu option domain-name-servers 10.107.4.100, 10.107.4.129; # DNS servery option domain-name "hkfree.org"; # Domena ktera se automatcky doplni option netbios-name-servers 10.107.51.254; # WINS server pokud je pouzit ddns-update-style none; # Zakaze DDNS authoritative; # Je primarnim DHCP server log-facility syslog; # Misto kam se bude logovat # Nejaky subnet subnet 192.168.1.0 netmask 255.255.255.0 { # Subnet range 192.168.1.10 192.168.1.100; # Rozsah Pridelovanych IP option routers 192.168.1.1; # pridelovana vychozi brana option broadcast-address 192.168.1.255; # Broadcast pridelovaneho subnetu group { host coolex-eth { # Jmeno v configu musi byt jedinecne hardware ethernet 00:C0:9F:2E:D2:80 # MAC addresa fixed-address 192.168.1.11; # Fichne pridelovana IP addresa } } }
- Windows klienti OS XP
se ohledně DHCP chovají nekorektně. Pokud máte ve své síti stanice s Win XP, musíte přidat řádek ohledně routovnání (pokud vám to nepropaguje zebra): route add -host 255.255.255.255 dev ethX
poznámky by Paul
# ping na broadcast - odpoví všichni klienti ping 191.168.1.255 -b
# zapnutí routování v /etc/network/options ip_forward=yes druhá možnost: echo 1 > /proc/sys/net/ipv4/ip_forward (parametr 0 -> vypnutí)
- ROUTOVAC� TABULKA
route -n příznaky: U (přímo v daném interface, nebude to tam staticky zadané), G (definuje gateway) metrik: 0 (je to v daném interface; číslo určuje jak je daný segment daleko) zebra naslouchá na portu 2601, ospf na portu 2604 (na oba se můžu připojit telnetem)
- VEŘEJN� IP
natování 1:1
# lokální IP bude vystupovat pod veřejnou IP iptables -t nat -A POSTROUTING -s lokalni_IP -j SNAT --to-source verejna_IP # to co přijde na veřejnou IP se pošle na lokální iptables -t nat -A PREROUTING -d verejna_IP -j DNAT --to lokalni_IP
# specifikace portu: (použití - někdo chce veřejnou jen kvůli DC++) iptables -t nat -A POSTROUTING -s lokalni_IP -p tcp --sport 80 -j SNAT --to-source verejna_IP iptables -t nat -A PREROUTING -d verejna_IP -p tcp --dport 80 -j DNAT --to lokalni_IP
# specifikace v zebře ip route 85.132.161.50/32 eth1
# na routru přidat routu: ip addr add 85.132.161.50/32 dev eth1
echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arp
- DHCP
www.isc.org
konfigurační soubor /etc/dhcpd.conf (tam můžu přidat fixní IP) databáze IP /var/lib/dhcp/dhcp.leases (tam nic neměnit) naslouchá na portu 67, vysílá na 68
ddns-update-style none; (dynamická DNS - přidám klienta, upraví se i DNS) option domain-name option domain-name-servers default-lease-time max-lease-time
omezení "zlých" počítačů # ručně udělat ARP tabulku (svázat IP s MAC) # nebo boot-unknown-clients false; (zakážu přidělování IP které nejsou fixní)
DHCP-relay
aby klienti z LAN1, LAN2 obdrželi IP od DHCP serveru
--------------- ---------- | DHCP server |------| ROUTER |-----LAN1 --------------- ---------- | | LAN2
# na jakém rozhranní má router poslouchat dhcprelay -i wlan1 adresa_DHCP_serveru
- SSH
~/.ssh/known-hosts (pokud změním server, musím tady vymazat tu původní položku) /etc/ssh/ssh.config (klient) /etc/ssh/sshd.config (server)
ssh-keygen (pro generování klíčů)
místo přihlašování heslem ssh-agent (do něj se vloží klíče pomocí ssh-add) # na serveru musí být v adresáři ~/.ssh/authorized_keys klíč (.pub) # práva adresáře .ssh - 700, adresáře authorized_keys - 600
SSH-forward
www ---------- -------------- | klient |------| SSH server | ---------- --------------
# u klienta napíšu localhost:8888 a zobrazí se to co je na webu na serveru kam se přihlásím ssh -L 8888:localhost:80 # na klienta se můžou připojit další (na port 8888) ssh -g -L 8888:localhost:80 ssh -L 8888:10.107.12.1:119
obráceně
www ---------- -------------- | klient |------| SSH server | ---------- --------------
# na serveru poběží na portu 8080 to co běží klientovi na 80tce ssh -R 8080:localhost:80
- BRIDGE
-------------- | ROUTER | -------------- |eth0 |wlan0 | |
utilita: bridge-util
příkaz: brctl
# přidání bridge brctl addbr br0 brctl addif br0 eth0 brctl addif br0 wlan0 ifconfig br0 up