Pfsense не видит сетевую карту

Обновлено: 06.07.2024

Домашние роутеры старше 2-х лет перестали справляться с современными тарифами предлагаемыми провайдерами. А именно режут скорость за долго до ограничений по тарифному плану. Эта статья для тех, кому поставщик интернета предоставляет трафик сравнимый со скоростью Ethernet порта, а именно 100 Мегабит в секунду. Причем с использованием ресурсоемких для домашних маршрутизаторов протоколов L2TP и PPTP.

Я все свои эксперименты проводил с провайдером Коламбия-Телеком предоставляющим услуги доступа к сати интернет в Волгограде под торговой маркой Next-one. Но подойдет и для Beeline. И для всех провайдеров, которые предоставляют доступ к интернету по протоколам L2TP или PPTP.

Зачем все это надо или 3 варианта решения проблем

Чтобы выжать все из своего провайдера есть три варианта:

  1. Подключить ethernet кабель напрямую в компьютер. Идеальный вариант, если у вас только один стационарный компьютер. Если же в доме есть планшеты, телефоны и прочая мобильность то этот вариант не для вас.
  2. Купить более мощный маршрутизатор. Я держал в руках только две модели которые в плотную подошли к 100 Мб/с на протоколе L2TP. Это ASUS RT-N56U и UPVEL UR-325BN. При этом первый долгое время был совсем не дешев, а второй не балует качеством.
  3. Собрать роутер самостоятельно из подручных средств. При наличии старого хлама абсолютно бесплатный вариант.

Самодельный домашний роутер

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

Выбор программного обеспечения для домашнего маршрутизатора


Как оказалось, не надо изобретать велосипед, все необходимое уже давно написано. Более того является абсолютно свободным и бесплатным для домашнего использования. В этой статье речь пойдет о pfSense — дистрибутиве для создания межсетевого экрана/маршрутизатора, основанного на FreeBSD. Который имеет удобный web интерфейс и позволяет произвести необходимые настройки обычному пользователю.

Подробнее на Википедии.
Pfsense поддерживает необходимый мне протокол L2TP.

Требования к железу для домашнего роутера


Я его слепил из того, что было. Материнка на Атоме Intel(R) Atom(TM) CPU 230 @ 1.60GHz + 512 мегабайт оперативной памяти. В качестве накопителя было решено использовать старую карту флеш-памяти CompactFlash на 512 МегаБайт из старого фотоаппарата. Чтобы использовать ее как жесткий диск с IDE разъемом ATA необходимо приобрести переходник.

Ну и естественно необходимо иметь две сетевые карты. Одна будет смотреть в сторону провайдера, а вторая в вашу домашнюю сеть.

Минимальные требования к аппаратному обеспечению для использования ПО PFSENSE

Для установки на жесткий диск

CD-ROM устройство и диск для установки либо USB флешка
1 GB свободного места

Для встроенной системы

512 MB Compact Flash

Как видите требования не высоки.

Выбор Pfsense для маршрутизатора

Как записать Compack Flash для встроенной системы Pfsense

Запись CF для встроенной системы не столь тривиальна, как может показаться, простое копирование и обычные программы для записи образов на диск не помогут.
Воспользуемся утилитой physdiskwrite и инструкцией.

Первый запуск PfSense

Настройка PFSENSE

Настройка WAN порта pfsense

Настройка LAN порта PfSense

LAN порт будем настраивать по своему усмотрению. Я предпочитаю использовать статический адрес (не следует путать с DHCP сервером для клиентов локальной сети).

Скорее всего в интерфейсе LAN уже все будет настроено так как надо еще с момента установки pfSense, когда мы вводили параметры в консоль. Поэтому просто проверьте значения.

Настройка L2TP Pfsense для подключения к интернету

Тестирование производительности маршрутизатора на базе pfsense

Самодельный маршрутизатор показал скорости на протоколе L2TP близкие к скорости Ethernet порта.
Было (для тарифа 100 Мбит/сек) на роутере DIR-620:

Стало (для тарифа 100 Мбит/сек) на самодельном роутере PfSense:


смотря какая версия у тебя. если старая то есть 1,2 то там нужно создать еще один интерфейс но указать физическую карту туже что и в первом случаи.

