Шлюз на freebsd 11, Шлюз на FreeBSD
Раз мы уже создаем данный файл, добавим в него команду запуска демона natd, который отвечает за поддержку NAT. Использование mpd Вы можете использовать mpd для подключения к различным сервисам, в частности к сервисам PPTP. Могли бы более обоснованно ответить а не выпендриваться.
Использование FreeBSD на небольших роутерах для связи с внешним миром уже давно перестало быть чем-то выдающимся. Эта простая в использовании, нетребовательная к ресурсам и обслуживанию операционная система почти идеально подходит для решения подобных задач. Поскольку все необходимые модули включены в состав операционной системы, больше нам ничего не потребуется.
Будем считать, что уже имеется компьютер подходящей конфигурации с установленной нужной версией FreeBSD. Необходимо уточнить имена интерфейсов сетевых карт, под которыми их распознает операционная система. В нашем случае интерфейс rl0 будет «смотреть» во внешний мир, а xl0 — во внутреннюю сеть. IP- адрес внутреннего интерфейса: Сетевой интерфейс xl0 соответствует сетевой карте 3Com.
Это файл конфигурации ядра, устанавливаемого по умолчанию при инсталляции FreeBSD. Он организован так, чтобы система могла поддерживать большинство наиболее используемых устройств, в том числе и указанные сетевые карты. Очень часто дальнейшие модификации ядра строятся на модифицированной копии этого файла.
В данном случае, мы именно так и поступим:. Выполняем настройку сетевых карт. Для редактирования будем использовать текстовый редактор vi, присутствующий практически в любой системе UNIX. Открываем его на редактирование:. В данный момент компьютер можно было и не перезагружать. Но мы хотим достоверно убедиться, что наши интерфейсы установлены корректно и работают, поэтому я все же рекомендую перезагрузиться.
Файл rc. Очень большое число параметров, используемых системой, задается в виде соответствующих переменных в этом файле. В том числе настройки сетевых интерфейсов, файервола и NAT, используемых нами.
Для этого мы должны внести некоторые изменения в ядро системы. Заметьте, что нужно использовать исходные тексты ядра для соответствующей архитектуры. Поскольку архитектура нашего компьютера базируется на платформе i, то и ядро должно быть скомпилировано в соответствии с платформой.
Для владельцев компьютеров других платформ я рекомендую обратиться к соответствующей литературе.
Соответственно переходим в данный каталог:. Для этого делаем копию данного файла:. Для организации работы файервола используются следующие переменные, добавляемые при необходимости в файл rc. В нашем примере скрипта все компьютеры локальной сети делятся на две условные группы: одна группа привилегированная — это те, кому разрешен доступ в Интернет, используя наиболее употребительные сервисы, такие как:.
Есть и другая группа, компьютерам из которой разрешен доступ только к внешнему корпоративному серверу c IP-адресом Мы должны добиться, чтобы можно было изменять привилегированную группу, что называется, «на лету», по возможности не разрывая установленных соединений. Для этого мы из нашего скрипта вызываем дополнительный скрипт rc. Достаточно отредактировать и перезапустить этот дополнительный скрипт, не затрагивая всех остальных настроек файервола.
Дополнительно мы должны предусмотреть ситуацию, когда меняются параметры сети, такие как IP-адрес шлюза провайдера. Для этого мы будем использовать в скрипте локальные переменные. Например, при изменении шлюза по умолчанию достаточно изменить значение переменной intgateway и перезапустить скрипт rc.
Создаем и редактируем скрипт rc. Например, чтобы добавить два компьютера с IP-адресами При попытке удалить несуществующее правило система выдает на консоль сообщение следующего вида:.
Выбор пал на FreeBSD так как считаю это лучшей операционкой для таких серверов. Статьи будут поделены на части. В первой части будет описана процедура установки FreeBSD на компьютер. Итак приступим. Для начала нам нужно загрузить ISO образ системы. Взять его можно с официального сайта FreeBSD.
На момент написания статьи это версия В общем берём образ, накатываем на диск или флешку и вставляем в компьютер. После загрузки на мониторе мы увидим вот такую картинку:.
На этом этапе клацаем на Enter и идём дальше, другие пункты нас пока не волнуют. После того как произошла загрузка видим на экране вот такое:. Снова жмём Enter и начинаем установку.
Ввели к примеру TestServer нажали Enter и снова дальше, выбираем что бы хотим установить. Далее у нас установщик спрашивает, как быть с диском?
Вдаваться в подробности не будем и выберем самый первый вариант Auto UFS. Это означает что будет использован ВЕСЬ жёсткий диск то есть старые данные сотрутся!!! Здесь жмём Entire Disk вкратце установщик хочет знать использовать весь диск или нет, ну нам другое пока не нужно.
Работает он просто.
Вы запускаете скрипт, редактируете правила, потом сохраняете их и принимаете изменения. Скрипт после применения правил выводит сообщение о том, что все ли в порядке, записываем правила или нет.
Если вы где-то ошиблись и вас отключило от сервера, вы не сможете положительно ответить на вопрос. Скрипт ждет 30 секунд ответа и если его не получает, откатывается на предыдущую версию правил.
Вы спокойно подключаетесь и смотрите, где ошиблись. Копируем скрипт:. Интернет не работает, на шлюзе работает и всё пингует, на клиенте нет, расстроен, я в который раз пытался осилить NAT уровня ядра и снова неудача.
В поисках решения я попал на страницу форума bsdportal и там у пользователя была схожая проблема, так вот ему предложили стартануть с использованием такого набора правил:. Надо признаться, что первый конфиг IPFW я скопипастил из боевого шлюза на 9. Я просто убрал оттуда divert natd и задействовал ipfw nat, но что-то пошло не так. Мораль такова, что не стоит вот так запросто копипастить конфиги и надеяться, что всё будет работать, особенно, если реализован тот же NAT разными способами, возможно не стоит если версии FreeBSD разные.
Предполагаю, что конфигурация с которой стоит начать — это та самая на которой у меня благополучно всё взлетело, но мне на хватит смелости утверждать, что она идеальная для начала, но тем не менее в ней минимум правил, а значит её дебажить куда легче, чем мою.
Дальше я просто пошёл по всем своим правилам из старой конфигурации и начал их по одному добавлять, каждый раз перезапуская IPFW и проверяя работу интернета на клиентской ubuntu, как только меня выкидывало по ssh или отваливался интернет на клиенте, я заходил в vmware и руками ставил комментарий на правило и дальше с ним работал, пробуя различные варианты. Проблемные оказались правила:. Также до сих пор не решил проблему как быть с правилами, в которых должен быть указан внешний IP адрес, у меня он динамический, поэтому если укажу, то в момент смены адреса последствия непредсказуемы, но скорее всего будет что-то не работать.
Убедились, что после окончательного конфига IPFW ничего не отвалилось и всё, что нужно, работает. Настройка VirtualBox и запуск гостевой Debian на ней iVideon server.
Следующим шагом поднятие VPN. К моменту. В общем время покажет, особенно когда перееду на новую Пока суть да дело, до дома доехал опять инет отвалился на клиенте, понял в чем проблема, у меня было задублировано одно правило:.