ФЭНДОМ


В качестве операционной системы для шлюза, выбрана Ubuntu 10.04 Server как наиболее простая и быстрая ОС, отлично подходящая для первого знакомства с Linux.

Исполняемые ролиПравить

Основные

  1. Раздача сетевых параметров компьютерам локальной сети через DHCP
  2. Подключение к сети Интернет и раздача его локальным компьютерам
  3. Поднятие ВПН туннеля до центрального офиса

Дополнительные

  1. Настройка резервирования каналов связи по факту отсутствия работы основного провайдера
  2. Обеспечение сетевой бездисковой загрузки тонких клиентов
  3. Подсчет трафика по интерфейсам

Установка системыПравить

Выполняем установку согласно статье: Ubuntu Server установка

Загрузка и установка пакетов программПравить

В Linux наиболее удобным способом получения ПО является загрузка его из репозиториев.

На начальном этапе базовой настройки нам потребуются следующие пакеты программ:

  1. dnsmasq - пакет совмещающий в себе сервер dhcp, tftp, прозрачный dns.
  2. OpenVPN - пакет применяемый для создания безопасных туннелей связи через Интернет
  3. acpid - служба (демон) контролирующий нажатие кнопки POWER на системном блоке и корректно завершающий работу сервера, необходим при работе шлюза внутри виртуальной машины.

Для их скачивания и установки выполним команды:

apt-get update
apt-get install dnsmasq openvpn acpid

Настройка сетевых параметровПравить

Пример

  • Адрес сервера в локальной сети будет: 10.0.42.1 с маской 255.255.255.0. Сервер подключен в коммутатор локальной сети в сетевую карту eth0
  • Два провайдера Транстелеком (eth1) и Энфорта (eth2). Транстелеком основной, энфорта резервный.

Все параметры сетевых интерфейсов хранятся в файле /etc/network/interfaces. Все физические сетевые адаптеры в системе называются eth(x), где x это номер адаптера по мере их перечисления системой в порядке подключения. Посмотреть список физических адаптеров и соответствие их мак-адреса и имени устройства в системе можно в файле:

ifconfig -a | grep Ethernet

Отредактируем его под наши задачи:

nano /etc/network/interfaces

Пример:

# Интерфейс сетевой петли (127.0.0.1)
auto lo
iface lo inet loopback

# Интерфейс локальной сети
auto eth0
iface eth0 inet static
address 10.0.42.1
netmask 255.255.255.0

# Интерфейс основного провайдера (ТТК)
auto eth1
iface eth1 inet static
address 188.93.129.134
netmask 255.255.255.252
gateway 188.93.129.133

# Интерфейс резервного провайдера (Энфорта) Для резервного провайдера шлюз не указываем!
auto eth2
iface eth2 inet static
address 87.241.217.214
netmask 255.255.255.252
# gateway 87.241.217.213

Настройка сервера DHCPПравить

Создадим конфигурацию сервера со следующими параметрами:

  • Диапазон выдачи адресов от 10.0.42.101 до 10.0.42.199 со сроком хранения выданных адресов 31 день.
  • Будем назначать устройствам в сети следующие DNS сервера: 10.0.32.5, 10.0.1.5, 10.0.1.6 с именем домена partner.ru
  • Назначим постоянные адреса 2-м компьютерам с привязкой по мак адресу. Выделенные адреса не должны попадать в диапазон выдачи адресов.

Сохраним оригинальную конфигурацию, и создадим пустую командами:

cp /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
echo "" > /etc/dnsmasq.conf
nano /etc/dnsmasq.conf

А затем скопируем и вставим:

interface=eth0                                          # Привязываемся к интерфейсу смотрящему в LAN
bind-interfaces                                         # для защиты от DNS флуда с внешнего мира
dhcp-range=10.0.42.101,10.0.42.199,31D                  # Задаем диапазон динамических адресов и срок аренды
dhcp-option=06,10.0.32.5,10.0.1.5,10.0.1.6              # DNS сервера
dhcp-option=15,partner.ru                               # DNS имя домена

############## Выделенные адреса #############
dhcp-host=44:87:fc:55:05:6c,10.0.42.41                  # IP-Камера 1
dhcp-host=42:c0:9c:14:8c:36,10.0.42.42                  # IP-Камера 2

Запустим сервер путем перезапуска его службы. В процессе перезапуска будет обработана созданная нами конфигурация:

/etc/init.d/dnsmasq restart

Показать все выданные DHCP-адреса клиентам с сортировкой по дате выдачи.

cat /var/lib/misc/dnsmasq.leases | sort

Раздача ИнтернетаПравить

В минимальной конфигурации мы просто включим маршрутизацию и нат для всех компьютеров локальной сети. Этим процессом займется пакет iptables. Создадим скрипт, который будет включать iptables и открывать доступ компьютерам в локальной сети к Интернет.

nano /etc/gw
# 1 - Запустить iptables 0 - отключить iptables
echo 1 > /proc/sys/net/ipv4/ip_forward

# Очищаем все правила и включаем нужные модули (маршрутизация и НАТ)
iptables -F && iptables -X && iptables -t nat -F && iptables -t mangle -F
 
# Включаем NAT для провайдера, подключенного в интерфейс eth1
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Затем превратим наш созданный документ в скрипт, назначив ему право исполнения командой:

chmod +x /etc/gw

Добавим запуск нашего скрипта при загрузке сервера, для этого отредактируем файл:

nano /etc/rc.local

и перед строкой exit 0 пропишем запуск нашего скрипта:

# Включение маршрутизации и общего доступа к Интернет 
/etc/gw

exit 0

Работа с ВПН тунелем Править

  • Со стороны центрального сервера должен быть запущен и настроен по инструкции сервер Open-VPN и готов для совместной (параллельной) работы с Kerio Winroute Firewal
  • Необходимо загрузить нужный клиентский сертификат на сервер филиала в каталог /etc/openvpn например при помощи утилиты WinSCP

Создадим конфигурационный файл туннеля:

nano /etc/openvpn/ovpn.conf
client
dev tun
proto udp

# Адреса центрального филиала (основной и резервный)
remote 188.93.129.26
remote 95.143.8.42

# Проверять каждую секунду не отвалился ли канал и если да, то через 10 секунд выполнить перезапуск подключения
keepalive 1 10

# Отвязка от порта (позволяет запускать несколько клиентских OpenVPN подключений)
nobind

# Имя и путь до контейнера безопасности относительно пути с конфигурацией
pkcs12 gw-khb11.p12

# Перенаправить весь трафик Интернет, через центральный филиал назначив два маршрута 0.0.0.0/1 и 128.0.0.0/1
# redirect-gateway def1

# Отключить сжатие трафика, для экономии ресурсов ЦП
comp-lzo no

В примере указан контейнер безопасности gw-khb11.p12, не забудте указать свой, который загрузили на сервер. Если филиал новый, необходимо выполнить Генерация ключа.

Перезпускаем OpenVPN для того, чтобы он перечитал параметры и поднял тунель.

/etc/init.d/openvpn restart

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

Дополнительные возможностиПравить

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

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

Также на ФЭНДОМЕ

Случайная вики