Подключение сети офиса в Интернет через Ethernet.



Автор Черноусов Антон
toshik-star@bsdportal.ru
Оригинал: bsdportal.ru

Содержание


1. Подключение к локальной сети предприятия.
1.1. Установка Midnight Commander.
1.2. Настройка сетевого адаптера.
1.3. Продолжаем хулиганить.
2. Подключение к сети провайдера.
2.1. Настройка Firewall
2.2 Подключение к сети провайдера.
3. Прокси сервер
4. Необходимое послесловие.

Предисловие


Материал, изложенный ниже, изначально был предназначен для студентов третьего курса как введение в новую для них область деятельности. Поэтому цель, которую преследовал автор при изложении материала, - максимально доступно преподнести информацию для понимания студентами. Материал не претендует на уникальность и категоричность, а любые комментарии, пожелания и исправления приветствуются.

Одна из классических задач решаемых любым системным администратором - это подключение локальной сети предприятия к Интернету. В этой статье автор рассмотрит один из возможных вариантов подключения к глобальной сети Internet.
В качестве исходных данных будем считать следующее:
> На предприятии существует локальная сеть, построенная на приватных адресах (типа 192.168.0.0 - 255.255.255.0), которую необходимо подключить в Интернет;
> "Главный" сервер предприятия, на котором настроены некие службы, например сервер СУБД, 1С и т.д.
> Выделена отдельная машина для организации подключения в Интернет, имеющая два сетевых адаптера.

Примечание. Организовать подключение в Интернет возможно и используя "главный" сервер, но из соображений обеспечения безопасности этого не следует делать.

Целью работ является:
> Организация работы пользователей локальной сети с глобальной сетью Интернет;
> Обеспечение разделения локальной и глобальной сети.

1. Подключение к локальной сети предприятия.


Машину, через которую в дальнейшем будет организован доступ в Интернет, будем называть сервером. По ряду причин операционной системой на сервере будет ОС FreeBSD. Будем считать, что установка ОС FreeBSD на сервер была нами успешно проведена (описание установки ОС: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/install.html ) поэтому приступим к настройке необходимых служб.
1.1. Установка Midnight Commander.
Для удобства работы установим программу Midnight Commander (mc). Если существует коллекция портов на CD, то mc устанавливается с помощью утилиты sysinstall. Для этого следует набрать в командной строке:

# cd /stand
# ./sysinstall

Затем выбрать Configure/Packages/'CD/DVD' - утилита сама смонтирует CD и предложит список доступных "Packages". Необходимо выбрать "All" и найти в списке "mc" выбрать и нажать кнопку Install.

Если у вас нет CD, то вам придется воспользоваться вторым путем:

# cd /usr/ports/misc/mc
# make
# make install

