Настройка сети под ОС Linux
Установка сетевой платы
Для начала авторизуйтесь в системе под root'ом. Настройка сети включает в себя следующие этапы:
- установка модуля сетевой платы
- настройка параметров сети
Модуль
сетевой платы уже должен быть установлен, кроме того случая, когда сетевая плата
приобреталась после установки системы. Запустите конфигуратор DrakConf.

Далее в окне Network configurator щелкаем на кнопке Basic host information и в открывшемся окне вводим имя машины, затем на вкладке Adaptor 1 следует его (адаптер) активизировать (Enabled). Затем водим информацию о нашей сети и о нашей плате (IP адрес, сетевая маска, IO Port, Irq). В поле NetDevice укажите тип сетевого устройства - в нашей случае eth0 (от Ethernet), а в поле Kernel Module - имя модуля ядра, которое соответствует вашему сетевому адаптеру (например модуль ne2k-pci соответствует плате NE2000 PCI).
Внимание! Если Вы используете сетевую плату PCI (например, ne2k-pci) IO Port и IRQ устанавливать не нужно!
Большинство сетевых плат совместимо с NE2000 или NE2000-PCI.
Затем возвращаемся к окну конфигуратора сети и настраиваем DNS. Активизируем DNS, вводим IP адреса сервера(ов) и перечисляем нужные нам домены. Нужную информацию можно узнать у администратора.
Если у вас
небольшая домашняя сеть, то скорее всего, сервера DNS у вас не будет, а для
преобразования IP
адресов в имена машин служит файл /etc/hosts
Тогда ваша задача еще проще - откройте этот файл в любом текстовом редакторе и
добавьте строку типа
IP_Addr hostname
где IP_Addr - ваш IP адрес, а hostname - имя вашей машины
Также туда следует добавить адреса и имена машин в вашей сети.
Затем нужно
установить адрес шлюза (gateway) по умолчанию (Routing and gateways)
При использовании сервера доменных имен еще нужно установить порядок поиска
адресов. Это можно
сделать в окне Name service access сетевого конфигуратора (Host name search
path): hosts, dns Это означает,
что система сначала будет использовать локальную базу данных адресов, а затем
обращаться к серверу
DNS. Не отключайте режим Multiple IPs for one host
Настройки DNS
хранятся в файлах /etc/hosts.conf и /etc/resolv.conf
Это все можно сделать и вручную - без конфигуратора DrakConf (я это пишу на тот
случай, когда у вас не
запускается сервер Х) - программа может запускаться и из-под консоли.
|
Теперь можно
проверить настройки сети. Для этого воспользуемся командой
ping 127.0.0.1
127.0.0.1 - адрес обратной петли, т.е. все пакеты, которые отправляются на этот
ардес на самом деле не
выходят за пределы локальной машины и возвращаются к ней. Этот адрес
зарезервирован для служебных
целей и может служить для проверки конфигурации сети. Если у вас возникли
проблемы с этим адресом,
активизируйте сервис network. При правильной настройке ваша
таблица маршрутизации должна выглядеть
подобным образом
[root@dhsilabs /etc]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.1 0.0.0.0 255.255.255.0 U 0 0 12 eth0
127.0.0.1 0.0.0.0 255.0.0.0 U 0 0 1 lo
Теперь можно пропинговать свою машину по IP адресу ее интерфейса eth0 и по ее
имени (ping
192.168.1.1 ping dhsilabs или ping localhost)
Убедившись, что проблем с локальными настройками не возникает, можно
пропинговать какую-нибудь
удаленную машину из вашей сети. Возникновение проблем на этот этапе обусловлено
следующим:
неправильность
настроек на удаленной машине
неисправность сетевого оборудования
удаленная машина просто выключена :)
Настройка шлюза
Настраиваем
сетевые интерфейсы:
например у нас есть две сетевые платы eth0 и eth1
ifconfig eth0 192.168.1.1 up
ifconfig eth0 192.168.2.1 up
Нам нужно
обеспечить маршрутиризацию между подсетями 192.168.1.0 и 192.168.2.0
Объявляем, что машины, которые находятся в нашем локальном сегменте 192.168.1.*
сидят на первом
интерфейсе и общаться с ними нужно напрямую
route add net 192.168.1.0 192.168.1.1 netmask 255.255.255.0 0
А с машинами с адресами 192.168.2.* будем разговаривать через eth1
route add net 192.168.2.0 192.168.2.1 netmask 255.255.255.0 0
Последний параметр - это метрика. Ее можно понимать как "расстояние до
шлюза-назначения" или "сколько
пересадок между шлюзами придется сделать пакету по пути и обратно). Т.к. адреса
192.168.1.1 и 192.168.2.1
являются нашими собственными адресами, то метрика равна 0
Сетевые пакеты для
IP-адресов, которые не лежат в нашей локальной сети, будем отправлять на машину
192.168.1.11, а она сама будет разбираться, что с ними делать
route add default 192.168.1.11 1
Обратите внимание на значение метрики = 1
Настройка сервера DNS (BIND)
Напомню, что
основной задачей сервера доменных имен (Domain Name System) является
преобразование
мнемонических имен машин в IP-адреса и обратно.
Учитывая, что на обращение к серверу DNS провайдера требуется 10-15, а иногда и
все 30 секунд (это
зависит от загрузки сети и от скорости соединения), установка сервера DNS в
локальной сети с выходом в
Internet является просто необходимой.
Обычно сервер DNS устанавливается на шлюзе, который используется для выхода в
Internet.
Прежде чем приступить к настройке сервера, нужно определить запущен ли он
ps -ax | grep named
Если он запущен, его нужно остановить (или с помощью команды kill или ndc), а
если он вообще не
установлен, то вам придется установить пакет bind. Обратите внимание, что
исполнимый файл
называется named, а сам пакет - bind
Для работы сервера должен быть активизирован сервис network
Теперь приступим к непосредственной настройке сервера
В файле /etc/named.conf содержится основная информация о параметрах сервера
logging {
category cname {null; };
};
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.ca";
};
zone "dhsilabs.com" {
type master;
file "dhsilabs.com";
notify no;
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "192.168.1";
notify yes;
};
Основной каталог
сервера - /var/named. В нем сервер будет искать файлы named.ca, dhsilabs.com,
named.local,
192.168.1
Обслуживаемая нашим сервером зона (домен) - dhsilabs.com
Файл named.ca -
корневой кэш - содержит информацию о корневых серверах DNS. Позже мы займемся
его
обновлением.
Файл dhsilabs.com (для преобразования имен в IP-адреса)
@ IN SOA
den.dhsilabs.com. hostmaster.dhsilabs.com. (
93011120 ; серийный номер
10800 ; обновление каждые 3 часа
3600 ; повтор каждый час
3600000 ; хранить информацию
1000 часов
86400 ) ; TTL
записи
- 24 часа
IN NS den.dhsilabs.com.
IN A 192.168.1.1
IN MX 150 den.dhsilabs.com.
den IN A 192.168.1.1
IN HINFO INTEL CELERON (LINUX)
IN MX 100 den
IN MX 150 evg.dhsilabs.com.
ns IN CNAME den.dhsilabs.com.
www IN CNAME den.dhsilabs.com.
ftp IN CNAME den.dhsilabs.com.
mail IN CNAME den.dhsilabs.com.
evg IN A 192.168.1.2
IN MX 100 den.dhsilabs.com.
localhost IN A 127.0.0.1
Запись
NS
обозначает
name server.
A - IP -
адрес
MX - почтовик <приоритет> Чем ниже, тем выше приоритет
HINFO - сведения об аппаратном обеспечении (заполнять не рекомендую)
TXT - прочие сведения
CNAME - каноническое имя, т.е. если вы в окне броузера введете
http://www.dhsilabs.com, то
обращение будет произведено к den.dhsilabs.com
Обратите внимание
на точку в конце
@ IN SOA den.dhsilabs.com. hostmaster.dhsilabs.com. (
Если точка не указана, то к имени будет добавлено имя домена (т.е. dhsilabs.com)
Файл 192.168.1 или файл обратного соответствия
@ IN SOA
den.dhsilabs.com. hostmaster.dhsilabs.com. (
93011120 ; серийный номер
10800 ; обновление каждые 3 часа
3600 ; повтор каждый час
3600000 ; хранить информацию 1000 часов
86400 ) ; TTL записи - 24 часа
@ IN NS den.dhsilabs.com
1 IN PTR den.dhsilabs.com
2.1.168.192 IN PTR evg.dhsilabs.com
Запись PTR
используется для преобразования IP-адреса в имя.
Если указан не весь IP
1 IN PTR den.dhsilabs.com
то к нему будет добавлен адрес подсети 1.168.192
IP-адреса указываются в обратном порядке!
Для установки
файла кэша можно установить пакет caching-nameserver, а можно и получить самую
новую
версию. Для этого
1. подключитесь к Интернет
2. запустите сервер DNS
Затем выполните
команду
# nslookup | tee ns
В ответ на
приглашение программы nslookup введите две команды
> set q=ns (или set type=ns)
> .
На экране вы
увидите список корневых серверов DNS, который будет помещен в файл ns.
Для преобразования файла ns в формат named.ca воспользуйтесь следующей
программкой на awk reformat
#!/bin/awk
awk ' BEGIN {
/root/ { print ". IN NS " $4"." }
/internet/ { print $1"." " 999999 IN A " $5 }
END '
Использовать
ее
нужно
так
reformat <source file> <output file>
reformat ns named.ca
Теперь осталось скопировать named.ca в каталог /var/named
Настройка Proxy
Нужно огвориться,
если вы являетесь единственным клиентом в сети - особого смысла устанавливать
прокси нет, т.к. он только замедлит быстродействие. Если же в вашей сети хотя бы
3 клиента, то, установив
кэширующий прокси, вы не только увеличите скорость доступа к Интернет, а и
немного сэкономить.
Установите пакет
squid
Осталось настроить и запустить его. Для этого нужно отредактировать файл
конфигурации
/etc/squid/squid.conf
Сначала укажем
адрес прокси провайдера
cach_peer proxy.your_isp.com
Устанавливаем
объем ОЗУ, который будет используется прокси
cache_mem
Если вы планируете использовать этот компьютер еще и для других целей, кроме
прокси, не
устанавливайте здесь более трети физического объема ОЗУ
Теперь укажем, где
будет располагаться кэш. Если у вас несколько жестких дисков, разместе кэш на
самом
быстром из них
cache_dir /usr/local/squid 2048 16 256
Первое число - это количество Мб для кэша
Укажем хосты, с
которых разрешен доступ к прокси
acl allowed_hosts src 192.168.1.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
разрешенные SSL порты: acl SSL_ports port 443 563
запретим метод
CONNECT для всех портов, кроме указанных в acl SSL_ports:
http_access deny CONNECT !SSL_ports
и
запретим
доступ
всем,
кроме
тех,
кому
можно:
http_access allow localhost
http_access allow allowed_hosts
http_access allow SSL_ports http_access deny all
пропишем
пользователей,
которым
разрешено
пользоваться
squid (den, admin, developer):
ident_lookup on
acl allowed_users user den admin developer
http_access allow allowed_users
http_access deny all
Тэги maxium_object_size и maxium_object устанавливают ограничения на размер передаваемых объектов.
Ниже приведен
пример запрета доступа к любому URL, который соответстует шаблону games и
разрешения
доступа ко всем остальным
acl GaMS url_regex games
http_access deny GaMS
http_access allow all