в 2,0 и выше такая есть возможность сразу несколько айпи указывать.

или как вариант если у тебя есть управляемый коммутатор то лучше тогда сделать все на уровне виланов.

P.S. Естественно надо знать на какой интерфейс будем вешать псевдоним.

Большое спасибо Ребят, что помогаете мне советом.
И так, два сервера с «pfSense 1.2.3» (см. схему)
Два независимых интерет линка далее внутренняя сеть, хаб и интернет раздаётся юзерам, далее юзеры сами принимают решение
через какой интернет им выходить или «1» или «2».
С помощью программы «NetSetMan» юзеры одним кликом в свойстве протокола TCP/IP.
Меняют ШЛЮЗ И DNSки- вот так они и ходят в интерент.

P.S. А второй сервак можно для отказоустойчивости использовать (см.CARP).
P.P.S. И перейдите всё-таки на вторую версию пифа.

Повторюсь:
1) На сервак с «pfSense 1.2.3» ставятся ТРИ сетевых карты (два –WAN, одна LAN с двумя IP адресами (192.168.1.100 и 192.168.1.200)

2) Во внутренней сети у всех юзеров статистическим IP адреса

3) юзеры во внутренней сети в сетевой карте в свойстве протокола TCP/IP меняют ШЛЮЗ И DNSки- таким способом они могут выбирать через какого интернет провайдера им выходить в инет "1" или "2"

1 вопрос - да можно. а если есть управляемый коммутатор ТО ВООБЩЕ ЛЕГКО. вланы поднять для внутрисетки и все. и там айпи уже поделить. пользователи никогда не поймут что сервер один.

2 вопрос - пофик. просто открываешь доступ по /24 маске и все

3 вопрос - и что? после того как будет стоять один сервер пофик что они выбирут но идея что они через другова оператора работают пускай им греет душу.

Добавлено:
если коммутатора управляемого нет что бы на одной сетевке вланы сделать.

вторая версия красива и более функциональна согласен спору нет
но есть такой ньюанс что под эту ось точнее сервер под нее обычно бывает очень хлипким и вот например когда я себе обновил свой 1,2 на 2,0 то как результат было очень много мата и ругани. потому что начался великий тормоз морда открылась несколько минут. а уж что бы конфиг сохранить вообще молчу.
ну что поделать ну не было тогда у меня больше 64 метров памяти и винт был древний 300 метров и пенек 133 . и менять с дома в контору не хотелось свое родное ничего нести

так что если смотреть со стороны работает не трож. лучше оставить 1,2 и настраивать на нем

если на вскидку то делается через создание еще одного интерфейса OPT1 который называется. только физический интерфейс указываешь тот же что и для ЛАН . и вот так прописывается 2 айпи на одну сетевку обманывается фактически ось.

Что всегда заметит каждый пользователь? Правильно, отсутствие интернета. Но как? «Вконтакте» не грузится — значит, интернета нет. Но ведь бывает, что директор или бравые богатыри из отдела ИБ хотят что-то запретить, что-то собрать, где-то проконтролировать. И тут администратор начинает танцевать вокруг шлюза в интернет. Если в компании много денег, то танцы могут быть длительными и с галантными кавалерами (мар Checkpoint, мистер PaloAlto, господин SonicWall). А вот что делать, если денег только на железо, функционала хотят много, а делать надо быстро? Бежать. На помощь приходит Mr Proper Pfsense, активно поддерживаемый сообществом бесплатный, гибкий и несложный в настройке межсетевой экран на базе FreeBSD.

В первой части рассмотрим классику жанра — межсетевой экран с прокси (аутентификация по учетным данным Active Directory) и фильтрацией контента, а также какой-никакой антивирусной проверкой трафика налету. Отдельно рассмотрим вопрос настройки удаленного доступа пользователей к сети предприятия.

Для уменьшения возможного холивара: «Да, это можно сделать на %yourdistrname%» и «Да, все можно настроить из командной строки». Так, все формальности соблюдены — можно начинать.

