Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
эта страница доступна на следующих языках: English  Castellano  Deutsch  Francais  Italiano  Nederlands  Russian  Turkce  Arabic  

[Фото автора]
Автор Guido Socher

Об авторе:

Гвидо давно является сторонником Linux. Его домашняя страница, посвященная этой ОС находится на : www.oche.de/~bearix/g/.

Содержание:

Настройка IP-Masquerade

[Иллюстрация]

Резюме:

IP-Masquerade предоставляет возможность использования Интернета несколькими компьютерами через компьютер, работающий под ОС Linux с доступом в Интернет. Это значит, что вы можете использовать Интернет всей локальной сетью, в то время, ваш ISP(internet service provider) будет регистрировать только одно соединение. В этой заметке рассказывается как сконфигурировать IP-Masquerade в ядре версии 2.2.х. Заметка не рассматривает вопросы построения сетей. Для понимания основ компьютерных сетей я рекомендую посмотреть заметку в январском выпуске о домашних сетях.



 

Введение

Использование IP-Masquerade, описываемое в данной заметке, подразумевает наличие ОС Linux с ядром версии 2.2.х. Этот компьютер используется для работы в Интернет. Наличие ОС Linux на компьютере, используемом для совместного доступа в Интернет, не подразумевает наличия этой ОС на клиентских компьютерах.
Компьютер, о которм идет речь в этой заметке, должен иметь соединение с Интернет с одной стороны и с локальной сетью с другой. Следовательно компьютер имеет два IP-адреса. Один из них для доступа в Интернет - он назначается вашим ISP каждый раз, когда вы устанавливаете модемное соединение с ним(или другое соединение, используемое вами). Другой IP-адрес для локальной сети, который вы определяете из следующих диапазонов:

Эта заметка не рассматривает вопросы построения сетей. Я подразумеваю, что ваша локальная сеть установлена и сконфигурирована.  

Принципы IP-Masquerade

Основная задача IP-Masquerade-трансляция внутреннего IP-адреса во внешний. Это называется-трансляцией сетевых адресов(NAT). ОС Linux выполняет это используя номера портов. Из внешнего мира все соединения будут выглядеть исходящими из этого компьютера. Подробная информация в январском номере.

Иногда IP-пакеты специфичны и IP-Masquerade возможно не будет работать для всех приложений, но во многих случаях оно работает. Существуют различные модули-для ICQ, для ftp, для Quake, которые необходимо встроить в ядро для корректной работы этих приложений из локальной сети. Но в общем, приложения, использующие только HTTP(браузеры), telnet, ssh или smtp(электронная почта) будут работать корректно.  

Установки ядра

Пользователи, использующие не входящее в стандартную поставку ядро любого крупного дистрибьютора ОС Linux(RedHat, Mandrake, Debian, Suse), могут пропустить этот раздел, т.к. ядро их ОС уже подготовлено к использованию IP-Masquerade.

Я обычно делаю резервную копию /usr/src/linux/.config после компиляции стабильно работающего ядра. В следующий раз, когда мне необходимо перекомпилировать ядро, я восстанавливаю резервную копию и получаю ядро предыдущей конфигурации. Затем относительно просто можно сконфигурировать небольшие изменения - такие как IP-Masquerade.

Для использования IP-Masquerade подтвердите использование следующих опций при конфигурации ядра. Эти компоненты необходимы для IP-Masquerade, также выберите другие, специфичные для вас, опции.

 

Конфигурирование IP-Masquerade

Для автоматизации процесса конфигурирования IP-Masquerade напишем небольшой скрипт. Поместим его в /etc/rc.d/init.d/ и назовем ipmasq. Изменим права доступа с помощью команды chmod 755 ipmasq - чтобы сделать его исполняемым. Скрипт подразумевает, что локальный адрес компьютера 192.168.0.1(ifconfig eth0 192.168.0.1 netmask 255.255.255.0). Измените скрипт при необходимости. На рисунке изображена структура сети, используемая нами.

структура сети

