tučňák
Vybrat další barevné schéma
VýchozíZelenýModrýČernýZlatý
opona
opona

google


Připojení PC k internetu přes router

Návod na to, jak připojit počítačovou síť do internetu pod Linuxem.

V dnešní době je připojení k internetu součástí téměř každého domácího počítače. Ať již je počítač připojený pomocí tel. linky (modemem,ISDN) nebo bezdrátového připojení do sítě internet, častým problémem je sdílení tohoto připojení. Máme-li PC připojené k internetu tel. linkou nebo např. bezdrátovým připojením, téměř vždy je počítači přidělena jedna IP adresa od poskytovatele připojení. Pokud ale vlastníme několik dalších počítačů, tj. malou lokální síť, bylo by jistě příjemné, aby každý počítač měl přístup na internet. Mějme tedy předpoklad, že máme již funkční lokální síť i připojení k internetu jedním počítačem, který bude pro nás server.

Naše síť může vypadat třeba takto:

PC1 (server): 192.168.1.1 ippp0, eth0
PC2 : 192.168.1.2 eth0
PC3 : 192.168.1.3 eth0

Kde PC1 je připojené do internetu pomocí ISDN přípojky (což není podstatné, podstata je vždy stejná).


IP-Masquerade

Počítače, které jsou v lokální síti, mají přidělené lokální (privátní) IP adresy, jež se nedají použít pro komunikaci s internetem, takže s internetem může komunikovat jen naše PC1, které má přidělenou IP adresu jak privátní (eth0) tak i od poskytovatele internetu (ippp0). Aby mohli i ostatní počítače komunikovat s internetem, musíme sprovoznit router (naše PC1), který bude pakety z rozhraní eth0 (tj. od okolních lokálních PC) maskovat svojí IP adresou, kterou má přidělenu pro komunikaci s internetem. Takže do internetu budou všechny pakety putovat s IP adresou PC1 (např. 1.2.3.4) a všechny příchozí pakety z internetu se budou na našem routeru (PC1) překládat na adresy lokální sítě. K tomuto slouží tzv. IP-Masquerade (maškaráda).

Nejprve je nutné mít podporu Netfilteru v jádře (zde uvažuji jádra 2.4):

Networking options
- Network packet filtering [y]

IP Netfilter Configuration
- IP tables support [m]
- FTP protocol support [m]
- Full NAT [m]
- packet filtering [m]
- MASQUERADE target spupport [m]

(tohle je úplné minimum, pro naše účely stačí, ale pokud budete chtít tvořit různá filtrovací pravidla, doporučuji dát i vše ostatní do modulů)

Další předpoklad, je nutné mít nainstalovaný balíček iptables.

Pokud to vše máme, musíme povolit IP-forwarding:

echo "1" > /proc/sys/net/ipv4/ip_forward

nebo v /etc/sysctl.conf nastavit: net.ipv4.ip_forward = 1

u distribuce RedHat je možné nastavit v /etc/sysconfig/network FORWARD_IPV4=yes

Dále nastavíme pravidla pro překládání IP adres:

iptables -t nat -A POSTROUTING -o ippp0 -j MASQUERADE -s 192.168.1.0/24

(tímto pravidlem stanovíme, že pokud příjde z lokální sítě paket, který má v úmyslu opustít router a putovat do sítě internet přes zařízení ippp0, bude jeho původní IP adresa zamaskována adresou routeru - PC1)

Pro zvýšení bezpečnosti můžeme nastavit jednoduchý (ale účiný) firewall:

iptables -A INPUT -m state --state ESTABLISHED,RELATED --j ACCEPT

iptables -A INPUT -m state --state NEW -i eth0 -j ACCEPT

iptables -A INPUT -m state --state NEW -i lo -j ACCEPT

iptables -A INPUT -p icmp -j ACCEPT

iptables -P INPUT DROP

Pravidla pro routovací tabulku se musí zadávat po každém restartu PC znovu, je tedy výhodné napsat si je do nějakého skriptu, který se bude spouštět při bootování, nebo před připojením k internetu.


Povolení služeb

Je-li v lokální síti spuštěná služba ftp, telnet, nebo mnoho dalších, jistě je žádoucí, aby byla pro vnější svět, tedy internet z důvodu bezpečnosti nedostupná. Toho se docílí použitím tzv. superserveru xinetd (dříve) inetd. Princip je v podstatě takový, že xinetd naslouchá na všech portech, pokud dojde na některý port požadavek o použití jisté služby (třeba ftp), xinetd prověří, je-li IP-adresa z níž jde požadavek povolena. Pokud ano, dojde k sjednání spojení, pokud ne, je spojení přerušeno.

Soubory /etc/hosts.allow a /etc/hosts.deny

/etc/hosts.allow - uvádí povolené IP-adresy, pro přístup ke službám např.: ALL:ALL - všem IP adresám povoleny všechny služby ALL:192.168.1.1 - této IP adrese je vše povoleno in.ftpd:192.168.1.2 - tato IP adresa může používat ftp

/etc/hosts.deny - uvádí zakázané IP-adresy, pro přístup ke službám např.: ALL:ALL - všem IP adresám vše zakázané ALL:192.168.1.3 - této IP adrese je vše zakázané

Vhodné je v hosts.deny vše zakázat a v hosts.allow povolit služby jen určitým adresám.

 
Pocet navstev: 110826