Главная | Контакты



Главная > Программы > ifconfig

Когда интерфейс отмечен как down, система устанавливает передачу траффика на интерфейсе. Если возможно, система так же сбрасывает интерфейс так, что бы не принимать любой входящий траффик.
Вы можете снова перевести интерфейс в состояние up (поднять интерфейс) используя опцию up утилиты ifconfig:

# ifconfig bge0 up

[   Интерфейс отмеченный как down не обязательно с неактивным физическим уровнем. Именно по этому вы будете видеть коммутационный порт активным, даже если он переведен в down. С другой стороны, если видно что интерфейс отмечен как поднятый (up), это не указывает на то что физический уровень активен. Поле status в выводе ifconfig указывает актуальный статус физического уровня.    ]

Для задания постоянных параметров конфигурации интерфейса и его автоматического конфигурирования при загрузке, необходимо добавить соответствующие строки в файл /etc/rc.conf. Ваш rc.conf может содержать несколько строк конфигурации для каждого физического интерфейса присутствующего в системе, в соответствии с адресом интерфейса. Типичная конфигурация может выглядеть следующим образом:

ifconfig_fxp0="inet 10.2.0.1 netmask 255.255.255.192"
ifconfig_fxp0_alias0="inet 10.2.0.5 netmask 255.255.255.255"


Первая часть параметра - ifconfig_fxp0 указывает, что это значение установленное ifconfig для интерфейса fxp0. Вам необходимо указать здесь значение для интерфейса который вы желаете сконфигурировать. Вторая часть - в двойных кавычках, указывается значение ifconfig которые необходимо использовать для данного интерфейса. Например, первая строка сопоставляет адрес IPv4 10.2.0.1 с сетевой маской  255.255.255.192 сетевому интерфейсу fxp0.

Вторая строка, как и первая назначает вторичный адрес (псевдоним) на тот же интерфейс. Назначение псевдонимов  разъясняется далее в этой главе.

 В процессе запуска системы скрипт /etc/rc.d/netif занимается созданием конфигурации сети. Этот rc скрипт можно использовать для конфигурирования сети без перезагрузк сервера. Например, если вы добавили несколько псевдонимов к существующему интерфейсу или сконфигурировали новый интерфейс в файле /etc/rc.conf, можно применить новые параметры  вызвав rc скрипт netif:

# /etc/rc.d/netif restart

При этом перезагрузится конфигурация сети и будут применены ваши изменения. Можно в этом убедиться использовав утилиту ifconfig.

После выполнения скрипта netif, вам необходимо запустить скрипт routing, что бы сообщить системе данные таблицы маршрутизации, следующим образом:

 # /etc/rc.d/routing restart

[ Скрипт netif может удалять маршруты по умолчанию (и другие маршруты) из таблицы маршрутизации. Основываясь на этом факте, выполнять этот скрипт вручную не рекомендуется (например по ssh или telnet), поскольку можно потерять возможность удалённого доступа.  Однако, риск значительно снижается, если вы находитесь в той же подсети, что и сервер. ]

Конфигурирование IP адреса

Для указания IP адреса сетевому интерфейсу можно использовать утилиту ifconfig со следующим синтаксисом:

# ifconfig fxp0 inet 192.168.0.10 netmask 255.255.255.0

В данном случае IP адрес 192.168.0.10 с сетевой маской 255.255.255.0 будет установлен для интерфейса fxp0. Утилита ifconfig так же поддерживает CIDR-нотацию для назначения IP адреса интерфейсу. Для примера, вы можете использовать следующую команду, что бы получить результат предыдущего примера:

# ifconfig fxp0 inet 192.168.0.10/24

Ключевое слово inet (называется семейство адресов) указывает, что интерфейсу назначается адрес IPv4. Утилита ifconfig поддерживает различные семейства адресов, показанные в следующем списке:

