rc.conf:
#выставить на ethernet интерфейсе MAC с wifi интерфейса # поднять оба интерфейса и запустить wpa_supplicant на wifi линке ifconfig_em0="ether 00:16:ed:5d:6a:38 up" wlans_iwn0="wlan0" ifconfig_wlan0="WPA up" # объединить линки cloned_interfaces="lagg0" ifconfig_lagg0="laggproto failover laggport em0 laggport wlan0 DHCP"
Сложный случай: есть разные сети, и только в некоторых из них wifi и ethernet это одна сеть, а в остальных разные. Тогда добавляем wlan0 в lagg только для сетей, которые мы явно указали.
rc.conf:
ifconfig_em0="ether 00:16:ed:5d:6a:38 up" wlans_iwn0="wlan0" ifconfig_wlan0="WPA DHCP" cloned_interfaces="lagg0" ifconfig_lagg0="laggproto failover laggport em0 wlan0 DHCP"Находим и правим секцию в devd.conf:
notify 0 {
match "system" "IFNET";
match "type" "LINK_UP";
media-type "802.11";
action "/etc/wlan_up.sh $subsystem";
};
Содержимое wlan_up.sh:#!/bin/sh
subsystem=$1
laggether="`ifconfig lagg0 |awk '/ether/ {print \$2}'`"
wlanether="`ifconfig ${subsystem} |awk '/ether/ {print \$2}'`"
ssid="`ifconfig ${subsystem} |awk '/ssid/ {print \$2}'`"
if [ "x${laggether}" = "x${wlanether}" ]
then
if [ "x${ssid}" = "xasus" ]
then
ifconfig lagg0 laggport ${subsystem}
exit
fi
fi
/etc/rc.d/dhclient quietstart $subsystem
В моём случае wlan добавляется в lagg только для ssid asus и только в случае, если MAC адрес wlan интерфейса и lagg интерфейса совпадает (это сделано для того, чтобы не добавлять в lagg другие wlan интерфейсы - я еще иногда подключал usb wlan карточку)