Установку сделаем с флешки. Для этого используем образ pfSense-memstick-2.2.2-RELEASE-i386.img.gz, скачанный с одного из зеркал, указанных на официальном сайте. Очень удобно, что сначала мы выбираем архитектуру, функционал, а потом уже нам предлагают список зеркал. Процесс установки детально расписывать не буду, там все элементарно, никаких дополнительных настроек не нужно. По окончанию установки вам предложат назначить VLAN и определить интерфейсы, а также их назначение. Выглядит это примерно так:


После настройки интерфейсов мы попадаем в меню с ограниченным числом пунктов, однако есть возможность выйти в шелл. На мой взгляд, самым полезным пуктом меню является возможность сброса пароля на веб-морду. Разработчики pfsense настоятельно рекомендуют проводить всю настройку только через графический интерфейс. А выглядит он достаточно симпатично, набор виджетов широк, можно кастомизировать их набор под себя.


Первым делом создаем свой внутренний CA на pfsense или используем уже имеющийся. Для этого в меню System выбираем Cert Manager и в разделе CA проводим необходимые настройки: нужно указать длину ключа, алгоритм хэширования, время жизни и полное имя CA. Настроенный CA будет нам нужен для создания OpenVPN-сервера и для работы по LDAPS.


Теперь интегрируем наш шлюз с Active Directory. В разделе Servers блока User Manager из меню System были проведены настройки на использование контроллера домена. Все до безобразия просто — указал адрес, транспорт, область поиска, контейнеры с учетками, креды для создания привязки и шаблон для заполнения Microsoft AD — можно выпускать кракена пользователей в интернет.


Перейдем к настройке правил фильтрации трафика. Во-первых, если требуется любая группировка адресов, портов, URL, тогда добро пожаловать на вкладку Aliases. Во-вторых, вы можете настроить временные промежутки, которые можно использовать для работы правил. По умолчанию создано правило «всем везде все можно», а также правило, которое не дает заблочить доступ к веб-морде. Создание правил выглядит довольно буднично:


Однако есть ряд дополнительных возможностей, например, разрешенные ОС, какие могут быть выставлены TCP-флаги, график работы правила, а также инспектор протоколов прикладного уровня.



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

Для экспорта настроек OpenVPN для устройств на разных платформах нужно установить пакет OpenVPN Client Export Utility, который есть в списке доступных для установки пакетов. Теперь возвращаемся к истокам – во вкладку Cert Manager, там создаем сертификат для сервера VPN и каждого клиента. Разница только в типе сертификата.


Переходим к настройке сервера OpenVPN. Выбираем режим работы сервера – в моем случае «Remote Access (SSL/TLS + User Auth)», сервер аутентификации, протокол, порт, нужный сертификат сервера VPN и выставляем нужные параметры шифрования. То, что предлагается по умолчанию — не лучший выбор.


Дальше настраиваем VPN-сеть и выставляем настройки для клиентов. Тут мы можем определить, стоит ли выдавать клиенту DNS-сервера, весь ли трафик клиента гнать в туннель и т.д. После этого сохраняемся и отправляемся на вкладку client export. Отсюда мы экспортируем нужные для подключения настройки и сертификат пользователя.


Кстати, при настройке сервера можно было воспользоваться Wizardом, который провел бы Вас через все “печали и невзгоды” настройки OpenVPN. Некий аналог кнопки “Сделать хорошо”.

Конечно, если у вас многим пользователям нужен удаленный доступ, то работа по выдаче и отзову сертификатов, экспорту настроек, заведению пользователей в локальную базу превратиться в очень скучное, но ответственное задание. Считаю, что при подобных требованиях к масштабированию необходимо наличие отдельного CA с CRL и единой базы аутентификации, типа Active Directory. Но если пользователей мало, то предложенный выше вариант вполне работоспособен.

Нам осталось настроить прокси, фильтрацию контента и антивирусную проверку. Устанавливаем HAVP-пакет – это прокси с ClamAV сканером. Для настройки указываем режим работы ClamAV и прокси, порт, интерфейс, настройки проверки проходящего трафика. Поскольку планируется использование squid, то наш режим работы — «Parent for Squid». Отдельно настраиваем параметры обновления антивирусной базы и ее зеркала.