* inet для семейства адресов IPv4
* inet6 для семейства адресов IPv6
* atalk для протокола AppleTalk
* ipx для группы протоколов NOVELL IPX/SPX
* link, ether, и lladdr для протоколов
уровня 2  (Ethernet)

Если семейство адресов не определено, ifconfig по умолчанию использует семейство адресов inet.

Для установки интерфейсу адреса IPv6, вы можете использовать следующий синтаксис:

# ifconfig fxp0 inet6 2001:db8:bdbd::123 prefixlen 48

Так же можно сократить синтаксис используя CIDR нотацию, вместо ключевого слова prefixlen. Эквивалент предыдущей строки с использованием CIDR будет выглядеть так:

# ifconfig fxp0 inet6 2001:db8:bdbd::123/48

Конфигурирование адреса 2-го уровня

Вы можете изменить MAC-адрес на сетевом интерфейсе для различных целей. Это можно сделать с использованием ifconfig с семейством адресов ether для изменения адреса уровня 2.
Например, вы хотите изменить MAC адрес на интерфейсе xl0 на 00:01:02:ae:13:57. Для этого используйте следующую команду:

# ifconfig xl0 ether 00:01:02:ae:13:57

[ Изменение Ethernet адреса требует перезагрузки интерфейса, чтобы гарантировать, что MAC-адрес установлен правильно. Если вы связаны с сервером удалённо, изменение MAC-адреса может привести к потери связи. ]


Конфигурирование IPX

Поддержка протокола IPX не включена, по умолчанию, в ядро GENERIC, и для поддержки семейства адресов IPX необходимо скомпилировать специальное ядро.

Для включения поддержки IPX, в конфигурационный файл ядра должна быть включена следующая строка:

options   IPX

Функциональность IPX протокола станет доступна только после перезагрузки с новым ядром.
Для назначения IPX адреса сетевой интерфейсной карте, можно использовать ifconfig(8) с параметром семейства протоколов ipx, как показано здесь:

# ifconfig xl0 ipx 0x101

В данном примере IPX адрес 0X101 назначается интерфейсу xl0.

IPX адрес может быть назначен в netnum[.nodenum] формате, где netnum - номер сети IPX (1-8 шетнадцатиричных разрядов), а nodenum - адрес узла (12 шестнадцатиричных разрядов). Для внесения постоянных значений, необходимо добавить следующую строку в файл  /etc/rc.conf и этот адрес будет привязан к указанному интерфейсу после перезагрузки:

ifconfig_xl0="ipx 0x101"

Так же вы можете проверить, что IPX адрес назначен интерфейсу, используя утилиту ifconfig и указав семейство адресов IPX. При выводе на дисплей будет пропущена информация о прочих протоколах, которые включены на данном интерфейсе:

# ifconfig xl0 ipx
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,M
ULTICAST> metric 0 mtu 1500
options=9<RXCSUM,VLAN_MTU>
ipx 101H.102ae1357

По умолчанию, система не поддерживает IPX шлюз, и не пересылает траффик IPX между интерфейсами. Для включения такой возможности необходим о добавить следующую строку  в файл /etc/rc.conf:

ipxgateway_enable="YES"

Если вы не желаете перезагружать систему для применения изменений, можно включит IPX форвардинг используя утилиту sysctl:

# sysctl net.ipx.ipx.ipxforwarding=1
net.ipx.ipx.ipxforwarding: 0 -> 1

В базовой системе FreeBSD имеется демон IPX маршрутизации. Команда IPXrouted(8) - это демон протокола маршрутной информации (RIP) для протокола IPX. Для включения этого демона, вы должны добавить в файл /etc/rc.conf следующую строчку, чтобы демон стартовал при загрузке системы:

ipxrouted_enable="YES"

Ручной запуск демона маршрутизации IPX, выполняется следующим rc скриптом:

 # /etc/rc.d/ipxrouted start
Starting ipxrouted.

Конфигурирование AppleTalk

