Установка сетевой карты freebsd

Обновлено: 05.07.2024


В этой статье мы рассмотрим сетевые интерфейсы в FreeBSD 11.1, покажем настройку сети через файл конфигурации /etc/rc.conf, а именно назначение статических настроек и получение их по DHCP. Пропишем адреса DNS-серверов, настроем hosts и рассмотрим указание временных настроек сети.

Просмотр сетевых интерфейсов.

Для начала проясним: Есть два состояния сетевой карты UP(задействована) и DOWN(не задействована).

Первым делом стоит посмотреть наши сетевые интерфейсы, смотреть будем командой ifconfig.(Рис.1) Вывод команды показывает все интерфейсы UP и DOWN.

ifconfig -a покажет вам тоже самое.

Вот тут есть некоторые отличия от ifconfig в Ubuntu server.(в Ubuntu server "ifconfig" показывает только интерфейсы UP, "ifconfig -a" показывает все интерфейсы и UP и DOWN)


Рис.1 - Результат ввода команды ifconfig.

И так что же мы видим:

  • em0 - наша сетевая карта, с IP адресом 192.168.3.11.
  • em1 - вторая сетевая карта, не настроенная.
  • lo - локальная петля, она у всех присутствует по умолчанию.

Для того чтобы посмотреть интерфейсы только UP, используется команда ifconfig -u (Рис.2):

а для просмотра интерфейсов только DOWN, используется команда ifconfig -d (Рис.3):

Рис.2 - Результат ввода команды ifconfig -u. Рис.3 - Результат ввода команды ifconfig -d.

В дальнейшем я буду показывать примеры настройки на интерфейсе "em0".

Для включения интерфейса используется команда ifconfig " НАЗВАНИЕ-ИНТЕРФЕЙСА " up.

Для выключения интерфейса используется команда ifconfig " НАЗВАНИЕ-ИНТЕРФЕЙСА " down.

"Поиграйтесь" с интерфейсом, если вы конечно же не подключены по ssh, и оставьте его в состоянии UP.

Настройка сети через файл конфигурации.

Для настройки статического или динамического IP адреса нам надо отредактировать файл конфигурации сетевых интерфейсов - /etc/rc.conf мы будем редактировать его с помощью текстового редактора vi.(Рис.4) Сразу скажу, для того чтобы редактировать в vi нужно нажать букву "i", а чтобы сохранить и закрыть документ надо нажать "Esc" ввести ":wq!" и нажать "Enter".

vi /etc/rc.conf

Рис.4 - vi /etc/rc.conf.

Получение настроек сети по DHCP.

Чтобы назначить получение настроек по DHCP, нужно вписать( или изменить существующую) строчку в файл /etc/rc.conf.(Рис.5)

ifconfig_ НАЗВАНИЕ-ИНТЕРФЕЙСА ="DHCP"

Получение сетевых настроек по DHCP.

Рис.5 - Получение сетевых настроек по DHCP.

Перезапускаем сетевую службу netif.(Рис.6)

Перезапуск сетевой службы FreeBSD 11

Рис.6 - Перезапуск сетевой службы FreeBSD.

Смотрим активные сетевые интерфейсы, видим, полученный по DHCP, IP адрес интерфейса em0 - 192.168.3.6(Рис.7)

Проверяем выход в интернет пингуем гугловские восьмёрки.

Проверка активных интерфейсов и доступа к сети.

Рис.7 - Проверка активных интерфейсов и доступа к сети.

Пинги идут. Всё отлично!

Указание настроек сети вручную.

Чтобы назначить статичный адрес для нашей Freebsd нужно в файл /etc/rc.conf вписать две строки(Рис.8)

Статичные настройки сетевого интерфейса.

Рис.8 - Статичные настройки сетевого интерфейса.

Перезапускаем сетевую службу.

Проверяем активные интерфейсы

Проверяем выход в интернет пингуем гугловские восьмёрки.

Настройка DNS.

IP адреса DNS серверов хранятся в файле /etc/resolv.conf(Рис.9)

Открываем resolv.conf в редакторе vi.