При установке таким способом исподники программы будут искаться сначала в директории /usr/ports/distfiles/, а потом в Интернете. Так как подразумевается, что подключения в Интернет на машине еще нет, то исходники "mc" предварительно скачиваются из Интернета ( http://www.freebsd.org/ports/ ) и копируются в директорию /usr/ports/distfiles/. После завершения установки можно использовать mc.

Примечание. whereis команда, которая выводит полный путь до командного файла.

Для того, чтобы mc работала без перезагрузки машины следует набрать:

# whereis mc

В консоли появиться путь до mc! набираем его.

/usr/local/bin/mc
# /usr/local/bin/mc

.и пользуемся mc.

1.2. Настройка сетевого адаптера.
Следующим этапом настройки сервера будет конфигурация сетевых карт. Одна сетевая карта будет использоваться в локальной сети, ее адрес будет 192.168.0.1/255.255.255.0. Соединяем карту и коммутатору при помощи патчкорда, и помощью команды ifconfig проверяем работоспособность сетевой карты:

Примечание. ifconfig одна из команд для настройки сетевых средств. Настройки, произведенные с помощью ifconfig, для сетевых устройств будут работать только до перезагрузки системы.

# ifconfig

В списке находим сетевой адаптер, где есть строчка 'status: active'. Предположим, что это rl0. Для настройки сетевых адаптеров необходимо вписать необходимые команды в конфигурационные файлы.
При использовании утилиты sysinstall.

# cd /stand
# ./sysinstall

Выбрать Configure/Networking/Interfaces, из списка интерфейсов выбрать rl0. На задаваемые вопросы об использовании IPv6 и DNCP ответить отрицательно. После этого появиться окно изображенное на рис.1.
Image
Рис.1. Конфигурирование сетевого адаптера rl0 с помощью утилиты

...

Поля заполняются следующим образом:
Host (символьное имя машины) - host1
Domain (домен) - domen1.ru
IPv4 Gateway (сетевой адрес шлюза) , - на начальном этапе нет необходимости
Name server (сетевой адрес DNS сервера) если он есть (на начальном этапе нет необходимости)

IPv4 Address (сетевой адрес карточки сервера, которая настраивается) - 192.168.0.1
Netmask (маска сети) - 255.255.255.0

После нажатия "OK", на вопрос ответить утвердительно. Утилита запишет команды в конфигурационные файлы и "поднимет" интерфейс.
Второй путь состоит в том, чтобы настройки сетевых устройств сохранились в файле /etc/rc.conf, следует дописать в конец файла следующие команды:

gateway_enable="YES"
ifconfig_rl0="inet 192.168.0.1 netmask 255.255.255.0"
defaultrouter="192.168.0.2"
hostname="host1.dome1.ru"

DNS прописывается в файле /etc/resolv.conf строчкой вида:
nameserver 192.168.0.2

В файле resolv.conf может содержаться информация о несколько DNS серверах. В случае, если предыдущий трижды не отвечает на запрос, запросы пересылаются к следующему. Сервера для направления запроса перебираются последовательно.

1.3. Настройка возможности удаленного доступа.


В связи с отсутствие на нашем сервере почтового сервера необходимо отключить sendmail , дописав в файл /etc/rc.conf строчку:

sendmail_enable="NONE"

Также включим поддержку ssh, необходимого для комфортной дальнейшей работы и конфигурирования.

sshd_enable="YES"

Теперь сохраняем файл и перегружаем машинку:

# reboot

После загрузки проверяем сеть:

# ping ip (любой адрес локальной сети, например 192.168.0.3)

Если подключение к сети существует, то первоначальная настройка сервера завершена. На любой другой машине, подключенной в локальную сеть запускаем утилиту Telneat(см. дополнения в конце статьи) Подключаемся к серверу, для Telneat:

1. Нажимаем Alt+A
2. Набираем ssh:192.168.0.1
3. На вопрос ответить утвердительно: yes
4. Вводим login и password.

Примечание. При подключении не используйте пользователя root.

2. Подключение к сети провайдера.
2.1. Настройка Firewall
Для того чтобы ограничить доступ из глобальной сети к локальной сети предприятия и контролировать доступ пользователей из локальной сети в Интернет, воспользуемся брандмауэром.

Примечание. Термин брандмауэр (firewall) пришел в информационные технологии (ИТ) из строительной отрасли, где он означает сооружение, препятствующее распространению огня при пожаре из одной части здания в другую. В ИТ брандмауэр определяется как программно-аппаратный комплекс, обеспечивающий разделение сетей и ограничивающий доступ из одной сети в другую.

Брандмауэры устанавливаются в местах соприкосновения различных сетей. Брандмауэр анализирует проходящий через него трафик и в соответствие с заданными настройками либо пропускает его, либо нет.
В ОС FreeBSD существует встроенная система пакетной фильтрации ipfw. Для того, чтобы ОС выполняла фильтрацию пакетов, нужно ядро ОС пересобрать следующим образом. В файл /usr/src/sys/i386/conf/GENERIC необходимо добавить такие строки:

Примечание. GENERIC - ядро по умолчанию

options IPFIREWALL
options IPDIVERT
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=500
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT

Первая опция включить в ядро код, который позволит выполнять фильтрацию пакетов, вторая опция включает поддержку divert-сокетов и необходима для работы natd, остальные лучше включить, о их назначении можно прочитать http://www.bsdportal.ru/kb.php?mode=article&k=76

# /usr/sbin/config GENERIC
# cd ../compile/GENERIC
# cd ../../compile/GENERIC
# make depend
# make
# make install

Затем следует перейти в директорию /etc/defaults и отредактировать файл rc.conf в секции "Network configuration sub-section":

firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_type="OPEN"

Опция "firewall_enable" говорит о том, что пакетный фильтр включен, в опции "firewall_script" прописывается путь к файлу с правилами ipfw, а опция "firewall_type" определяет секцию в файле, которую необходимо выбрать (в секции расположены правила ipfw). Секция "OPEN" будет выглядеть следующим образом:

[Oo][Pp][Ee][Nn])
setup_loopback
${fwcmd} add 65000 pass all from any to any
;;
После сохранения и редактирования вышеуказанных файлов, перезагружаем сервер.
После сохранения и редактирования вышеуказанных файлов, перезагружаем сервер.