Подобно протоколу IPX, протокол AppleTalk не включен по умолчанию в системном ядре. Поддержка этого протокола может быть добавлена путем компиляции, и последующей перезагрузки, специального ядра в файл конфигурации которого добавлена строка:

options NETATALK

Как только ваше новое ядро с поддержкой протокола AppleTalk будет запущено, можно назначить адреса AppleTalk вашему интерфейсу используя утилиту ifconfig(8):

# ifconfig fxp0 atalk 725.40 range 725-727
atalk 725.40 range 725-727 phase 2

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

ifconfig_fxp0="atalk 725.40 range 725-727"

Для проверки присвоения адреса AppleTalk можно снова использовать утилиту ifconfig(8):

# ifconfig fxp0 atalk
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,M
ULTICAST> metric 0 mtu 1500
options=9<RXCSUM,VLAN_MTU>
atalk 725.40 range 725-727 phase 2 broadcast 0.255

[  Для использования протокола AppleTalk для предоставления общего доступа к файлам и принтерам, вы должны использовать программное обеспечение netatalk, доступное в поддиректории системы портов /usr/ports/net/netatalk  ]


Конфигурирование вторичных IP адресов (алиасов)

Возможны различные варианты, когда вам могут понадобиться множество IP адресов (называемых псевдонимами) на одном сетовом интерфейсе. Это может быть, как запуск виртуальных web-хостов на одной машине с использованием различных IP адресов, или создание шлюза для различных подсетей. Теоритически, вы можете создавать неограниченное количество псевдонимов на интерфейсе.

Псевдонимы могут быть добавлены или удалены с использованием утилиты ifconfig(8).

Следующий пример показывает присвоение IP адреса интерфейсу fxp0 и добавления множества псевдонимов для этого интерфейса:

 # ifconfig fxp0 192.168.0.11/24
# ifconfig fxp0 10.0.1.33/24 alias
# ifconfig fxp0 10.0.21.1/25 alias

В этом примере, с интерфейсом fxp0 асоциированы три IP адреса. Первый IP адрес 192.168.0.11/24 назначается главным, а два других добавляются как псевдонимы или вторичные адреса. Для того, что бы сдеать эти изменения постоянными, вам необходимо добавить (обратите внимание на суффикс _alias) следующие строки в файл /etc/rc.conf:

ifconfig_fxp0="inet 192.168.0.5/24"
ifconfig_fxp0_alias0="inet 10.0.1.33/24"
ifconfig_fxp0_alias1="inet 10.0.21.1/25"

Для удаления псевдонимов используется флаг -alias. Вы можете удалить любые назначенные алиасы используя утилиту ifconfig. Для примера, удалим вторичный адрес в предыдущем примере:

# ifconfig xl0 10.0.1.33/24 –alias

Данная команда удаляет специфический адрес с интерфейса, не смотря на способ, каким псевдонимы были добавлены.

Существует одна вещь, о которой вы должны заботиться - вычисление маски подсети для псевдонимов своей же подсети.
Если вы назначаете псевдонимы той же подсети одному интерфейсу (например 192.168.10.1, 192.168.10.2 и 192.168.10.3  с подсетью /24), вы должны назначить правильную сетевую маску одному из IP адресов этой подсети  а другие адреса должны использовать маску подсети /32.

Следующий пример показывает как добавить множественные IP с одной подсети к интерфейсу, а также добавить адреса с других сетей тому же интерфейсу:

# ifconfig bge0 192.168.10.1/25
# ifconfig bge0 192.168.10.2/32 alias
# ifconfig bge0 192.168.10.3/32 alias
# ifconfig bge0 172.16.31.12/24 alias

Как видите, первый IP адрес имеет правильную подсетевую маску для своей сети, а вторичные адреса из той же подсети используют маску /32 (или 255.255.255.255). Последний псевдоним использует корректную сетевую маску, поскольку это адрес из другой подсети.
 