Вписываем IP адрес DNS сервера. (Можно указать сколько угодно адресов.)

Если у вас нет файла resolv.conf то создайте его в каталоге /etc

Содержимое файла resolv.conf.

Рис.9 - Содержимое файла resolv.conf.

Файл /etc/hosts.

Файл /etc/hosts содержит таблицы сопоставления DNS имен с IP адресами. В первую очередь ваш сервер будет обращаться к файлу hosts, а потом уже к DNS-серверу.

Записи 127.0.0.1 добавился автоматически при установке.

Лично для себя я отметил полезным внести в hosts запись этого freebsd (IP адрес локальной сети - имя сервера). Теперь мы можем во всех конфигурационных файлах указывать DNS имя, а не IP адрес, а в случае необходимости за кротчайшее время изменить свой IP адрес поправив hosts и настройки интерфейса в /etc/rc.conf.

Это просто для примера вам этого делать не обязательно.

Приступаю к редактированию(Рис.10):

Содержимое файла hosts.

Рис.10 - Содержимое файла hosts.

Проверю попинговав имена из hosts.(Рис.11)

Пингуем имена из hosts.

Рис.11 - Пингуем имена из hosts.

Временное назначение ip адреса.

Честно говоря я не знаю для чего может пригодиться временное назначение сетевых настроек. Разве что допустим у вас какой-нибудь сервер который предназначен только для вашей локальной сети и вы вдруг решили быстренько обновить ПО через интернет на этом сервере, чтобы не ходить к шлюзу не раздавать интернет на нужный IP адрес итд. Вы можете обойтись парой команд.

Например, мы знаем что на 192.168.3.109 точно есть доступ в интернет, назначаем этот IP адрес нашему интерфейсу, так же нужно указать маску сети(Рис.12):

или командой с короткой записью маски сети.

Интернет может не появиться, так как не указан шлюз по умолчанию. Прописываем его и пингуем гугловкие восьмёрки.(Рис.13)

Указываем шлюз по умолчанию. Проверяем ping.

Рис.13 - Указываем шлюз по умолчанию. Проверяем ping.

Правильно ли мы прописали наш шлюз по умолчанию можно посмотреть в таблице маршрутизации. Она выводится с помощью команды "netstat -rn", Шлюз по умолчанию будет обозначен флагом UG.(Рис.14)

Вывод таблицы маршрутизации.

Рис.14 - Вывод таблицы маршрутизации.

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

На этом временная настройка закончена, помните что после перезагрузки сервера или отдельно службы networking, все временные настройки исчезнут.

Добавляем маршрут в сеть 192.168.0.0/16 (Маска 255.255.0.0) через основной шлюз(gateway) 192.168.3.1/24

Вариант добавления маршрута с указанием полной маски.

Переименовываем интерфейс em0 в wan0.

Для удобства некоторые админы переименовывают интерфейсы, чтобы сразу видеть для чего предназначен интерфейс. Допустим у нас шлюз с двумя сетевыми интерфейсами em0(интернет) и em1(локальная сеть) и работать с такими названиями неудобно, так как имея большое количество интерфейсов можно запутаться. Гораздо удобнее работать с интерфейсами wan0 и lan1.

Мы покажем пример переименования интерфейса em0 в wan0 в файле /etc/rc.conf.(Рис.15)

Заменяем двумя строками:

Переименовываем интерфейсы в файле /etc/rc.conf.

Рис.15 - Переименовываем интерфейсы в файле /etc/rc.conf.

Не забываем перезапустить сетевую службу:

Проверю, введу команду ifconfig -u. Видим наш wan0 с нужным IP адресом.(Рис.16)

Проверяем новое название интерфейса. ifconfig -u.

Рис.16 - Проверяем новое название интерфейса. ifconfig -u.

В контексте данного мануала мы будем рассматривать адресацию IPv4. Настройки IP-адреса производятся через файл rc.conf, причем в нем мы прописываем как статический ip-адрес, так и в случае использования DHCP указываем о необходимости использования динамического.

Для начала определим какие сетевые интерфейсы используются на машине, сделаем это с помощью команды ifconfig.



