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 карточку)