Конфигурирование среды передачи

Различные сетевые интерфейсы имеют различные возможности, что обусловлено особенностями аппаратных средств и возможностями драйвера. Список поддерживаемых интерфейсных сетевых карт с соответствующими названиями драйверов можно найти в файле конфигурации ядра /sys/i386/conf/GENERIC.

Чтобы узнать возможности интерфейса можно ознакомиться со страницами руководства (например man fxp) или использовать команду ifconfig с флагом -m:

# ifconfig -m xl0
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,M
ULTICAST> metric 0 mtu 1500
options=9<RXCSUM,VLAN_MTU>
capabilities=49<RXCSUM,VLAN_MTU,POLLING>

ether 00:01:02:ae:13:57
inet 192.168.14.1 netmask 0xffffff00 broadcast 192.168.14.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
supported media:
media autoselect
media 100baseTX mediaopt full-duplex
media 100baseTX
media 10baseT/UTP mediaopt full-duplex
media 10baseT/UTP
media 100baseTX mediaopt hw-loopback


В данном примере описываются возможности интерфейса xl0. Интерфейс в состояние использовать контрольные суммы RX, поддерживает VLAN MTUs и опрос интерфейса. Он также поддерживает 10baseT и 100baseT в полудуплексном и дуплексном режиме. О конфигуррование определённых возможностей интерфейса мы поговорим далее в этой главе.

По умолчанию, если ни какой тип среды передачи не определён, система производит автовыбор среды передачи. Эти установки прекрасно бы работал, но существуют случаи, когда может происходить сбой передачи. Вообще, не желательно автоконфигурирование портов в производственной среде. Скорость порта и режим дуплекса должны явно конфигурироваться на хосте и на стороне коммутатора.

Для конфигурирования  интерфейса xl0 для использования 100baseT в полно-дуплексном режиме, можно использовать следующую команду:

# ifconfig xl0 media 100baseTX mediaopt full-duplex

[ Изменение среды передачи интерфейса при связи с хостом через сеть, например посредством ssh, может заблокировать доступ к хосту. Рекомендуется использовать физическую консоль или другой локальный способ для изменения этих настроек. ]

Конфигурирование VLANs

FreeBSD поддерживает протокол IEEE802.1Q VLAN.  Это значит, что вы можете конфигурировать VLAN таггинг на сетевом интерфейсе.

Что бы сконфигурировать VLAN, необходимо сначала создать псевдоинтерфейсы VLAN:

# ifconfig vlan0 create

При этом будет создан виртуальный интерфейс, именованый как vlan0. Заметьте, что название интерфейса должно начинаться с ключевого слова vlan и иметь назначеный номер. Если вы не определили номер интерфейса, то ifconfig при создание устройства vlan автоматически назначит ему первый свободный номер устройства и выведет название созданного устройства.

Как только псевдоинтерфейс создан, необходимо одновременно назначить два параметра для интерфейса - номер VLAN и родительский интерфейс (Parent Interface).

Номер VLAN - фактически идентификатор VLAN ID который будет вставлен в заголовок кадра 802.1q. Parent Interface - имя физического интерфейса, который действует как транкинговый порт. Процедура назначения может быть выполнена следующей командой:

# ifconfig vlan0 vlan 10 vlandev fxp0

Теперь, вам необходимо сконфигурировать параметры уровня 3 на VLAN, подобно тому, как это делается на физическом интерфейсе:

# ifconfig vlan0 10.0.2.1/24

Так, как вы не назначаете IP адрес на физическй транк-интерфейс (родительский интерфейс), система не поднимет интерфейс и вам придется сделать это вручную:

# ifconfig fxp0 up

В данном примере конфигурируется устройство vlan0 c тэгом  vlan 10 и назначается на интерфейс fxp0. Так так интерфейс VLAN - виртуальный, создаётся копия атрибутов родительского интерфейса, включающая аппаратный адрес и особенности оборудования:

