Linux - Алексей Стахнов
Шрифт:
Интервал:
Закладка:
Однако не будет лишним убедиться перед началом настройки системы, что в ядре вашей операционной системы присутствуют следующие необходимые для построения маршрутизатора элементы (функции):
• Networking support (поддержка сетевых свойств);
• TCP/IP networking (поддержка TCP/IP);
• IP forwarding/gatewaying (поддержка IP-маршрутизации);
• IP multicasting (поддержка специфических свойств IP-протокола);
• IP firewalling (поддержка брадмауэров);
• IP accounting (поддержка управления IP);
• Network device support (поддержка сетевых устройств).
Помимо этого, ядро операционной системы должно уметь работать с сетевыми картами, установленными на вашем компьютере, и поддерживать протокол РРР (Point-to-Point Protocol).
Само собой, следует правильно настроить сетевое оборудование, IP-адреса и т. п.
Связь с провайдером
Для подключения локальной сети к Интернету при помощи модема обычно используют два варианта. Первый из них предназначен для тех, кто платит за трафик, а второй используется теми, кто оплачивает проведенное в Интернете время.
В первом случае выход в Интернет осуществляется при помощи стандартного для Linux набора программ – pppd, chat и, возможно, еще нескольких скриптов. Происходит это следующим образом – вначале маршрутизатор дозванивается до провайдера и устанавливает с ним связь по протоколу РРР или по протоколу SLIP, который сейчас используется крайне редко. После установления соединения полученным каналом может пользоваться любой компьютер в вашей локальной сети (при соответствующей настройке). Канал удерживается до тех пор, пока не выключится ваш маршрутизатор или администратор явным образом не разорвет соединение.
Второй вариант – модификация первого, в англоязычной литературе он носит название dial on demand (звонок по требованию). Для его организации дополнительно используется программа diald, с помощью которой можно организовать работу таким образом, что если в течение заранее обусловленного времени не происходит обмена данными между локальной сетью и Интернетом, то diald разрывает соединение. При первой же попытке пользователя подключиться к Интернету diald снова дозванивается и устанавливает связь.
Поскольку второй вариант более сложный – будем рассматривать его как основной для организации нашего маршрутизатора.
Схема организации подключения локальной сети
Ниже приведены требования, которым должно удовлетворять подключение локальной сети к Интернету.
• Возможность доступа в Интернет – модем, телефонный номер и подключение к провайдеру.
• Набор программ для организации связи – pppd, chat и diald.
• Средство для управления брандмауэром – утилиты ipchains или iptables.
• Средство для ограничения трафика (если необходимо).
• Программное обеспечения для организации proxy-сервера.
• Программное обеспечение для учета и просмотра статистики.
Теперь, когда цели и средства известны, можно приступать к настройке программ.
Организация связи по коммутируемому соединению
Старейший вариант соединения с провайдером, и, к сожалению, наиболее распространенный в нашей стране. По сравнению с организацией связи по выделенному каналу представляет собой схему более сложную, поэтому рассмотрим ее первой.
Настройка программ
Будем считать, что на компьютере, который будет выходить в Интернет, правильно настроены сетевые параметры, и вы убедились в работоспособности локальной сети. Следующий шаг – добиться устойчивой связи с провайдером на вашем компьютере-маршрутизаторе.
Настройка связи с провайдером
Настроим подсистему дозвона и соединения с провайдером. Для удобства разобьем работу на два этапа:
1. Настройка РРР-соединения.
2. Установка и конфигурирование демона дозвона по требованию (diald).
Настройку модемного соединения мы здесь рассматривать не будем, поскольку это достаточно простая задача, и очень подробно рассмотрена в работе одного из отечественных патриархов Linux – В. Водолазкого "Установка РРР-соединения в Linux".
Почему мы используем протокол РРР? Основные преимущества протокола РРР по сравнению с протоколом SLIP состоят в следующем:
• назначение IP-адресов в РРР реализуется с помощью демона pppd, что значительно упрощает процесс конфигурирования при использовании динамических IP-адресов;
• коррекция ошибок, возникающих при передаче данных, осуществляется между компьютером провайдера и клиента, а не между удаленным компьютером, откуда берутся данные, и потребителем, как в протоколе SLIP.
Для организации связи между провайдером и клиентом необходимо получить данные, представленные в табл. 30.1.
Таблица 30.1. Необходимые данные для настройки модемного соединения
Процесс установления связи между вами и провайдером состоит из следующих этапов:
• соединения с компьютером провайдера с помощью модема;
• регистрации пользователя в удаленной системе;
• установки РРР-соединения.
Для решения этих задач в Linux используется небольшой набор скриптов, каждый из которых выполняет какую-то небольшую функцию. А поскольку это набор скриптов – никто не мешает на их базе определить именно те действия, которые необходимы вам при установлении или обрыве РРР-соединения.
Размещение скриптов зависит от настройки и предпочтений вашего дистрибутива. В современных версиях дистрибутива Red Hat используется два места – каталоги /etc/ррр и /etc/sysconfig/network-scripts. Наименования скриптов так же могут быть произвольными и очень часто зависят от предпочтений сборщика дистрибутива или системного администратора.
Для нашего случая будем считать, что у нас есть следующие файлы:
• /etc/ppp/chap-secrets – этот файл используется для аутентификации пользователя провайдером по протоколу chap. Обычно содержит имя и пароль пользователя для входа к провайдеру. В нашем случае это будет выглядеть следующим образом:
myname * vasya
• /etc/ppp/pap-secrets – этот файл используется для аутентификации пользователя провайдером по протоколу рар. Обычно содержит имя и пароль пользователя для входа к провайдеру. В нашем случае это будет выглядеть следующим образом:
myname * vasya
• /etc/ppp/ip-up – данный скрипт используется для соединения с провайдером. Зачастую этот файл содержит только следующую строку:
/usr/sbin/pppd
Здесь можно настроить установление модемом соединения с провайдером или вызвать необходимый скрипт или программу;
• /etc/ppp/ip-down – этот файл используется для разрыва соединения с провайдером;
• /etc/ppp/options – это, пожалуй самый сложный и ответственный файл. Он определяет параметры нашего модема, скорость передачи по последовательному интерфейсу данных, настройки программы pppd и некоторые другие параметры. Обычно файл /etc/ppp/options оставляют неизменным, а для конфигурирования параметров соединения создают копию файла с именем /etc/ppp/options.ttySX, где ttySX – имя последовательного порта, к которому подключен наш модем. Пусть для определенности модем подключен к ttyS0 (СОМ1).# Устройство
/dev/ttyS0
# Скорость
115200
mru 1500
# наш интерфейс: удаленный интерфейс
192.168.0.100:192.168.0.101
# маска подсети
netmask 255.255.255.0
bsdcomp 0
chap-interval 15
debug
crtscts
defaultrouteПервые две строки определяют последовательный порт, к которому подключен наш модем, и скорость, на которой будет происходить обмен между модемом и последовательным портом. Далее – обратите внимание на строку со следующим содержимым:
192.168.0.100:192.168.0.101
Эта строка определяет IP-адреса нашего последовательного интерфейса и провайдера. Такую строку необходимо добавить, если провайдер выдал нам постоянный IP-адрес. Как правило, в современном мире с коммутируемыми соединениями такого не происходит. Для статического IP-адреса также необходимо задать маску подсети.
Поскольку наш компьютер является маршрутизатором для локальной сети, необходимо настроить маршрутизацию. Для этого воспользуйтесь программой route и идущей с ней документацией. В том случае (а мы предположили, что точка подключения к провайдеру у нас одна) если у вас одно подключение к провайдеру, то можно в конец файла вписать команду default route, что позволит вам добавить маршрут в системную таблицу маршрутизации, используя удаленную сторону как шлюз.
Команды pppdДалее мы рассмотрим основные команды программы pppd (табл. 30.2).
Таблица 30.2. Основные команды программы pppdКак видите, параметров много и для полного понимания вопроса необходимо изучить соответствующую документацию.
Настройка diald
Обычно программа diald входит в стандартный дистрибутив, и установка ее с помощью менеджера пакетов rpm занимает совсем немного времени. После установки необходимо привести стандартную конфигурацию программы diald в соответствие с нашими реалиями.
Чтобы лучше понять то, что мы будем делать дальше, немного о принципе работы программы diald. Программа создает соединение на псевдотерминале и устанавливает маршрутизацию на получившийся интерфейс. После этого она начинает отслеживать пакеты, проходящие по виртуальному каналу. Если кто-то пытается выйти в Интернет, diald перехватывает данные, анализирует их и на основе правил, определяемых администратором, присваивает им определенные тайм-ауты. Далее пакеты отправляются по назначению, а тайм-ауты заносятся в так называемый набор соединения. Как только в наборе появляется первый тайм-аут, diald начинает дозваниваться до провайдера и пытается установить соединение. Организовав сеанс связи, демон переустанавливает маршрутизацию на реальный канал. Таким образом, связь с внешним миром оказывается установленной.