Скриншот показывает результат выполнения команды ifconfig. На нем мы можем видеть одну сетевую карту с именем em0, а также виртуальный loopback интерфейс lo0. Наименование сетевого интерфейса зависит от производителя (Например для сетевых карт Realtek это будет re, у меня em это встроенная интеловская сетевая карта). В нашем случае мы видим наш сетевой интерфейс с присвоенным адресом 192.168.2.6. Сетевая маска написана в шестнадцатиричном виде

Установка статического ip-адреса.

Скажем я хочу поменять ip-адрес без перезагрузки машины. Это можно сделать с помощью одной команды через shell. Соответственно этот адрес измениться после перезагрузки, т.к. все настройке при загрузке берутся из файла /etc/rc.conf, а мы туда вносить ничего пока не будем.

Для примера я хочу поменять адрес на 192.168.2.78. Есть два варианта записи команды, оба они верны -

Обе команды сменят ай-пи адрес, различие состоит в формате записи, во втором случае мы указываем 24-ю подсеть, что соответствует маске сети 255.255.255.0. Для того, чтобы этот статический адрес стал постоянным (как ни сумбурно это звучит, в смысле сохранился после перезагрузки). Мы должны добавить запись в /etc/rc.conf

После перезагрузуки Ваш сервер назначит интерфейс em0 ip-адрес 192.168.2.78 и маску 255.255.255.0

Получение динамического адреса от DHCP

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

Соотвественно для первого пути, мы просто вводим команду

Для установки шлюза по умолчанию, редактируем файл /etc/rc.conf, добавляем или изменяем строку -

Задание серверов DNS

Для указания DNS-серверов (например мы хотим установить публичные гугловские DNS), открываем на редактирование файл /etc/resolv.conf и прописываем -

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

Поменять имя сервера (hostname) Вы также можете отредактировав /etc/rc.conf

После перезагрузки Ваш сервер получит имя myserver.local. Поросмотреть текущее имя можно с помощью команды hostname.

Ну и не забываем прописать в файл hosts имя сервера и ip-адрес, хотя бы для loopback интерфейса -

Archy_k

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Войти

Сейчас на странице 0 пользователей

Нет пользователей, просматривающих эту страницу.

Похожие публикации

Посоветуйте сетевую 10G (х2) на DL360 G6 под 12 freebsd

nicknamer

Доброго времени суток!
Когда-то поднимал эту же тему по поводу NAT + шейп на freebsd 10g
Все советы принял и использовал, получилось пройти полку 4G, но после этого некоторые абоненты жалуются на скорость, хотя потерь нет. Но есть одно отличие это было не массово всего пару абонентов, тестил пару дней, возможно просто совпадение и проблема где-то локально у абонента.

Использую в качестве шейпа dummynet, в качестве ната pf
Не какого pppoe или dhcp на сервере нет

Сетевая карта intel x520-da2

hw.model: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
hw.ncpu: 20

Так же был вопрос почему использую скрипт на бинд процессора к прерываниям и то что freebsd нормально распределяет нагрузку. - Если не распределяю прерывание то начинается хаос, ядра простаивают а некоторые нагружены на 100% - примерно 50 на 50
А так же делаю для того что бы убрать прерывание с 0 ядра так как даминет работает с него

Так же был совет отключить Hyper Threading, отключен для этого и взяли новый сервер с 10 физическими ядрами 2x

Тем не менее нагрузка трафика плавает между 3.99 и 4.6 G - 600 разрыв трафика и в основном держится на 3.99 G

Пока нужно еще наблюдать, смотреть как работает, но тут появилась проблема когда включил шейп, 0 ядро просто унесло в потолок при трафике 4.6, нормально себя чувствует при 3G, хотя есть другие роутера на Freebsd на 11.0, там слабее процы и используется Hyper Threading, которые не могут преодолеть полку 4G но при нагрузке 3.5G, процы нагружены примерно в 70 % те процессоры что немного по лучше в 50-60 % и тюнинг у них не отличается.

