Cейчас мы поддерживаем модульные сетевые сценарии. Это значит, что мы можем легко добавлять поддержку для новых типов интерфейсов и конфигурационных модулей, сохраняя совместимость с существующими.
По умолчанию, модули загружаются только если пакет, нужный им, установлен. Если отметить модуль, для которого не установлен пакет, будет выдана ошибка с указанием, какой пакет нужно установить. В идеале, настройка модулей требуется только тогда, когда установленно несколько пакетов, представляющих одну и ту же службу, а вам установить приоритет одного из них.
# выбор ifconfig, а не iproute2 modules="ifconfig"# можно также указать другие модули для отдельного интерфейса # здесь мы выбираем pump, а не dhcpcd modules_eth0="pump"# также можно указать, какие модули не надо использовать: например, # возможно, вы используете supplicant или linux-wlan-ng для управления # параметрами беспроводной сети, но при этом желаете настраивать сетевые # параметры раздельно для каждого связанного ESSID modules="!iwconfig"
Сейчас мы предоставляем два обработчика интерфейса:
# emerge sys-apps/iproute2# выбор ifconfig, а не iproute2, когда установлены оба # так как в этом случае openrc предпочтет iproute2 modules="ifconfig"
Так как и
config_eth0="192.168.0.2/24" config_eth0="192.168.0.2 netmask 255.255.255.0"# также можно указать широковещательный адрес config_eth0="192.168.0.2/24 brd 192.168.0.255" config_eth0="192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"
DHCP — это способ получения сетевой информации (адреса IP, сервера DNS, шлюза и т.д.) с сервера. Это значит, что если в сети запущен сервер DHCP, вам остается только сказать каждому клиенту, чтобы он использовал DHCP, и сеть настроится сама собой. Конечно, вам придется настраивать все остальное (бесроводную сеть, подключение точка-точка и т.д.), если они должны работать до использования DHCP.
Поддержка DHCP обеспечивается
Модуль DHCP | Пакет | Плюсы | Минусы |
---|---|---|---|
Если у вас установлено больше одного DHCP клиента, вам нужно указать, какой
использовать; иначе по умолчанию используется
Чтобы передать определенные параметры модулю DHCP, используйте
Мы попытались сделать DHCP относительным агностиком: по существу, мы
поддерживаем следующие команды, с использованием переменной
# требуется только если у вас несколько модулей DHCP modules="dhcpcd" config_eth0="dhcp" dhcpcd_eth0="-t 10"# прекращение после 10 секунд dhcp_eth0="release nodns nontp nonis"# только получать адрес
Сначала нужно установить программное обеспечение для ADSL.
# emerge net-dialup/ppp
Во-вторых, создайте сетевой скрипт для PPP, а также сетевой скрипт для интерфейса ethernet, который будет использоваться PPP:
# ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0 # ln -s /etc/init.d/net.lo /etc/init.d/net.eth0
Проверьте, что вы установили
Теперь нам нужно настроить
config_eth0=null(Укажите ваш интерфейс ethernet) config_ppp0="ppp" link_ppp0="eth0"(Укажите ваш интерфейс ethernet) plugins_ppp0="pppoe" username_ppp0='user' password_ppp0='password' pppd_ppp0=" noauth defaultroute usepeerdns holdoff 3 child-timeout 60 lcp-echo-interval 15 lcp-echo-failure 3 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp rc_need_ppp0="net.eth0"
Вы также можете установить свой пароль в
# * обязательна "пользователь" * "пароль"
Если вы используете PPPoE с USB-модемом, вам нужно установить
APIPA пытается найти свободный адрес в диапазоне 169.254.0.0-169.254.255.255, проверяя отклик на интерфейсе произвольного адреса из этого диапазона по протоколу arp. Если отклика нет, адрес назначается интерфейсу.
Это полезно только в локальных сетях, где нет сервера DHCP, нет прямого подключения к интернету, и все другие компьютеры используют APIPA.
Для поддержки APIPA установите
# сначала пробуем DHCP, при неудаче переходим на APIPA config_eth0="dhcp" fallback_eth0="apipa"# использование только APIPA config_eth0="apipa"
Для объединения интерфесов установите
Объединение используется для повышения пропускной способности сети. Если у вас есть две сетевых карты, выходящих в одну и ту же сеть, можно объединить их, так что ваши приложения увидят только один интерфейс, но реально будут пользоваться двумя сетевыми платами.
# объединение интерфейсов slaves_bond0="eth0 eth1 eth2"# вы можете не захотеть назначать адрес IP объединенному интерфейсу config_bond0="null"# указание зависимости от eth0, eth1 и eth2, так как им может требоваться # дополнительная настройка rc_need_bond0="net.eth0 net.eth1 net.eth2"
Для поддержки мостов установите
Мосты используются для объединения сетей. Например, у вас может быть сервер, подсоединенный к интернету через ADSL-модем, и плата беспроводного доступа для предоставления доступа в интернет через ADSL модем другим компьютерам. Чтобы соединить оба интерфейса, можно создать «мост».
# настройка моста: подробности в "man brctl" brctl_br0="setfd 0" "sethello 0" "stp off"# включаем порты в мост br0 bridge_br0="eth0 eth1"# устанавливаем порты в "null", чтобы не запускался dhcp config_eth0="null" config_eth1="null"# наконец, даем мосту адрес; можно использовать и DHCP config_br0="192.168.0.1/24"# указываем зависимость от eth0 и eth1, так как им может требоваться # дополнительная настройка rc_need_bond0="net.eth0 net.eth1"
Если вам необходимо, вы можете также изменить MAC-адреса своих интерфейсов через файл конфигурации сети.
# установка MAC-адреса интерфейса mac_eth0="00:11:22:33:44:55"# случайная установка последних 3 байт адреса mac_eth0="random-ending"# установка случайного адреса из диапазона для физического соединения # того же типа (оптического, медного, беспроводного) любого изготовителя mac_eth0="random-samekind"# установка случайного адреса из диапазона для любого типа физического # соединения (оптического, медного, беспроводного) любого изготовителя mac_eth0="random-anykind"# полностью случайный; ВНИМАНИЕ, некоторые MAC-адреса, сгенерированные # таким образом, могут вести себя НЕ ТАК, как предполагается mac_eth0="random-full"
Для образования тоннеля вам не нужно ничего устанавливать, поскольку на это способен сам обработчик интерфейса.
# для тоннелей GRE iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"# для тоннелей IPIP iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"# для настройки интерфейса config_vpn0="192.168.0.2 peer 192.168.1.1"
Для поддержки VLAN, установите
Виртуальная локальная сеть (VLAN) — это группа сетевых устройств, которые ведут себя, как будто подключены к одному сегменту сети, даже когда это не так. Членам VLAN видны только члены той же VLAN даже если в той же физической сети присутствуют другие.
# указание номеров VLAN для интерфейса # пожалуйста, убедитесь, что ваши номера VLAN НЕ дополнены нулем vlans_eth0="1 2"# можно также настроить VLAN # за подробностями обращайтесь к man vconfig vconfig_eth0="set_name_type VLAN_PLUS_VID_NO_PAD" vconfig_vlan1="set_flag 1" "set_egress_map 2 6"# настройка интерфейса как обычно config_vlan1="172.16.3.1 netmask 255.255.254.0" config_vlan2="172.16.2.1 netmask 255.255.254.0"