Ранее я уже рассматривал настройку программных роутеров на операционных системах freebsd и centos. Сегодня я хочу настроить интернет шлюз для локальной сети на основе популярного linux дистрибутива Debian. Выполним подготовку сервера и реализуем основной функционал, необходимый для выхода в интернет из локальной сети.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Данная статья является частью единого цикла статьей про сервер Debian.
Введение
Я буду работать со следующим сервером:
# uname -a Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) x86_64 GNU/Linux # cat /etc/debian_version 8.3
Если у вас еще нет готового сервера, то рекомендую статью на тему установки debian. Там подробно описан весь процесс от и до.
На сервере имеются 2 сетевых интерфейса:
Интерфейс | Описание | IP |
eth0 | внешний интерфейс, подключен к провайдеру, настройки получает по dhcp автоматически | 192.168.1.24 |
eth1 | внутренний интерфейс, смотрит в локальную сеть, статический ip адрес | 10.0.15.1 |
Файл конфигурации сетевых интерфейсов выглядит следующим образом:
# cat /etc/network/interfaces source /etc/network/interfaces.d/* auto lo iface lo inet loopback allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug eth1 iface eth1 inet static address 10.0.15.1 netmask 255.255.255.0
Как настроить сеть в debian я подробно рассказал отдельно. Если вы еще не сделали это и не выполнили предварительную настройку debian, то рекомендую ознакомиться с материалами.
Если у вас недостаточно опыта и вы не чувствуете в себе сил разобраться с настройкой шлюза самому с помощью консоли сервера - попробуйте дистрибутив на основе centos для организации шлюза и прокси сервера в локальной сети - clearos. С его помощью можно через браузер настроить весь необходимый функционал. В отдельной статье я подробно рассказал об установке clearos.
Подготовка шлюза
Выше я привел ссылку на подробную статью с описанием настройки сервера общего назначения. Сейчас мы выполним некоторые подготовительные действия без подробностей и описания. Их вы можете почитать отдельно. Сейчас просто необходимые команды.
Сеть на будущем программном роутере настроили, доступ в интернет на сервере есть. Обновим его:
# apt-get update # apt-get upgrade
Установим MC, мне в нем удобнее всего работать, в том числе в редакторе mcedit:
# apt-get -y install mc
Настроим часовой пояс, если раньше не сделали это:
# dpkg-reconfigure tzdata
Устанавливаем сервис ntp для автоматического обновления времени:
# apt-get -y install ntp
На этом основные подготовительные действия закончены. Приступаем к настройке шлюза.
Настройка маршрутизации, firewall и nat
Первым делом включим маршрутизацию пакетов между сетевыми интерфейсами. Для этого редактируем конфиг /etc/sysctl.conf:
# mcedit /etc/sysctl.conf net.ipv4.ip_forward=1
Либо раскомментируйте эту строку, либо добавьте, если ее нет. Но она по-умолчанию быть должна, закомментированная со значением 1. Применяем эту настройку:
# sysctl -p
На выходе работы команды в консоли будет выведен измененный параметр со значением 1.
Теперь приступаем к самому главному - настройке фаервола iptables и nat в нем для обеспечения выхода в интернет из локальной сети. Я очень подробно рассмотрел эту тему в отдельной статье. Хотя там речь идет о другом дистрибутиве, сами правила iptables абсолютно одинаковые с точностью до строчки, за исключением маленького нюанса, связанного с тем, что правила нужно сохранять в другой файл для применения их после перезагрузки.
Я приведу здесь сразу готовый вариант файла с правилами iptables, необходимых для работы интернет шлюза в debian. В файле даны подробные комментарии ко всем значениям, так что вы без проблем разберетесь и закомментируете или наоборот раскомментируете необходимые вам значения. Качаем скрипт правил iptables - iptables-debian.sh
Копируем содержимое файла и создаем скрипт с правилами на сервере:
# mcedit /etc/iptables.sh
Вставляем в редактор правила. Редактируем их под свои нужды, обязательно заменяя переменные WAN и LAN на свои. Сохраняем файл.
Делаем файл с правилами исполняемым:
# chmod 0740 /etc/iptables.sh
Прежде чем применить новые правила, посмотрим на текущие:
# iptables -L -v -n
Видим, что на настраиваемом роутере firewall полностью открыт. Теперь применим новые правила и посмотрим на результат:
# /etc/iptables.sh
Все в порядке, правила применились, доступ к серверу я не потерял. Теперь сделаем так, чтобы новые правила применялись после перезагрузки. В последней строчке скрипта есть команда:
/sbin/iptables-save > /etc/iptables.rules
С ее помощью готовый набор правил iptables выгружаются в файл. Нам нужно сделать так, чтобы эти правила применялись при включении сетевого интерфейса во время загрузки сервера. Для этого открываем файл interfaces на редактирование и добавляем в самый конец строчку:
# mcedit /etc/network/interfaces post-up iptables-restore < /etc/iptables.rules
Для проверки перезагружаем шлюз и проверяем, все ли в порядке. По сути основная настройка программного роутера на debian завершена. Осталось сделать небольшое дополнение и настроить dhcp и dns сервер в локальной сети. Я для этих целей использую простой и легкий в настройке dnsmasq.
Установка и настройка dnsmasq в Debian
Выполним установку dnsmasq на дебиан:
# apt-get install -y dnsmasq
Сделаем минимальную настройку программы. Нам нужно просто выдавать сетевые настройки пользователям. Для этого приводим конфигурационный файл dnsmasq к следующему виду:
# mcedit /etc/dnsmasq.conf domain-needed bogus-priv interface=eth1 dhcp-range=eth1,10.0.15.50,10.0.15.150,24h
В данном случае мы будем выдавать пользователям ip адреса в диапазоне от 10.0.15.50 до 150. Сохраняем конфиг, добавляем программу в автозагрузку и запускаем.
# insserv dnsmasq # /etc/init.d/dnsmasq start
Теперь можно запускать компьютер пользователя локальной сети, получать сетевые настройки по dhcp и проверять работу интернет шлюза.
Посмотреть выданные leases можно в файле /var/lib/misc/dnsmasq.leases. На этом настройка интернет шлюза на debian 8 закончена. Все что нужно для обеспечения доступа в интернет из локальной сети сделано. Получился программный роутер с широкими возможностями по наращиванию функционала.
Просмотр загрузки сети с помощью iftop
Теперь представим ситуацию, что кто-то забил весь интернет канал и вам надо быстро выяснить, кто это сделал. По-умолчанию, никаких подручных и удобных средств на шлюзе для этого нету. Установим одно из таких средств - программу iftop. Это простая консольная утилита, которая дает возможность оперативно посмотреть статистику загруженности сетевого интерфейса в реальном времени.
Устанавливаем iftop на debian:
# apt-get install -y iftop
Для просмотра активности сетевого интерфейса, запускаем утилиту, указывая необходимый ключ:
# iftop -i eth1
Чтобы увидеть порты, по которым идет трафик, добавляем ключ -P:
# iftop -i eth1 -P
На основе этой картинки уже можно сделать определенные выводы по использованию интернет канала. Обращаю внимание, что я смотрю загрузку локального интерфейса eth1. Если смотреть на eth0, то мы увидим только исходящие соединения сервера.
Заключение
Вот так легко и быстро можно настроить роутер, маршрутизатор или шлюз в интернет. Названия разные, а суть одна. В данном случае я использовал операционную систему Debian, но схожий функционал легко организовать на Freebsd или CentOS. Для решения текущей задачи разница в работе не будет заметна. Каждый выбирает то, что больше нравится и к чему привык.
Пройдемся быстренько по этапам того, что сделали:
- Подготовили сервер Debian к настройке шлюза.
- Настроили маршрутизацию, iptables, нат. Проверили, что весь функционал восстанавливается после перезагрузки.
- Установили и настроили простой dhcp сервер и кэширующий dns сервер - dnsmasq. С его помощью автоматизировали поучение сетевых настроек пользователями.
- Установили простое средство мониторинга сетевой активности в консоли в режиме реального времени с помощью утилиты iftop.
На этом мы закончили настройку. Как продолжение развития темы интернет шлюза можно заняться настройкой прокси сервера для управления доступам к ресурсам интернета, или сервера openvpn для подключения филиалов или удаленных сотрудников. Для примера привел ссылки на другие дистрибутивы. Со временем планирую описать реализацию этого функционала на debian. Принципиальных отличий нет, только нюансы разных дистрибутивов.
Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.Дополнительные материалы по Debian
Рекомендую полезные материалы по Debian: |
Настройки системы |
---|
Подробная установка Debian 9 Stratch с помощью графического инсталлятора со скриншотами и пояснениями к каждому пункту установщика.
Базовая настройка сервера Debian. Приведены практические советы по улучшению безопасности и удобства администрирования.
Подробное описание настройки сети в Debian - задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.
Обновление предыдущей версии Debian 8 Jessie до последней Debian 9 Stratch. Подробная инструкция с описанием по каждому этапу обновления.
Обновление версии Debian 7 wheezy до Debian 8 Jessie. Подробная инструкция с описанием по каждому этапу обновления.
Включение записи логов cron в Debian в отдельный файл и настройка ротации этого файла. Отключение логов в syslog.
|
Настройка программных комплексов |
Подробное описание установки гипервизора proxmox на raid1 mdadm на базе операционной системы Debian 8. Приведены практические советы по настройке.
Настройка интернет шлюза на Debian. Включает в себя настройку iptables, nat, dhcp, dns, iftop.
Чистая установка Asterisk 13 на сервер под управлением Debian 8. Никаких дополнений и GUI, только vanilla asterisk.
Установка Freepbx 12 и Asterisk 13 на сервер под управлением Debian/Ubuntu. Подробное описание и разбор ошибок установки.
Рассказ об установке и небольшой настройке сервера бд postgresql для работы с базами 1С. Задача не сложная, но есть небольшие нюансы как по настройке, так и по выбору дистрибутива.
Описание установки и настройки pptp сервера в Debian с передачей статических маршрутов клиенту для организации доступа к ресурсам сети.
|
Разное |
Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.
Ускорение работы 1С с postgresql и диагностика проблем производительности
|
доброго времени суток, конфиг хороший и рабочий, вот только у меня с wireguard эта вся схема не работает, я отключил всё что блокирует соеденения пока не настроил всё, и даже при этом у меня при попытке подключения к пиру(тот который роутер) через стороннего пира(клиент или пир в роли сервера с белым ip) выходит ошибка не открытого порта, проверял на разных портах и tcp и udp, использывал правила"$IPT -t nat -A PREROUTING -p tcp --dport 222 -i ${WAN} -j DNAT --to 10.0.0.20:222" "$IPT -A FORWARD -i $WAN -d 10.0.0.20 -p tcp -m tcp --dport 222 -j ACCEPT", а так же включил "$IPT -A INPUT -i $WAN -j ACCEPT", но без разницы, ничего не помогает, в локалной сети всё ок, но в wireguard сети ничего не работает, проблема не со стороны wireguard, проблема со стороны роутера
роутер работает под VM в proxmox, подключено два бриджа (один который идёт в интернет, другой соответсвенно в локальную сет), ранее делал такое же на хосте proxmox, однако при малейшей ошибке с моей стороны я отключаю хоста от инета, потому перенёс в ВМ
кхм, извините за оффтоп, однако я нашёл решение проблемы, я случайно сделал export WAN=wg1 export WAN_IP=10.66.66.3/32 и всё стало работать, когда я делал всё на хосте proxmox подобная настройка не работало, но на моё удивление тут, на ВМ с debian 12 это работает, как говориться век жики век учись
Можете помочь, есть внешний интерфейс hyper-v с адресом 192.168.80.22, крутится виртуалка centos в ней два интерфейса eth0 192.168.80.88 есть интернет и второй интерфейс eth1 192.168.50.44, как сделать что бы eth0 раздавал интернет интерфейсу eth1, так как в centos крутится еще два контейнера один по адресу 192.168.80.х второй 192.168.5.х, получается на одном контейнере есть инет на втором нету.
а можете переделать скрипт с iptables на nftables? :)
В современных системах из коробки есть утилита, которая автоматом все правила iptables переделывает в nftables. Мне особо не надо, поэтому лично не занимался.
Добрый день, спасибо за статью, по ней все настроил. Все работает.
Вопрос как настроить маршрутизацию?
Есть 2 сети:
# Внешний интерфейс
export WAN=enp0s3
export WAN_IP=192.168.1.2
# Локальная сеть
export LAN1=enp0s8
export LAN1_IP_RANGE=10.0.1.0/24
Как сделать что бы из сети 192.168.1.0/24 можно было обращаться к компьютерам в 10.0.1.0/24?
По вашим статьям настроил, что из 10.0.1.0/24 в 192.168.1.0/24, можно пинговать.
Вот мой конфиг /etc/network/interfaces:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# WAN
allow-hotplug enp0s3
iface enp0s3 inet dhcp
post-up route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.70
post-up route add -net 10.1.0.0 netmask 255.255.255.0 gw 192.168.1.60
pre-down route del -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.70
pre-down route del -net 10.1.0.0 netmask 255.255.255.0 gw 192.168.1.60
# LAN
allow-hotplug enp0s8
iface enp0s8 inet static
address 10.0.1.1
netmask 255.255.255.0
pre-up iptables-restore < /etc/iptables_rules
Не совсем понял, в чем конкретно проблема? Что не получается настроить? Если шлюз имеет доступ в обе подсети, он будет маршрутизировать трафик между ними.
Шлюз находится на виртуалке, за шлюзом и находится сеть 10.0.1.0/24, сам шлюз получает ip от роутера. Я хотел бы подключаться к сети на виртуалке из любого устройства в доме.
Скачал скрипт с помощью wget
Замучался с ошибкой "#!/bin/bash: Нет такого файла или каталога"
Оказалось связано с символом BOM
Решение нашел тут https://debianforum.ru/index.php?topic=1100.0
Вообщим для тех кто не мог понять почему инет работает, ssh работает, а проброс портов никак не хочет. Удалите строку (которую я так и не понял зачем написанную) Следом запрещаем доступ из инета в локальную сеть: $IPT -A FORWARD -i $WAN -o $LAN1 -j REJECT. Она бессмысленна по причине DROP INPUT FORWARD OUTPUT и жесткого прописывания открытых портов.
Она не бессмысленна. Просто для проброса нужно было разрешающее правило с forward сделать для пробрасываемого порта и адреса.
В статье про настройку iptables я об этом рассказываю https://serveradmin.ru/nastroyka-iptables-v-centos-7/#_forward
В том то и дело что forward на порт прописан.
$IPT -t nat -A PREROUTING -p tcp --dport 8002 -i ${WAN} -j DNAT --to 192.168.100.33:37777
$IPT -A FORWARD -i $WAN -d 192.168.100.33/32 -p tcp --dport 37777 -j ACCEPT
И пока не убрал строку $IPT -A FORWARD -i $WAN -o $LAN1 -j REJECT правила не срабатывали. Хотя, пока это писал, можно было попробовать перенести эту строку в конец правил forward.
А вообще спасибо за статьи! Кратко и все по делу.
Блокирующее правило для всех запросов должно быть в конце, а перед ним отдельные разрешения. Это общее правило в настройке iptables для всех цепочек.
а это не опечатка в строке: $IPT -t nat -A PREROUTING -p tcp --dport 8002 -i ${WAN} -j DNAT --to 192.168.100.33:37777
WAN в фигурных скобках {}. Так и должно быть?
В целом, это допустимый вариант, причем даже желательно писать именно так. Это лучше экранирует все, что есть в переменной. Но обычно для краткости скобки не пишут, так как в большинстве случаев что с ними, что без разницы нет.
у меня по вашим настройкам после перезапуска interfaces вылетает ошибка filed я настаивал у себя по другому в файле
/etc/network/interfaces прописывал в конце прописал post-up /opt/scripts/gate.up
а файле gate.up прописал
#!/bin/sh
LAN_IP_RANGE="10.0.0.2/3"
iptables -F
iptables -t nat -F
echo 2 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i lo -j ACCEPT
iptables -t nat -A POSTROUTING -o eno1 -s $LAN_IP_RANGE -j MASQUERADE
iptables -P FORWARD DROP
iptables -A FORWARD -s $LAN_IP_RANGE -j ACCEPT
iptables -A FORWARD -d $LAN_IP_RANGE -j ACCEPT
раньше все работало до этого момента как я решил заново установить debian 9.5
сервер раздает ip адрес войти по ssh могу, сервер видит интернет а внутренние пк не, но есть одна странная особенность открывается один яндекс и то только главная страница
3-и сутки мучаюсь, всю голову сломал, куда копать куда рыть
Никак до меня не дойдёт, как объединить две подсети. У меня две подсети с адресами, Lan №1 192.168.8.*, netmask 255.255.255.0, шлюз 192.168.8.1, Lan №2 192.168.0.*, netmask 255.255.255.0, шлюз 192.168.0.1. Есть сервер с двумя сетевыми картами. Как ни старался, понять не могу, как их между собой связать. Чувствую, что решение простое, но найти его не могу. Подскажите, пожалуйста, как это сделать на моём примере.
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp
allow-hotplug eth1
iface eth1 inet static
address 10.0.15.1
netmask 255.255.255.0
Прописываю это после перезагрузки отваливаются сетевые и интернет, что делаю не так?
Доброго времени суток. Отличная статья! Я очень Вам благодарен. Успехов Вам и процветания в новом году.
В
mcedit /etc/network/interfaces
пришлось прописывать после каждого интерфейса строку:
post-up iptables-restore < /etc/iptables.rules
если прописывал в конце правила не применялись после перезагрузки.
"В конце" хоть и простой но не совсем правильный совет, так как последним может стоять неактивный интерфейс и тогда правила не применятся. Достаточно прописать данную настройку только один раз, но у гарантированно активного интерфейса, который поднимется после загрузки.
хм )) какой же это шлюз - культяпка
они клянутся что все открыто
Уже не первую неделю маюсь с перенастройкой шлюза. Сделал по вашей инструкции. В итоге ни один порт из внешней сети не видны. в правилах все есть. поверяю через netstat -at нет открытых портов. та же история есди делаю nmap внешний_ip. в чем может быть проблема.
Проблема тут может быть только одна - iptables. Если снаружи ничего не видно, значит firewall блокирует соединения. Либо может с настройками внешнего ip что-то не так. Для проверки можно полностью отключить iptables и посмотреть на открытые порты снаружи. Если по прежнему не будет доступа, то разбираться дальше.
Сначала я делала на openSUSE_leap 42.3. вырубил там firewall2. прописал правила - не работает. но там немного замороченно с firewall2. В результате решил чтоб меньше с этим делом проблем решил развернуть на Debian 9. установку сделал минимальную - консоль. остальное все как у вас. чистил правила и смотрел снаружи какие порты покажет. но ничего не увидел. как пример смотрел порт 22. если запускаю сервис ssh то порт всегда открыт. так что сижу и недоумеваю в чем проблема. ранее с таким не сталкивался. версия iptables 1.6. Что еще можно посмотреть?
Не знаю, что посоветовать, но тут налицо какая-то явная проблема. Может быть провайдер блокирует все входящие соединения на данный ip. Внешний ip не всегда означает, что к нему можно подключиться. У меня, к примеру, домашний провайдер блокирует 25-й порт на вход.
с провайдера уже давно трясу инфу. но проверить их не могу.
проверил все что можно. не могу найти причину. у провайдера все открыто.
долго мучился. в итоге если перенаправить 25 порт, следующим образом:
iptables -t nat -A PREROUTING -d wan_ip -p tcp -m tcp --dport 25 -j NAT --to-destination lan_ip:port то при проверке через nmap говорит что порт фильтруется, что делать далее не знаю не выходит полностью открыть порт
Я сейчас настраивал шлюз по этой статье и заметил одну неточность, а точнее упущение. Для проброса порта не хватает одного правила, которое разрешит перенаправление пакета с внешнего ip на внутренний. Корректно работающий проброс будет такой:
Добавляется второе правило. Его не нужно ставить, если нет общего запрета на форвард пакетов снаружи внутрь. Но в моем конфиге он есть. В статье я уже сделал исправления.
Я подобным образом пробовал, но указывал еще и порт по которому разрешаю форвардить $IPT -A FORWARD -i $WAN -p tcp --dport 443 -d 10.1.3.50:443 -j ACCEPT не помогает, только полное открытие форвардинга работает нормально. Сразу поясню, мне надо максимально закрыть сеть из вне.
Значит у тебя какая-то другая, локальная проблема. Я буквально вчера на новый шлюз закинул эти правила и все получилось.
Подскажите по настройке nat?
Пинги проходят с клиента.
Автор помоги пожалуйста разобраться, не могу понять где накосячил. Настраиваю шлюз с авторизацией по смс. iptables настраивал по вашему мануалу. ip получаю все ок. пингую серваки гугла, сайты все ок, а вот с браузера не пускает.
Пинги откуда проходят? С сервера или с клиентов, на которых браузер не работает? Могу предположить, что либо NAT на шлюзе не настроен, либо не включен роутинг пакетов между сетевыми интерфейсами на сервере. В обоих случаях на самом шлюзе интернет будет, а на клиентах - нет.
Добрый день! Спасибо за отличную статью! Столкнулся с небольшой проблемой. Имеется внешний адрес WAN и машина за nat с внутренним адресом LAN. На машине за nat, есть некий сервис, который при запуске создаёт web socket. На вход этому сервису должны поступать данные в виде ws://WAN:111. Порты проброшенны по той схеме которая описана у Вас в статье (на LAN), на локальной машине (за nat) порты тоже открыты, но сервис не запускается. Если ему дать команду в виде ws://LAN:111 или ws://localhost:111, то всё работает. Не подскажете в чем может быть проблема? Т.е. ситуация когда машина за nat не может подключится сама к себе по внешнему адресу.
Заранее спасибо!
Не до конца понял, что это за сервис такой. Но вот эта фраза верна - "Т.е. ситуация когда машина за nat не может подключится сама к себе по внешнему адресу." Этот сервис не сможет в таком виде, как в статье описано, подключиться к самому себе по внешнему адресу. Тут надо подумать, как такое реализовать. Проброс же идет из вне в локальную сеть. Если надо из локальной сети по внешнему ip делать проброс обратно в локалку, то нужны другие правила.
Спасибо за статью.
А какие доп. решения посоветуете использовать для настройки фильтра сайтов или других запретов доступа к "нежелательным" ресурсам?
Для этого нужно настраивать прокси сервер squid. У меня есть один пример, правда не для debian, а centos. Полностью у меня эта тема еще не раскрыта на сайте.
Доброго времени суток!
Благодаря вашей статье, настроил шлюз. Но возникли вопросы.
Если честно до настройки правил iptables не добрался, пока все открыто пока. Только на одном из компьютеров не создается впн соединение. Доходит до проверки пользователя а там ошибка сервер не отвечает, хотя когда вернул обратно на windows просто поменял загрузочный диск, все работает. Что может быть?
Все же какие минимальные требования для него? (у меня: в локальной сети 40 пользователей, RAM 1GB, процессор не помню интел селерон какой-то 1,7 ГГц, hdd40gb)
Спасибо за внимание.
Vpn какой не работает? Если pptp, то ему надо протокол GRE, возможно он закрыт.
Производительность шлюза, в основном, зависит от ширины канала, а не пользователей. Думаю, что текущей конфигурации сервера хватит. Только надо обратить внимание на жесткий диск и сделать хотя бы аппаратный рейд mdadm.
да pptp, буду разбираться. С GNU/Linux только знакомлюсь. Спасибо за ответ.
Добрый день, есть ли в дебиане какой нить шейпер? Что бы ограничить скорость например eth1 до 20 мбит
Думаю iptables умеют это делать. Но я никогда не занимался такой настройкой.
А можно ли к 22 порту из внешки ограничить доступ по ip?
Конечно можно. Вместо правила:
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT
нужно использовать вот это:
$IPT -A INPUT -s 117.21.51.12 -p tcp --dport 22 -j ACCEPT
117.21.51.12 - адрес, с которого можно подключаться. Только аккуратно с этими настройками. Без доступа к консоли сервера лучше не экспериментировать.
Спасибо, буду пробовать.
Добрый день. Подскажите начинающему.
1. Могу ли я по аналогии с настройкой шлюза в интернет настроить выход в другую сеть? Т.е. имеем сеть 222.22.222.0 и за пределами здания имеем шлюз (вышестоящая организация) 222.22.1.1 через который попадаем в сети 222.22.ххх.ххх.
2. Какие настройки из описанных Вами для шлюза в интернет необходимо оставить, а какими можно пренебречь?
3. Какие IP присвоить сетевым картам сервера исходя из первых двух пунктов и необходимости наличия DHCP во внутренней сети.
Если я некорректно поставил вопросы поправьте пожалуйста.
Большое спасибо.
Я так не готов ответить по пунктам. Настройка шлюза для выхода в интернет и ваш случай это разные ситуации. Надо настраивать по-другому. Как минимум NAT вам не нужен. Правила нужно написать в зависимости от задач, маршруты нужно будет сделать соответствующие. Зачем вам вообще в данном случае программный маршрутизатор? Какие задачи он должен решать?
Задачи на данный момент простые. Нужно попадать на несколько ftp в разных сетях. Так получилось, что сети эти организовывались разными организациями и разными людьми. В какой-то момент пришла команда объединить их и тут начались непонятки. Два рядом стоящих компа пингуют один адрес во внешней сети и один стучится нормально, а второй не видит ничего. На следующий день всё с точностью до наоборот. Бардак в сети страшный.
Вот и хотелось как-то отгородиться но не наглухо и управлять бардаком на сколько это возможно.
Тут надо разбираться с iptables и аккуратно писать нужные правила, закрывать лишнее. Если вам нужен доступ на сторонние ftp, то откройте весь ftp трафик на выход для простоты, а на вход все закройте. В принципе, это очень просто сделать. Материала по iptables в инете полно. Можно у меня почитать отдельную статью по iptables.
Много ваших статей прочитал. Debian поставил и настроил. Оказалось всё не так сложно, учитывая, что видел его впервые. С правилами буду разбираться.
Вопрос еще по железу. Серверок у меня откопался допотопный, на нём собственно и эксперементирую (два Xeon 2,66Ghz, 2Gb оперативки и два малюсеньких винта по 37Gb в рэйде) Справится ли старичок с означенными выше задачами?
Для вашего случая подойдет любой сервер, на который можно установить debian. От траффика, конечно зависит, но думаю в вашем случае нагрузки не будет практически никакой.
В общем настроил все как написано. Инет на сервере есть, локалка есть, айпи раздаются. А вот инета все нет
Значит либо NAT не настроили, либо net.ipv4.ip_forward=1 не включили.
net.ipv4.ip_forward=1 включен. в /etc/sysctl.conf строка раскомментирована. Настройка nat этой командой iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE??
и еще при запуске insserv dnsmasq выдает вот это
"insserv: FATAL: service mountkernfs has to exists for service udev
insserv: FATAL: service urandom has to exists for service networking
insserv: FATAL: service mountdevsubfs has to exists for service hwclock
insserv: exiting now!"