Не так давно в сети появился сайт с которого можно скачать диски с дополнениями к Ubuntu Linux, некоторое время спустя список дополнений пополнился, на сайте появились сборки Ubuntu ServerPack, Ubuntu DocsPack, и Ubuntu GamePack. В этом небольшом обзоре я расскажу про Ubuntu ServerPack.
Ubuntu ServerPack является набором программного обеспечения для настройки серверных приложений, таких как Mail server, DNS, и тд. Пригодится это набор людям у которых ограничен доступ в интернет, или лимитирован трафик. Так же в набор интегрировано сторонние программное обеспечения для разных нужд. Список приложений и прочего контента вошедшего в сборку в продолжении поста.
В рамках проекта UAPack разработан комплект обновлений и дополнений для популярного дистрибутива Ubuntu — Ubuntu DesktopPack CD, позволяющий без подключения к Интернету проводить обновление системы и установку дополнительных программ.
Основная задача — показать Windows-пользователям что в Linux тоже можно удобно работать и чувствовать себя комфортно.
Одним нажатием клавиши пользователь может обновить систему и установить набор наиболее популярных и востребованных приложений для работы с текстами и офисными документами, программы для работы с видео и аудио файлами, приложения для ведения домашней бухгалтерии, все необходимые кодеки (DivX, DVD, MP3 и др.), а также все необходимые дополнительные драйвера. Далее список вошедшего в пак программного обеспечения.
Казалось бы — про VPN не говори, про него все сказано. В сети выложено огромное количество настроек и HOW-TO на любой вкус. Скрупулезный анализ показал, что основные проблемы новичков возникают на этапах аутентификации клиента и VPN-сервера, а также настройки роутинга. На них мы остановимся подробно. Попутно выяснилось что настройки VPN-соединения можно сильно упростить и тем самым облегчить понимание ключевых параметров.
Именно для облегчения понимания мы рекомендуем всем новичкам настраивать VPN из командной строки и не пользоваться (полу)автоматическими конфигураторами VPN — как показывает практика, от их непрозрачных настроек одни неприятности. Как вы увидите ниже, этих настроек очень небольшое количество, так что незачем вставать на костыли, чтобы бежать стометровку. К тому же командная строка вам сослужит добрую службу, когда пойдет что-то не так. Вы всегда можете запостить свои конфиги и вывод консольных команд, и суровые бородатые дядьки, которые давно на «ты» с линуксом, вам помогут. Потому что вы говорите с ними на одном языке. И наоборот, что-нибудь вроде «в этом окошке я отмечаю галочкой второй снизу пункт» практически гарантирует отсутствие обратной связи.
Настраивать VPN-соединение мы будем по шагам. В конце каждого шага — шаг проверки. Все команды в командной строке вводятся от имени суперпользователя (root). Готовы? Тогда вперед!
В википедии сказано: L2TP ( Layer 2 Tunneling Protocol) — сетевой протокол туннелирования канального уровня, сочетающий в себе протокол (layer 2 Forwarding), разработанный компанией , и протокол корпорации . Стандарт . Позволяет организовывать с заданными приоритетами доступа, однако не содержит в себе средств шифрования и механизмов аутентификации (для создания защищённой его используют совместно с ).
Работает он намного стабильнее vpn туннелей, поэтому и был выбран мной в качестве протокола для соединения 2х Linux серверов, vpn работал, но часто падал и в pppd нет нормально реальзованного контроля за соединением. В l2tp все намного лучше, есть специальный демон который контролирует соединение и тд. Я пользуюсь интернетом корбины, и в Спб не сразу появилась возможность работы по l2tp, было только vpn. Я использовал сначала роутер с поддержкой vpn, но он часто зависал, потом начал использовать собсвенно pppd, но и это не принесло мне счастья, коннект рвался несколько раз в день… С появлением l2tp все стало замечательно, коннект не рвется неделями… Дальше я опишу процесс установки и настройки сервера и клиента l2tp для Linux Ubuntu.
Вполне вероятно. Уж очень неуместны бывают сетевые кабеля, когда хочется полистать какой-нибудь online-magazin в шезлонге на балконе… Тем более, что декларируемые 54 Mbit/sec OFTM «выливаются» во вполне приличные 20Mbit/sec. Не говоря уже о тех случаях, когда прокладка кабеля просто не представляется возможной или уж вовсе «лениво» дырявить очередное шлакобетонное перекрытие. С учётом нынешней стоимости оборудования Wi-Fi (~20$ за адаптер и ~70$ за аналог hub-а) ответ во многих случаях очевиден: полюбопытствовать — стоит.
С помощью этого мощного набора расширений для iptables вы сможете
строить свои правила, основываясь на анализе содержимого пакетов,
диапазона портов и даже создавать ловушки для злоумышленников.
Iptables в Linux позволяет строить весьма мощные брандмауэры, ничуть
не уступающие по своим характеристикам многим коммерческим системам
защиты. По сути своей, iptables основывается на фильтрации пакетов,
проходящих через соединение, и в соответствии с набором правил
определяет ту или иную реакцию брандмауэра на эти пакеты. В самых
простых случаях iptables может использоваться для того, чтобы сбросить
одни пакеты и пропустить другие. При этом обычно анализируются
IP-адрес пакета, номер порта и направление движения пакета. Кроме того
iptables может анализировать статус пакета (NEW, ESTABLISHED, RELATED
и пр. прим. перев.)
1. Введение
Многие часто задаются вопросом как быстро настроить раздачу инетернета на несколько копьютеров в локальной сети, пробросить порты внутрь сети, а так же обеспечить безопасность шлюза. Так же иногда необходимо сделать лимит скорости доступа для некоторых компьтеров, не у всех же резиновый канал в интернет, а компьютеров может быть много, да и если скорость не делить между ними могут возникать проблемы с качеством поставляемых услуг, таких как если один абонент запустит торрент клиент, откроет сотню соединений, остальные абоненты в этот момент ощутят резкое падение скорости, и явно не будут рады. В этой статье рассказано какие программы помогут вам решить эти проблемы, настроить фиксированный доступ в интернет для компьютеров вашей локальной сети и решить проблемы со скоростью доступа раз и навсегда.
Для настройки всех необходимых сервисов я использовал одну программу стороннего разработчика (Master Shaper), все остальные необходимые программы присутствуют в штатных репозитариях Ubuntu Linux.
2. Настройка iptables (firewall & nat)
Начнем пожалуй с настройки NAT и фаервола, так же включим форвардинг и исправим некоторые параметры SYSCTL, для выделения нужного количества ресурсов, если у вас к примеру более 5000 компьютеров в локальной сети.
Реализовать все это можно с помощью одного скрипта, который приведен ниже, все парамтры с комментариями.
Код:
#!/bin/bash
OUT="eth0" # Имя исходящего интерфейса, смотрящего в интернет.
OUTADDR="1.1.1.1" # Адрес исходящего интерфейса
IN="eth1" # Имя входящего интерфейса, смотрящего в локальную сеть
INADDR="2.2.2.2" # Адрес входящего интерфейса
NETWORK="10.0.0.0/8" # Адресация вашей локальной сети
ANYWHERE="0.0.0.0/0" # Назначение, любое.
PORTS="1024:65535" # Порты, которые считаются локальными
MULTICAST="224.0.0.0/4" # Мультикаст пакеты, если у вас не используется оставьте как есть,
# если используется IP TV тогда надо удалить этот пункт
ADMINS="2.2.2.3 2.2.2.4" # IP адреса администраторов, имеют полный доступ на сервер, без каких либо ограничений.
##############################################################################################
# Здесь прописаны параметры запуска\остановки\статуса скрипта. лучше не трогайте =)
# Остановка скрипта
case "$1" in
stop)
echo "Shutting down firewall..."
# Назначение глобальных политик фаервола
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
# Загружаем модули, для корректной работы VPN, Active ftp, DCC in IRC которые будут идти через нат.
modprobe ip_nat_ftp
modprobe ip_nat_pptp
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
# Изменение параметров SYSCTL
# Включение форвардинга
echo 1 > /proc/sys/net/ipv4/ip_forward
# Включение форвардинга для VPN
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
# Увеличение размера очередей
echo 32000000 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
# Время ожидания до закрытия соединения
echo 14400 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
# Время ожидания до посылки FIN пакета
echo 60 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait
# Время ожидания до посылки FIN пакета
echo 10 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_sent
# Для защиты от syn флуда
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Увеличиваем размер backlog очереди
echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog
# Число начальных SYN и SYNACK пересылок для TCP соединения
echo 4 > /proc/sys/net/ipv4/tcp_synack_retries
echo 4 > /proc/sys/net/ipv4/tcp_syn_retries
#Какие порты использовать в качестве локальных TCP и UDP портов
echo "16384 61000" > /proc/sys/net/ipv4/ip_local_port_range
Сколько секунд ожидать приема FIN до полного закрытия сокета
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
# Как часто посылать сообщение о поддержании keep alive соединения
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
# Сколько пакетов проверки keepalive посылать, прежде чем соединение будет закрыто.
echo 2 > /proc/sys/net/ipv4/tcp_keepalive_probes
# Зaпрещаем TCP window scaling
echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
# Запрещаем selective acknowledgements, RFC2018
echo 0 > /proc/sys/net/ipv4/tcp_sack
# Запрещаем TCP timestamps, RFC1323
echo 0 > /proc/sys/net/ipv4/tcp_timestamps
# Уличиваем размер буфера для приема и отправки данных через сокеты.
echo 1048576 > /proc/sys/net/core/rmem_max
echo 1048576 > /proc/sys/net/core/rmem_default
echo 1048576 > /proc/sys/net/core/wmem_max
echo 1048576 > /proc/sys/net/core/wmem_default
# Через какое время убивать соединеие закрытое на нашей стороне
echo 1 > /proc/sys/net/ipv4/tcp_orphan_retries
# Temporary eth0 completely disabled
#iptables -A INPUT -i $OUT -j DROP
# Admins - full control (even dagerous)
for admin_ips in $ADMINS; do
iptables -A INPUT -s $admin_ips -m state --state NEW -j ACCEPT
done
# Silently Drop Stealth Scans
# All of the bits are cleared
iptables -A INPUT -p icmp --icmp-type timestamp-request -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
# SYN and FIN are both set
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
# SYN and RST are both set
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
# FIN and RST are both set
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
# FIN is the only bit set, without the expected accompanying ACK
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
# PSH is the only bit set, without the expected accompanying ACK
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP
# URG is the only bit set, without the expected accompanying ACK
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP
После настройки этого скрипта под себя у вас выйдет фаервол с политикой DROP, и NAT.
3. Установка и настройка Shaper.
Скачайте с сайта разработчика дистрибутив программы .
В архиве вы найдете подробное описание продукта, а так инструкции по использованию и установки.
Программа имеет WEB интерфейс для работы и настройки, а так же серверную часть.
Master Shaper позволяет создавать тарифы, возможна настройка приоритезации трафика, очень гибкая и функциональная система.
Настройка и установка займет у вас совсем не много времени.
Пропишите этот скрипт в автозагрузку отредактировав файл /etc/rc.local
Должно получится следующее:
Код:
#!/bin/sh -e
/home/vpn-firewall.sh
exit 0
Запустите скрипт фаервола, он должен написать «vpn firewall loaded OK.»
Код: /home/vpn-firewall.sh
На этом настройка закончена, можете настраивать windows клиенты, никаких особенных параметров не требуется, просто создаете подключение vpn с адресом вашего сервера, на вкладке «Безопасность» нужно снять галочку с пункта «Требуется шифрование данных (иначе отключаться)», а так же логином и паролем которые вы вписали в конфигурационный файл.