# ifconfig vlan0
vlan0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MUL
TICAST> metric 0 mtu 1500
ether 00:01:02:ae:13:57
media: Ethernet 100baseTX <full-duplex>
status: active
vlan: 10 parent interface: fxp0


Теперь родительский интерфейс (в нашем случае fxp0) будет являться транк-портом, и вы можете инициализировать и конфигурировать  VLAN и присваивать их транк-интерфейсу.

Как только вы закончите конфигурирование порта VLAN, транк-порт (родительский интерфейс) принимает кадры 802.1q и перенаправляет кадры на соответствующий интерфейс VLAN, на основание тэга VLAN из заголовка кадра. С другой стороны, каждый пакет, который передаётся через интерфейс VLAN инкапсулируется в кадр 802.1q и передаются на родительский интерфейс для физической передачи.

Если вы хотите изменить интерфейс за которым закреплён интерфейс VLAN с одного физического интерфейса на другой, вам необходимо вручную удалить его привязку с первого интерфейса, используя  опцию -vlandev утилиты ifconfig. Теперь можно назначить его на другой интерфейс с использованием опции vlandev.

# ifconfig vlan0 –vlandev

Данная команда снимает ассоциацию интерфейса vlan0 с родительского интерфейса. Для повторного назначения порта VLAN другому интерфейсу, необходимо пройти тем же путём, что и при конфигурировании интерфейса VLAN:

 # ifconfig vlan0 vlan 10 vlandev bge1

Если вы больше не нуждаетесь в интерфейсе VLAN, можно удалить интерфейс полностью, используя опцию ifconfig destroy:

# ifconfig vlan0 destory

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

cloned_interfaces="vlan0 vlan1 vlan2"
ifconfig_vlan0="inet 10.0.2.1/24 vlan 10 vlandev fxp0"
ifconfig_vlan1="inet 192.168.3.1/24 vlan 20 vlandev fxp0"
ifconfig_vlan2="inet 172.16.0.1/24 vlan 30 vlandev fxp0"
ifconfig_fxp0="up"


В первой строке мы сообщаем системе, что необходимо создать три виртуальных интерфейса, с названиями vlan0, vlan1 и vlan2. Следующие три строки формируют псевдоинтерфейс VLAN, назначают IP адрес на каждый интерфейс, и определяют номер признака VLAN и родительский интерфейс (транк-порт). Последняя строка поднимает интерфейс.

Дополнительные возможност ifconfig

Утилита ifconfig имеет несколько опций для тонкой настройки дополнительных возможностей сетевых интерфейсов.

Разгрузка оборудования

Вы можете разгрузить некоторые задачи интенсивно использующие процессор на интерфейсную плату, если сетевой интерфейс поддерживает такую возможность. Разгрузка способствует приращению производительности сети путем высвобождения ресурсов центрального процессора для приложений и выполнять некоторые задачи на уровне сетевого оборудования.
Сюда включаются разгрузка вычисления контрольных сумм TCP/IP, сегментация TCP, маркировка VLAN и TCP Large Receive.
Вы можете использовать ifconfig -m для поиска опций  которые поддерживаются вашим сетевым интерфейсом.

Например, для bge интерфейса это может выглядеть следующим образом:

 # ifconfig -m bge0 | grep cap
capabilities=9b<RXCSUM,TXCSUM,VLAN_MTU,V
LAN_HWTAGGING,VLAN_HWCSUM>


В этом примере мы видим, что bge поддерживает RXCSUM и TXCSUM, то есть контрольные суммы разгружаются соответственно для RX и TX направлений. Чтобы позволить RXCSUM на данном интерфейсе можно использовать следующую команду:

# ifconfig bge0 rxcsum

Или для отключения RXCSUM:

# ifconfig bge0 –rxcsum

