Ethernet връзка към Internet

За да можете да осъществите връзка по Ethernet, добре би било да имате основни познания по TCP/IP. За целта можете да прочетете например The Linux Network Administrator's Guide, Second Edition (FIXME: link към pdf-а на български, пуснат от softpress) съсредоточите основно върху главите, които дават добра начална информация и представа за мрежовата инфраструктура на GNU/Linux.

От Debian GNU/Linux 2.2 Potato насам мрежовите настройки се пазят изключително в /etc/network, а самото пускане и спиране на мрежовата свързаност става с /etc/init.d/networking. Изключение правят само PCMCIA (PC-Card базираните мрежови карти. Нека първо обърнем внимание на /etc/network/interfaces, където става същинското конфигуриране на интерфейсите. Тук конфигурираме eth0 с IP адрес 192.168.1.120, мрежова маска 255.255.255.0 и шлюз по подразбиране 192.168.1.1; същевременно подсигуряваме автоматичното му вдигане с директивата auto:

auto eth0
iface eth0 inet static
        address 192.168.1.120
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1

Понякога се налага да се изпълнят допълнителни команди преди вдигането на интерфейс с цел неговата по-специална конфигурация. Поради това iface частта поддържа клаузите pre-up и post-down. Както interfaces(5) обяснява, ролята на тези клаузи е следната:

Клаузата pre-up изпълнява командите, намиращи се непосредствено след нея преди даденият интерфейс да бъде вдигнат. Това е изключително удобно, ако например ви се налага да смените хардуерният (още наричан MAC) адрес на вашата мрежова карта. Това може да стане преди вдигането на съответният интерфейс, и се осъществява от следната команда (поставена някъде в iface блока - например непосредствено след редът iface eth0 inet static от примерът по-горе):

        pre-up ifconfig eth0 hw ether AB:CD:EF:AB:CD:EF
Така написана тази команда сменя хардуерният адрес на адаптерът, асоцииран с eth0 на AB:CD:EF:AB:CD:EF. Това е изключително удобно, ако например ви се е наложило да смените мрежовата си карта, но ЛАН доставчикът контролира достъпът на машината по MAC адрес.

ВНИМАНИЕ! Смяната на MAC адрес, макар и в повечето случаи безобидна, може да доведе до сериозни мрежови проблеми в случай, че дублира вече съществуващ такъв адрес.

Клаузата post-down е подобна като действие на pre-up с разликата, че командите след нея се изпълняват след свалянето на даденият интерфейс.

И двете клаузи могат да се появят повече от един път за всеки интерфейс и изискват командите, които изпълняват, да завършат успешно. За повече информация вижте interfaces(5).

Ако вашият Интернет доставчик разполага с DHCP сървър, който автоматично снася на клиентите мрежови настройки, то в /etc/network/interfaces можете да напишете:

auto eth0
iface eth0 inet dhcp

За конфигурирането на IP свързаност съществуват и други методи за конфигуриране на интерфейси, сред които bootp, ppp и wvdial, но за тях няма да говорим тук. За по-подробна информация относно възможностите за конфигуриране на /etc/network/interfaces може да погледнете в interfaces(5), а също ifup(8) и ifdown(8).

Във файла /etc/network/options също има някои интересни настройки. Например така се определя дали да се активира прехвърлянето на пакети между интерфейсите, като се установи във включено положение /proc/sys/net/ipv4/ip_forward:

ip_forward=yes

Така се установява т.нар ``филтър на обратния път'', чрез който се проверява дали изходния адрес на пакетите съответства с нашата маршрутизираща таблица и се подсигурява пакетите с точно този изходен адрес да получат отговор през мрежовия интерфейс, от който са влезли.

spoofprotect=no

С последната опция се установява защита срещу една доста популярна в миналото атака, наречена syn flooding. За целта трябва да имате необходимата поддръжка в ядрото.

syncookies=no

Разбира се, за да можете да достъпвате уеб, пощенски и всякакви други сървъри по техните имена, например www.yahoo.com, а не по адреси от вида 216.109.117.205, ще е необходимо да редактирате файла /etc/resolv.conf:

search <домейн-име на вашия доставчик>

nameserver <IP на сървър за имена 1>
nameserver <IP на сървър за имена 2>



Nikola Antonov 2004-10-31