Переходим к настройке Squid. После установки пакета выбираем режим работы прокси и порт, затем на вкладке «Auth Settings» указываем используемый метод аутентификации. Поскольку у нас стоит задача использования Active Directory в качестве базы пользователей, то используем протокол LDAP. Настройки для интеграции с контроллером домена представлены ниже.


Теперь фильтрация – настраиваем squidGuardian. По подходам к фильтрации в принципе есть хорошая статья – «To-do: Фильтруем вся и всё». После установки squidGuardian через пункт «Proxy filter» меню «Services» переходим к его настройке. На вкладке «Blacklist» указываем откуда качать сами блэклисты в формате tar или tar.gz, а также на вкладке «General settings» ставим галочку для включения использования блэклистов. Я использовал бесплатные блэклисты отсюда. В случае необходимости работы контентного фильтра по времени, промежутки можно задать на вкладке Times. Дальше уже настраиваете общие или групповые ACL, главное не забыть поставить галочку напротив запрета использования IP-адресов в URL. Для настройки правил фильтрации нужно нажать «Target Rules List» и выбрать действия для нужных категорий, а также действие по умолчанию.


Если у вас есть необходимость в создании собственных категорий, то можно воспользоваться страничкой «Target Categories». После сохранения ваша категория появится в общем перечне правил. Я создавал свою категорию для разрешения доступа к ресурсам по IP-адресам, у которых нет DNS-имени.

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

В заключении хотел бы отметить, что данный дистрибутив импонирует мне широким функционалом и гибкостью, очень легко клонировать настройки на несколько шлюзов, есть возможность сделать embedded решения. Конечно, полная настройка через веб ИМХО не есть хорошо, но может именно таким образом разработчики огораживают начинающих админов от болезненных ударов граблей разной высоты.

у меня проблема с OpenVPN. У меня есть коробка с pfSense дома разрешить трафик через VPN-туннель. Клиентский компьютер - Windows XP Home, за стандартным подключением Comcast и беспроводным маршрутизатором Netgear. Я использую OpenVPN для доступа к своей рабочей сети (откуда я пытаюсь выбраться из этого поста) из дома (с машиной XP Pro за pfSense), и это работает нормально. Конфигурация клиента похожа, но имеет изменения, характерные для моей установки. Вот мой XP Home config:

когда я запускаю графический интерфейс OpenVPN, туннельное сетевое подключение становится красным, и я могу щелкнуть правой кнопкой мыши, чтобы подключиться к серверу. Кажется, все работает нормально, пока я не просмотрю фактическую сеть. Туннельное соединение крана становится зеленым, и это говорит подключенный к 10.1.1.6 (я пробовал различные пулы IP здесь тоже не повезло). Я прекрасно вижу внутреннюю сеть, но моей домашней сети за pfSense нет. Я пробовал просматривать там с помощью Tools > Карта сетевого диска, с помощью браузера, без успеха.

когда я открываю командную строку на клиенте и использую команду ipconfig-all, я получаю следующее:

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

О да, я должен отметить, что у меня есть правила брандмауэра, настроенные для pfSense, чтобы разрешить трафик через WAN и ЛВС. Сначала было просто правило брандмауэра WAN, потому что это то, что я получил из литературы, которую я читал. Затем я также создал правило LAN, но я не уверен, что это правильно. Однако ни один из способов не работает.

после работы над этой проблемой в течение некоторого времени, я успешно подключиться к моей домашней сети за pfSense межсетевой экран. Я отрегулировал несколько параметров, которые, возможно, сделали это возможным:

1) я изменил "сжатие LZO" с непроверенного на проверенное
2) я изменил названия своих клиентских ключей (в чем сомневаюсь)
3) я прошел и дважды проверил все мои настройки. Хотя два выше были единственными чистыми изменениями I сделано, я удалил значение в "Local Network" на вкладке Сервера в pfSense OpenVPN, но снова добавил его.

Оставшаяся проблема заключается в том, что в Windows XP, когда я иду в меню Сервис > подключить сетевой диск, я все еще не могу перейти к домашней сети. Я могу получить доступ к моим домашним принтерам и пинговать IP-адреса в домашней сети, и если я ввожу путь для общих папок я могу получить в них. Было бы неплохо иметь возможность просматривать доступные общие диски в домашней сети, но это маленький кусочек общей головоломки.

Читайте также: