Počítačové sítě a Linux

Transkript

Počítačové sítě a Linux
Počítačové sítě a Linux
Radek Pilař
Gymnázium Tanvald
Oktáva 2008/2009
Obsah
1 Úvod
2 Linux jako router
2.1 Volba hardware
2.2 Volba software
2.2.1 Výběr distribuce
2.2.1.1 Distribuce založené na RPM
2.2.1.2 Distribuce založené na DEB
2.2.1.3 Ostatní distribuce
2.2.2 Použité aplikace
2.2.3 Konfigurace
2.2.3.1 IPTables – paketový filtr
3 Linux jako server
3.1 Volba hardware
3.2 Volba software
3.2.1 Výběr distribuce
3.2.2 Použité aplikace
3.2.3 Konfigurace
3.2.3.1 Webserver Apache
3.2.3.2 FTP server vsftpd
4 Praktické provedení
-1-
1 Úvod
Když jsem na začátku školního roku dostal za úkol sestavit malou síť, skládající se z
routeru a klientu, myslel jsem si, že to do Vánočních prázdnin stihnu. Jenže jsem
pomalu zjišťoval, že nestíhám tak jak bych si představoval. Nakonec jsem virtuální
servery celé vytvářel doma a do školy donesl na DVD. Většinu informací jsem čerpal z
vlastních zkušeností, popřípadě manuálových stránek a konfiguračních souborů.
Seznam možných architektur jsem ověřoval v internetové encyklopedii Wikipedia.
2 Linux jako router
2.1 Volba hardware
Volba hardware je poměrně podceňovaná činnost. Samotný Linux je nenáročný –
funguje na velkém množství platforem, např. ARM, Motorola 68k (některé počítače
Amiga – A1200, A2500, A3000, A4000), x86, MIPS, PowerPC, SPARC. Nás však
bude pravděpodobně zajímat hlavně architektura x86, používaná v dnešních počítačích.
Ani zde není Linux nijak vybíravý – funguje na čemkoliv od 386. Sám jsem ještě
nedávno provozoval Linux na počítači s procesorem Cyrix 486 DX2 s 16MB RAM.
Většinou se na router používá starý, už nevyužívaný hardware. Výhoda je v nulových
pořizovacích nákladech, nevýhody potom nízký výkon – což ale mnohdy nevadí - a
vyšší spotřeba.
Pokud se chcete chovat ekologicky, nejlepší volbou je starý notebook, nebo netbook.
Sice je displej zbytečný, ale odmění se vám nízkou spotřebou (typicky do 20W), ale
opět za cenu nižšího výkonu.
Další možností jsou integrovaná řešení jako VIA Epia nebo Intel Little Falls, s nízkou
spotřebou a nižším výkonem oproti plnohodnotným počítačům.
Počítač s procesorem Intel 486 je schopný zvládnout základní NAT i při využití linky
cca 10Mbit/s, ale samozřejmě záleží na využití – jakákoliv další běžící služba výrazně
zpomalí celou linku. Z tohoto pohledu skutečně není výkon problém, pokud nechcete
nasazovat filtrování dat podle obsahu, IDS, nebo přesouvat po místní síti data přes SSH.
Nezbytná součást routeru jsou minimálně dvě síťová rozhraní – jedno pro komunikaci
se zbytkem internetu, druhé pro vnitřní síť.
2.2 Volba software
2.2.1 Výběr distribuce
Téma výběru distribuce je už ožehavější. Na na toto téma byly vedeny stovky
internetových diskuzí. Nutno dodat, že bez jakéhokoliv výsledku. U výběru distribuce je
nejdůležitější to, jak vám vyhovuje, jak se vám s ní pracuje. Některé distribuce se
-2-
obecně pokládají za určené na desktop nebo na server. Opravdu nedoporučuji se
takovýmto dělením řídit – sám na notebooku používám Debian – distribuci ve své
stabilní větvi značně konzervativní a určenou spíše na servery. Nicméně, pokud s
Linuxem začínáte, doporučuji si vybrat distribuci, kterou někdo ve vašem okolí používá
– ušetří vám to značné množství času v případě problémů. Já osobně jsem nakonec
zvolil Debian, protože s ním mám nejvíce zkušeností. Pro srovnání je zde malý přehled
nejznámějších Linuxových distribucí.
2.2.1.1 Distribuce založené na RPM
RPM je balíčkovací systém původně používaný v distribuci Red Hat Linux. Z
nejznámějších distribucí tento systém používá například Fedora, Red Hat Enterprise
Linux (a jeho zdarma dostupný derivát CentOS), openSUSE/SUSE Linux, nebo např.
Mandriva Linux.
2.2.1.2 Distribuce založené na DEB
DEB je formát balíčků původně vytvořený pro Debian Linux, dnes ho stejně jako RPM
používá široká škála distribucí, jako Debian, Ubuntu a jeho deriváty, Linspire, Knoppix
nebo například Damn Small Linux.
2.2.1.3 Ostatní distribuce
Mezi ostatní Linuxové distribuce můžeme zařadit jednu z nejstarších – Slackware s
velmi jednoduchým systémem balíčků, Gentoo se systémem Portage odvozeným od
BSD portů, Linux From Scratch – systém, který si musíte sami postavit ze zdrojových
kódů, nebo poměrně nový Arch Linux.
Sem bych zařadil i ostatní systémy UNIXového typu, zejména pak stále více se
prosazující (Free/Open/Net)BSD.
2.2.2 Použité aplikace
Jak už jsem zmínil, jako distribuci jsem zvolil Debian, protože s touto distribucí mám
nejvíce zkušeností. Nejprve je nutné si ujasnit, co od routeru budeme očekávat. V našem
případě to bude jednoduchý NAT a port forwarding. Na to nám stačí běžné linuxové
jádro a konfigurační nástroj iptables. Pro vzdálený přístup budeme využívat SSH,
DHCP a DNS cache server. Potřebné balíčky nainstalujeme příkazem:
aptitude install openssh-server dnsmasq
2.2.3 Konfigurace
Předpokládejme, že máte čistě nainstalovaný systém – před samotným nasazením je
třeba udělat několik zásahů do systému.
Nejprve je potřeba v souboru /etc/network/interfaces nastavit síťová rozhraní –
-3-
informace a příklady konfigurace naleznete v souboru
/usr/share/doc/ifupdown/examples. Po dokončení konfigurace spusťte:
/etc/init.d/networking restart
Další nutná konfigurace je v souboru /etc/dnsmasq.conf: na konec
souboru připojte: interface=eth1 a
dhcp_range=192.168.3.20,192.168.3.200,255.255.255.012h
Poté restartujte dnsmasq:
/etc/init.d/dnsmasq restart
Zbytek systému žádné rozšiřující nastavení nevyžaduje
2.2.3.1 IPTables – paketový filtr
Poznámka: pro nastavení sítě budeme předpokládat, že eth0 je venkovní a eth1 vnitřní
síťová karta. Dále budeme předpokládat, že IP vnějšího rozhraní je 192.168.1.99 a IP
vnitřního rozhraní 192.168.3.1. IP stroje interServer 192.168.3.2, IP stroje intraServer
192.168.3.2. IP důvěryhodného stroje (adminClient) pro vzdálenou stranu 192.168.1.23.
Od routeru budeme vyžadovat následující činnosti:
- ze stroje adminClient je povolen SSH přístup na router
- z rozhraní eth1 jsou všechny požadavky na služby: HTTP, FTP a SSH přeposílány na
intraServer
- z rozhraní eth0 jsou všechny požadavky na služby HTTP a FTP přeposílány na
interServer
- router provádí NAT mezi eth0 a eth1
- všechny ostatní požadavky jsou zahozeny.
A nyní k vlastní realizaci. Nastavení firewallu pro jednoduchost ukládáme do
/etc/rc.local – skript, který se spustí po startu počítače.
#!/bin/sh
# maskarada IP
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# povoleni SSH pristupu jen pro admina
iptables -A INPUT -i eth0 --protocol tcp --destination-port 22 --source 192.168.1.23 -j
ACCEPT
iptables -A INPUT -i eth0 --protocol tcp --destination-port 22 -j DROP
# port forwarding z vnejsku na verejny server (HTTP/S, FTP)
iptables -t nat -A PREROUTING -i eth0 --protocol tcp --destination 192.168.1.9 \
--destination-port 443 -j DNAT --to 192.168.3.3
iptables -t nat -A PREROUTING -i eth0 --protocol tcp --destination 192.168.1.9 \
--destination-port 80 -j DNAT --to 192.168.3.3
iptables -t nat -A PREROUTING -i eth0 --protocol tcp --destination 192.168.1.9 \
--destination-port 21 -j DNAT --to 192.168.3.3
# port forwarding z vnitrni site na intranetovy server (HTTP/S, FTP)
iptables -t nat -A PREROUTING -i eth1 --protocol tcp --destination 192.168.1.9 \
-4-
--destination-port 80 -j DNAT --to 192.168.3.2
iptables -t nat -A PREROUTING -i eth1 --protocol tcp --destination 192.168.1.9 \
--destination-port 443 -j DNAT --to 192.168.3.2
iptables -t nat -A PREROUTING -i eth1 --protocol tcp --destination 192.168.1.9 \
--destination-port 21 -j DNAT --to 192.168.3.2
# ochrana pred podvrzenim IP adres
echo "1" > /proc/sys/net/ipv4/conf/eth0/rp_filter
echo "1" > /proc/sys/net/ipv4/conf/eth1/rp_filter
# a povoleni routovani globalne
echo "1" > /proc/sys/net/ipv4/ip_forward
Soubor uložíme a načteme:
/etc/init.d/rc.local start
Tím je jednoduchá konfigurace firewallu (a vlastně i celého routeru) hotová.
3 Linux jako server
3.1 Volba hardware
Volba vhodného hardware závisí hlavně na využití samotného serveru, z tohoto důvodu
je nemožné doporučit nějakou konkrétní možnost.
3.2 Volba software
3.2.1 Výběr distribuce
Výběr distribuce pro server se prakticky neliší od výběru distribuce pro router.
3.2.2 Použité aplikace
Pro standardní konfiguraci LAMP (Linux, Apache, MySQL, PHP) serveru, se SSH a
FTP přístupem a webovou správou databáze budeme potřebovat následující balíky:
apache2, php5, libapache2-mod-php5, mysql-server, mysql-client, php5-mysql,
phpmyadmin openssh-server vsftpd.
Tyto nainstalujeme: aptitude install apache2 php5 \
libapache2-mod-php5 mysql-server mysql-client \
php5-mysql phpmyadmin openssh-server vsftpd
3.2.3 Konfigurace
Síť se konfiguruje stejným způsobem jako pro router (viz. 1.2.3).
3.2.3.1 Webserver Apache
Konfigurace HTTP serveru Apache je velmi snadná – všechny konfigurační soubory
jsou uloženy v přehledné struktuře v adresáři /etc/apache2. Pokud chceme aby každý
uživatel mohl přes server zveřejnit své stránky (na adrese
http://server/~uzivatelskeJmeno/stranka), je nutné zajistit nahrání modulu do Apache
-5-
mod_userdir. To uděláme vytvořením symbolických odkazů na soubory userdir.conf a
userdir.load z adresáře mods-available/ do adresáře mods-enabled/. V souboru
userdir.conf je možno změnit adresář, který má uživatel ve své domovském adresáři
jako výchozí.
3.2.3.2 FTP server vsftpd
Konfigurace vsftpd serveru je také poměrně jednoduchá – jedná se o úpravu souboru
/etc/vsftpd.conf. Soubor je dobře okomentován, přesto přikládám fungující konfiguraci:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
4 Praktické provedení
K dispozici jsem dostal dva počítače (ten pomalej a Intel Celeron 2.2GHz, 758MB
RAM, 80GB HDD), switch, síťové kabely a připojení k školní síti. Slabší stroj jsem
použil na router a Linux je tam jediný systém. Druhý počítač slouží jako desktop – s
nainstalovaným dualbootem Windows XP Home – Debian Etch. V obou systémech je
nainstalován VirtualBox s jedním Linuxovým serverem – Debian Etch. (Ve Windows
intraServer a v Linuxu interServer). Jedná se o poměrně nepraktické řešení (pro změnu
serveru je nutné restartovat celý stroj), nicméně účelu ukázat možnosti virtualizace na
obou platformách slouží dobře.
-6-

Podobné dokumenty

Příklady otázek ke zkoušce z předmětu PSI 1. Uveďte a

Příklady otázek ke zkoušce z předmětu PSI 1. Uveďte a aplikačni protokol, je soucasti IP-protokolu. Nenajde-li router v routovaci tabulce cílovou síť, ale má v tabulce položku default, pak zvolí směr v položce default. Nemá-li ani default, pak paket z...

Více

Netfilter

Netfilter frameworku. Je zpracován ještě před rozhodováním, zda je paket určen k přesměrování jinam nebo lokálnímu procesu 2. NF_IP_LOCAL_IN: pokud je paket určen pro lokální proces, je tento bod poslední, v...

Více

Skaut Junák Sobíňov

Skaut Junák Sobíňov Proto pro bezpecnost byla zrizena tvrz ku strefeni rozcesti, snad jiz ke konci doby hradni nebo brzy potom, cas zrizeni tvrze nelze presne stanovit. Jest to prv~ opevneni na t6to ceste od Moravy. T...

Více

openMagazin 05/2010

openMagazin 05/2010 Představeno bylo také desktopové prostředí Unity, které bude nasazeno v Ubuntu 10.10 Netbook Edition. Navrženo je pro netbooky a zařízení s dotykovým displejem, tedy potencionálně také pro tablety....

Více

Vložte do CD-ROM mechaniky CD Start a spusťte z

Vložte do CD-ROM mechaniky CD Start a spusťte z aplikace BRÁNA VĚDĚNÍ, kterou najdete ve složce LANGMaster Klient.

Více

taháci - Vrstevnice

taháci - Vrstevnice ● Varianta (variant) - Zdroj může mít jednu nebo více reprezentací s ním spojených v libovolném okamžiku. Každá tato reprezentace se nazývá varianta, to však nutně neznamená, že zdroj podléhá dojed...

Více

Téma 11: Firewall v CentOS

Téma 11: Firewall v CentOS Aby bylo možné použít počítač jako router, je nutné povolit předávání paketů. V souboru /etc/sysctl.conf změníme net.ipv4.ip_forward=0 na net.ipv4.ip_forward=1 . A znovu načteme nastavení příkazem ...

Více

09. Operační systémy PC 1. DOS

09. Operační systémy PC 1. DOS Tato distribuce vychází z distribuce Debian, je však více zaměřena na běžné uživatele, přecházející také z jiných OS. A další distribuce (Fedora; Linspire; Slackware Linux; Turbo Linux; Linux Mandr...

Více

Průvodce připojením

Průvodce připojením 2 Vytvořte tiskovou frontu v programu Print Center nebo nástroji Printer Setup. • Používání tisku AppleTalk a Otevřete okno Finder, klepněte na možnost Applications (Aplikace) a poté na Utilities (...

Více