Lws2

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání

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:

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
              }
         }
 }


  1. 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