2.2 Подключение к сети провайдера.


После выбора провайдера и заключении с ним договора об услугах предоставления Интернет, провайдер вам предоставит один конец патчкорда, сетевое имя (hostname), сетевой адрес (adrrme) и маску сети (netmaskme) для сервера, установленного на вашем предприятии, сетевой адрес шлюза (adrrprov) и пару сетевых адресов своих DNS серверов.
Адреса DNS серверов прописывается в начале файле /etc/resolv.conf, выше всех строчек. Подключаем патчкорд в незадействованную сетевую карту, например rl1. В файл /etc/rc.conf вносим информацию о настройках карты или пользуемся утилитой (см.выше) :

gateway_enable="YES"
ifconfig_rl1="inet adrrme netmask netmaskme"
defaultrouter="adrrprov"
hostname="hostname"

Для того, чтобы настройки вступили в действие, следует перезагрузить сервер или использовать ifconfig для поднятия сетевого интерфейса.

3. Прокси - сервер


Заключительным этапом подключения локальной сети к Интернет является установка и настройка Squid.

Примечание. Squid - брандмауэр уровня приложений или прокси-сервер. Прокси-сервер получает запросы на ресурсы во внешнюю сеть от клиентов, получает доступ к ресурсам сети и передает полученную информацию от ресурсов обратно клиентам. Текущая версия: squid-2.5.STABLE6.

Установим Squid из исходников - для этого необходимо распаковать архив с исходниками, войти внутрь распакованной директории и выполнить следующие команды:

# ./configure
# make
# make install
# make clean

Корректируем squid.conf, данные правила взяты из QUICKSTAR и вполне работоспособны:

cache_mem 100 MB

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
acl allowed_hosts src 192.168.0.0/255.255.255.0

http_access deny manager all
http_access allow allowed_hosts
http_access deny all

icp_access allow allowed_hosts
icp_access deny all
cache_mgr adminmail@domen
cache_effective_user nobody

После внесения изменений необходимо сменить владельца директории и предоставить ему все необходимые права:

# chown -R nobody /usr/local/squid

Для создания КЭШа прокси-сервера Squid:

# /usr/local/squid/bin/squid -z

Для запуска работы:

# /usr/local/squid/bin/squid

4. Необходимое послесловие.


На рисунке 2 изображена типовая схема подключения локальной сети предприятия к Интернет. Изложено выше - базовые действия по настройке типового подключения. При такой организации сети защищенность сервера находиться на очень низком уровне, поэтому рекомендуется ознакомится со следующим дополнительным материалом:

Firewall : http://www.bsdportal.ru/kb.php?mode=article&k=76
STC примочка для Squid для управления трафиком : http://stc.xlan.ru/
Squid : http://squid.opennet.ru/

Image
Рис.2. Схема типового подключения локальной сети предприятия к Интернет.

Дополнительные ссылки:
Оригинал статьи присланный автором
http://www.bsdportal.ru/kb/setinet/setinet.rar
Утилита telneat присланная автором
http://www.bsdportal.ru/kb/setinet/telneat.rar