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 карточку)
Немає коментарів:
Дописати коментар