Код: Выделить всё
ifconfig_em0 = "192.168.2.1 mask 255.255.255.0"Код: Выделить всё
ifconfig_em0 = "inet 192.168.2.1 mask 255.255.255.0".Код: Выделить всё
ifconfig_em0_alias0 = "192.168.2.10 mask 255.255.255.255"Код: Выделить всё
ifconfig_em0_alias0 = "inet 192.168.2.10 mask 255.255.255.255"Код: Выделить всё
ifconfig_em0_alias0 = "inet 192.168.2.10 mask 255.255.255.255"
ifconfig_em0_alias1 = "inet6 2001: db8: 1:: 1 prefixlen 64"Все настройки адресов и статической маршрутизации, записанные в переменных файла /etc/rc.conf , можно отключить остановкой сервиса:
Код: Выделить всё
# service netif stop em0Код: Выделить всё
# service routing stopРелизы до FreeBSD 9.0 не поддерживает эту функцию только для протоколов отличных от IPv4.
Синтаксис конфигурации протокола IPv6 также существенно изменился. Перед подробным объяснением, приведем пример. То, что раньше записывалось как:
Код: Выделить всё
ifconfig_em0 = "192.168.2.1 mask 255.255.255.0"
ifconfig_em0_alias0 = "192.168.2.2 mask 255.255.255.255"
ipv6_enable = "YES"
ipv6_ifconfig_em0 = "2001: db8: 1:: 1 prefixlen 64"
ipv6_ifconfig_em0_alias0 = "2001: db8: 2:: 1 prefixlen 64"в 9.0-RELEASE должно выглядеть следующим образом:
Код: Выделить всё
ifconfig_em0 = "inet 192.168.2.1 mask 255.255.255.0"
ifconfig_em0_ipv6 = "inet6 2001: db8: 1:: 1 prefixlen 64 accept_rtadv"
ifconfig_em0_alias0 = "192.168.2.2 mask inet 255.255.255.255"
ifconfig_em0_alias1 = "inet6 2001: db8: 2:: 1 prefixlen 64"
ifconfig_em1_ipv6 = "inet6 accept_rtadv"Код: Выделить всё
ipv6_cpe_wanif в файле /etc/rc.conf.
ipv6_gateway_enable = "YES"
ipv6_cpe_wanif = "em0Если установлена переменная ipv6_enable, то устанавливается и переменная ipv6_activate_all_interfaces в файле /etc /rc.conf и опции ifconfig inet6 accept_rtadv для всех сетевых интерфейсов. Отметим, что это сделано только для обратной совместимости? переменная ipv6_enable не должны использоваться в FreeBSD 9.0. Переменная ipv6_ifconfig_IF переименована в ifconfig_IF_ipv6 и определяет, разрешена ли обработка IPv6-пакетов на данном интерфейсе. Если переменная ifconfig_IF_ipv6 не установлена, IPv6-пакеты на интерфейса IF не обрабатываются. Не забывайте, что переменная ifconfig_IF_ipv6 всегда нуждается в указании протокола inet6. Если вам достаточно присвоения автоматического link-local адреса, добавьте следующие строки:
Код: Выделить всё
ifconfig_em0_ipv6 = "inet6 auto_linklocal"Если определена переменная ipv6_ifconfig_IF =»…» это эквивалентно определению ifconfig_IF_ipv6 = «inet6 …». Отметим, что это необходимо только для обратной совместимости. Интерфейс без определения переменной ifconfig_IF_ipv6 отмечается флагом IFDISABLED, который означает, что обработка IPv6-пакетов на этом интерфейсе отключена. Это видно в выводе Ifconfig:
Код: Выделить всё
# Ifconfig em0
em0: flags = 8843 <UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 MTU 1500
options = 9b <RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether XX: XX: XX: XX: XX: XX
inet 192.168.2.1 mask 0xffffff00 broadcast 192.168.2.255
ND6 options = 3 <PERFORMNUD,IFDISABLED,ACCEPT_RTADV>
СМИ: Ethernet autoselect (1000baseT <full-duplex>)
status: activeКод: Выделить всё
# Ifconfig em0 inet6-ifdisabled
Изменена переменная sysctl net.inet6.ip6.accept_rtadv, которая ранее определяла, принимает ли система сообщения ICMPv6 Router Advertisement. В FreeBSD 9.0-RELEASE эта настройка изменяется через ifconfig для каждого интерфейса inet6 accept_rtadv. Хотя sysctl переменная еще доступна в FreeBSD 9.0-RELEASE, теперь он определяет, будет ли для каждого интерфейса параметр установлен по умолчанию. Значение по умолчанию равно 0.
Переменная sysctl net.inet6.ip6.auto_linklocal также изменена. Эта переменная определяла, присваивался ли IPv6 link-local адрес на сетевом интерфейсе автоматически. В FreeBSD 9.0-RELEASE, эта настройка изменяется для каждого интерфейса через ifconfig inet6 auto_linklocal. Хотя sysctl переменная по-прежнему доступна в FreeBSD 9.0-RELEASE, теперь она определяет, будет ли этот параметр установлен по умолчанию для каждого интерфейса. Значение по умолчанию 1 (создания link-local адреса автоматически).
Функциональность ipv6_ifconfig_IF_alias0 интегрирована в ifconfig_IF_alias0. Обратите внимание, что указание протокола обязательно:
Код: Выделить всё
ifconfig_em0_alias0 = "inet 192.168.2.10 mask 255.255.255.255"
ifconfig_em0_alias1 = "inet6 2001: db8: 1:: 1 prefixlen 64Также добавлена новая переменная ipv6_activate_all_interfaces. Если эта переменная установлена в YES, опция IFDISABLED не будет добавлен, даже если ifconfig_IF_ipv6 переменные не определены. Это может предотвратить IFDISABLED на динамически создаваемых интерфейсах, таких как PPP или ng_iface, где определить ifconfig_IF_ipv6 заранее трудно.