#!/bin/sh
echo "Setting up IP masquerading ..."
# People still using windows to surf the web must convert this
# to a UNIX text file before using it.
#
# Support masquerading of FTP file transfer.
/sbin/modprobe ip_masq_ftp
#
#--------------
# Note: the modules below are commented out from loading. Remove the
# comment sign if you want to use the corresponding applications form
# one of the computers inside your internal network.
#
# Support masquerading of RealAudio over UDP.
#/sbin/modprobe ip_masq_raudio
#
# Supports the masquerading of IRC DCC file transfers
#/sbin/modprobe ip_masq_irc
#
# Support masquerading of Quake and QuakeWorld
# Quake I / QuakeWorld (ports 26000 and 27000)
#/sbin/modprobe ip_masq_quake
#
# Quake I/II/III / QuakeWorld (ports 26000, 27000, 27910, 27960)
#/sbin/modprobe ip_masq_quake ports=26000,27000,27910,27960
#
# Support masquerading of the CuSeeme video conferencing software
#/sbin/modprobe ip_masq_cuseeme
#
#Support masquerading of the VDO-live video conferencing software
#/sbin/modprobe ip_masq_vdolive
#--------------
# Important: Enable IP forwarding. It is disabled by default in
# the 2.2.x Kernels
echo "1" > /proc/sys/net/ipv4/ip_forward
#
# NOTE: This is an example for an internal Network address of
# 192.168.0.x The sub netmask is 255.255.255.0 or "24" bit
# Please change this if you use different internal IP addresses.
#
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -s 192.168.0.0/24 -j MASQ
#
#--- end of file
Перед запуском этого скрипта убедитесь, что все компьютеры вашей локальной сети в качестве шлюза по умолчанию(!!!) имеют IP-адрес 192.168.0.1(маскируемый Linux хост). Скрипт запускается с привилегией root на маскируемом хосте. По завершении работы скрипта выполните команду 'ping' с любого компьютера вашей локальной сети к любому компьютеру в Интернет(например: ping 195.53.25.18).
Если команда завершена успешно-IP-Masquerade сконфигурировано верно. Попробуйте также: ping www.linuxfocus.org. Результат должен быть тот же. Если команда ping возвращает ошибки-проверьте файл /etc/resolv.conf на компьютерах локальной сети. Этот файл должен присутствовать на каждом компьютере с указанным в нем именем сервера DNS(domain name system) вашего ISP(internet service provider).
На компьютерах локальной сети, работающих под ОС Windows 9x, необходимо связать сетевую конфигурацию TCP/IP стека с сетевой картой и активизировать DNS(domain name system) добавлением сервера DNS(domain name system) вашего ISP(internet service provider) в поле Search order for DNS server.
Если команда 'ping' завершена успешно-значит другие приложения(например браузер) тоже будут работать.

Наконец необходимо изменить конфигурацию таким образом, чтобы скрипт /etc/rc.d/init.d/ipmasq выполнялся автоматически при каждой загрузке ОС. По моему мнению, лучшее решение-отредактировать файл /etc/rc.d/init.d/network(этот файл уже есть в вашей системе)-выполнить /etc/rc.d/init.d/ipmasq В КОНЦЕ "start" секции этого файла. Найдите оператор 'case' и дальше "start)".  

Заключение

Как видите процесс конфигурации IP-Masquerade не сложен. IP-Masquerade- необходимое приложение для домашних, школьных и офисных сетей.

Более подробная информация содержится в IP-Masquerading mini howto и IPCHAINS-HOWTO.

Для использования IP-Masquerade прежде всего необходимо правильно сконфигурировать сеть. Об этом можно подробнее прочитать в заметках : Home networking article, Net 3 howto, The Network Administrator Guide. Я планирую написать еще одну заметку по сетевой тематике позже в этом году, но может быть вы не хотите так долго ждать :-)


Webpages maintained by the LinuxFocus Editor team
© Guido Socher
LinuxFocus.org 2000

Click here to report a fault or send a comment to Linuxfocus
Translation information:
en -> -- Guido Socher
en -> ru Kirill Poukhliakov

2000-07-05, generated by lfparser version 1.5