То же самое относится к TXCSUM. Вы можете включить или отключить RXCSUM и TXCSUM одновременно используя флаг hwcsum. Например следующая команда  включает RXCSUM и TXCSUM на интерфейсе bge0:

# ifconfig bge0 hwcsum

Разгрузка сегментации TCP (TSO) и разгрузка Large Receive (LRO),  используемые в аппаратных средствах Intel, позволяют разгрузить сегментацию уровня 4 на оборудование сети. В настоящее время только драйвер em(4) поддерживает такие возможности. Что бы включить TSO и LPO на интерфейсе, можно использовать следующие команды:

# ifconfig em0 tso
# ifconfig em0 lro


[ Вы должны использовать tso4 и tso6 для того, что бы разгрузить сегментацию TCP4 или TCP6 соответственно, поскольку некоторые карты не поддерживают tso и для IPv4 и для IPv6. Эти опции можно использовать и в том случае, если вы не хотите включать разгрузку для определённого стэка протокола.]

Если ваши аппаратные средства позволяют, вы можете разгрузить VLAN таггинг для вашего сетевого интерфейса, если физический интерфейс связан с интерфейсом vlan(4). Чтобы включить таггинг VLAN на аппаратных средствах, используйте следующую команду:

# ifconfig bge0 vlanhwtag

Данная команда включит VLAN таггинг на уровне физического интерфейса. Для отключения данной опции используйте команду вида:

# ifconfig bge0 –vlanhwtag

Неразборчивый режим

Включая неразборчивый режим, интерфейс перестаёт фильтровать поступающие кадры Ethernet, на основание MAC адреса. При этом весь траффик передаётся верхнему уровню TCP/IP, не зависимо от адреса назначения в заголовках 2-го и 3-го уровней.

Данная возможность полезна для перехвата данных на интерфейсе. Специализированное программное обеспечение, вроде tcpdump, позволяет видеть всё движение сетевого траффика. Например при запуске tcpdump(1) на интерфейсе xl0, мы можем видеть статус интерфейса:

 # ifconfig xl0
xl0: flags=8843<UP,BROADCAST,RUNNING,PROMISC,S
IMPLEX,MULTICAST> metric 0 mtu 1500
options=9<RXCSUM,VLAN_MTU>
capabilities=49<RXCSUM,VLAN_MTU,POLLING>

ether 00:01:02:ae:13:57
inet 192.168.14.1 netmask 0xffffff00 broadcast 192.168.14.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active

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

  # ifconfig xl0 -promisc

MTU

Вы можете установить значение MTU для интерфейса сети, используя утилиту ifconfig. По умолчанию MTU зависит от особенностей вашего интерфейса и различно для разных интерфейсов, но по умолчанию MTU для интерфейса Ethernet составляет 1500 байт.

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

Например, для установки размера MTU в 9000 (jumbo-кадр) на интерфейсе ti0, вы можете использовать следующую команду:

   # ifconfig ti0 mtu 9000

Как только вы измените значение MTU для интерфейса, рекомендуется перезгрузить интерфейс используя команды ifconfig down и up. Это гарантирует, что все соединения будут использовать новые значения MTU.

ARP

По умолчанию, интерфейс Ethernet использует arp(4) для маппинга адресов уровня 2(Ethernet) и уровня 3(IP). Данные маппинга хранятся в "ARP-таблице". Если для какого-то адреса не обнаруживается вхождение, система передаёт запрос arp для поиска Ethernet-адреса хоста.

Для отключения ARP (протокола разрешения адресов) на интерфейсе можно использовать следующую команду:

# ifconfig fxp0 –arp

В данном случае полностью отключается ARP на интерфейсе xl0 и вы можете увидеть флаг NOARP на интерфейсе где ARP отключен:

# ifconfig xl0 | grep flag
xl0: flags=88c3<UP,BROADCAST,RUNNING,NOARP,SI
MPLEX,MULTICAST> metric 0 mtu 1500