Все актуальные форумы я уже просмотрел и использовал к конфигурации разные тюнинги.
Да и если будет вопрос почему не использую freebsd выше 11, то в freebsd 12 уже используется iflib и как бы я не старался убрать прерывания с 0 ядра, эфекта не дало, может у вас буду замечания по этому поводу, а так оно паралелится.

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


Настройка сети FreeBSD не представляет особых затруднений и доступна всем пользователям, которые хотя бы немного знакомы с азами программирования.

Наиболее популярной версией FreeBSD на сегодняшний день является версия FreeBSD 6.2.

Для тог, чтобы начать настройку сетевой карты на базе сети FreeBSD необходимо определить тип сетевой карты (PCI или ISA), а также модель сетевой карты и используемый чип. Отличительной особенностью этой операционной системы является то, что сама система FreeBSD определяет различные типы сетевых карт от различных мировых производителей.

Драйвера различных сетевых карт могут быть представлены в ядре «Generic» следующим образом:

dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38

000ff irq 15 at device 11.0 on pci0

dc0: Ethernet address: 00:a0:cc:da:da:da

ukphy0: on miibus0

ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto

dc1: <82c169 PNIC 10/100BaseTX> port 0?9800-0?98ff mem 0xd3000000-0xd30

000ff irq 11 at device 12.0 on pci0

dc1: Ethernet address: 00:a0:cc:da:da:db

ukphy1: on miibus1

ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto

В том случае, если необходимого драйвера сетевой карты нет в «Generic», то можно загрузить подходящий драйвер из глобальной паутины. Однако при подобном способе установки необходимо компилировать ядро операционной системы.

Обязательным элементом настройки карты будут являться специальные привилегии пользователя «root». Разумеется, что профессиональные пользователи могут использовать и командную строку – ipconfig. Настройка сетевой карты прописывается в разделе /etc/rc.conf.

Если пользователю необходимо определить установлена ли сетевая карта, то следует выбрать следующий листинг, набрав в командной строке ipconfig.

dc0: flags=8843 mtu 1500

inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255

media: Ethernet autoselect (100baseTX )

dc1: flags=8843 mtu 1500

inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255

media: Ethernet 10baseT/UTP

status: no carrier

lp0: flags=8810 mtu 1500

lo0: flags=8049 mtu 16384

inet 127.0.0.1 netmask 0xff000000

tun0: flags=8010 mtu 1500

После введения данного листинга должны определиться все сетевые устройства, например, так:

* dc0: первый Ethernet интерфейс

* dc1: второй Ethernet интерфейс

* lp0: интерфейс параллельного порта

* lo0: устройство loopback

* tun0: туннельное устройство, используемое ppp

Настройка сетевых карт может выполняться с помощью sysinstall. В том случае, если сетевое устройство включено должны появиться аналогичные признаки:

1. UP - карта настроена и готова к работе.

2. Карта имеет (inet) адрес (в данном случае 192.168.1.3).

3. Маска подсети инсталлирована (netmask; 0xffffff00, то же, что и 255.255.255.0).

4. Широковещательный адрес (в данном случае, 192.168.1.255).

5. Обозначение MAC адреса карты (ether) 00:a0:cc:da:da:da

6. Выбор необходимой физической среды передачи данных в режиме автовыбора ((media: Ethernet autoselect (100baseTX))). Здесь можно увидеть, что dc1 была настроена для работы с 10baseT/UTP. В том случае, если необходима более подробная информация о доступных драйверу типах среды, необходимо воспользоваться специальным справочником.

7. Статус соединения (status) active, т.е. Для dc1, мы видим status: no carrier. Это нормально, в том случае, если Ethernet кабель не подключен к карте. Если ipconfig обозначает следующий листинг, то сетевую карту можно считать настроенной неверно.

dc0: flags=8843 mtu 1500

Чтобы настроить сетевую карту, необходимо иметь привилегии пользователя root. Идеальное место для настройки сетевых карт является файл /etc/rc.conf. После того, как Вы откроете строку /etc/rc.conf необходимо добавить следующий листинг:

ifconfig_dc0=”inet 192.168.1.3 netmask 255.255.255.0?

ifconfig_dc1=”inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP”

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