[ Крайне редко необходимо отключать ARP - например, когда с вашей сетью связано какое либо устройство которое не может работать с ARP-запросами. В противных случаях не рекомендуется отключение ARP.]

Статический ARP


Существуют несколько методов, которыми хост может испортить ARP-таблицы других хостов, передавая поддельные arp-сообщения. Когда такое происходит,  другие хосты перестают принимать траффик, или, что хуже, траффик перенаправляется другому хосту вместо фактического шлюза.
Для предотвращения подобного нападения на сеть, вы можете изменить поведение ARP, заданное по умолчанию, и препятствовать тому, что бы хост-нападающий изучил ARP-информацию вашей сети.

В таком случае вам придется вручную настроить ARP-таблицы доверенных хостов вашей сети и указать системе не анализировать приходящую информацию ARP. Этот метод известен под названием статический ARP.

Для настройки статических записей ARP, необходимо использовать утилиту arp(8). Эта утилита рассматривается более подробно, далее, в этой главе. Однако для простого добавления записи в системную таблицу ARP, можно использовать следующую команду:

# arp -s 192.168.0.151 00:c0:91:30:ab:cd

В данном примере показана статическая запись назначения IP - адреса для MAC-адреса 00:c0:91:30:ab:cd.

Когда вы закончите настройки таблицы доверенных MAC-адресов, необходимо сконфигурировать сетевой интерфейс для работы только со статическими записями ARP, следующим образом:

 # ifconfig xl0 staticarp

Таким образом отключается посылка ARP запроса неизвестным адресам на интерфейсе xl0 и задействуется только статическая таблица записей ARP.

Для проверки корректности выполнения данной операции, необходимо проверить флаги интерфейса, используя утилиту ifconfig следующим образом:

# ifconfig xl0 | grep flags
xl0: flags=88843<UP,BROADCAST,RUNNING,SIMPLEX,M
ULTICAST,STATICARP> metric 0 mtu 1500


Для отключения статического ARP на интерфейсе, можно использовать утилиту ifconfig  с опцией  -ststicarp.

Режим монитора

Перевод интерфейса в режим монитора означает, что интерфейс ни чего не передаёт по физическому каналу. Главным образом это используется для пассивного сниффинга. Когда вы не желаете, чтобы интерфейс что-то передавал, и был невидим в сети.

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

Для включения режима монитора на интерфейсе, используется утилита ifconfig  с флагом monitor:

# ifconfig fxp0 monitor

Эта команда перевод интерфейс fxp0 в режим монитора. Что бы убедиться что интерфейс находится в режиме монитора, найдите флаг monitor на интерфейсе:

 # ifconfig xl0 | grep flags
xl0: flags=48843<UP,BROADCAST,RUNNING,SIMPLEX,M
ULTICAST,MONITOR> metric 0 mtu 1500


Конфигурирование канала FastEther

FastEtherChannal (FEC) позволяет групировать множество (до 8-и) интерфейсов, для создания высокопроизводительного виртуального интерфейса. Создание интерфейса FEC производится посредством подсистемы netgraph(4), и  позволяет легко создавать и управлять интерфейсами используя конфигурационный файл /etc/rc.conf.

Создадим типовую конфигурацию FEC интерфейса связывающего два физических интерфейса (bge0 и bge1):

fec_interfaces="fec0"
fecconfig_fec0="bge0 bge1"
ifconfig_fec0="inet 192.168.21.4/24"


Первая строка говорит системе инициализировать виртуальный интерфейс с именем fec0. Вы можете определить множество FEC интерфейсов, разделяя их названия пробелом. В данном примере во второй строке определены участники FEC интерфейса. Вы не должны определять IP-адрес на физических интерфейсах, IP-адрес требуется задать для виртуального FEC-интерфейса.

Материал взят с сайта: http://iboxjo.livejournal.com/

Главная > Программы > ifconfig