Использование VLAN на фиктивных интерфейсах Linux

Я бы использовал awkи сначала преобразовал Start Date & Timeи End Date & Timeв допустимую дату , которую команда dateможет понять в этом формате yymmdd HH:mm, а затем преобразовал каждую вэпохавремя для вычисления разницы в секундах .

$ awk '{endDateInEpoch="date -d""\""substr($NF,1,6)" "substr($NF,7,2)":"substr($NF,9,2)"\""" +%s";
        endDateInEpoch |getline endDateInEpoch;close(endDateInEpoch); 

        startDateInEpoch="date -d""\""substr($6,1,6)" "substr($6,7,2)":"substr($6,9,2)"\""" +%s";
        startDateInEpoch |getline startDateInEpoch;close(startDateInEpoch);

        sec=endDateInEpoch-startDateInEpoch; sec*=(sec)?1:-1; print sec" seconds"
}' <(paste file[12])
100800 seconds

Обратите внимание, что сначала я делаю paste file[12], чтобы вставить оба файла1 и файл2 рядом друг с другом, что приведет к результату, как показано ниже, затем передаю это на вход awk, где $NFуказывает на последнее поле 1804040400как Дата и время окончания и поле #6 1804030000как Дата и время начала с пробелами в качестве разделителей полей, что awk' s по умолчаниюFSF поле S оператор:

"Start Date & Time" = 1804030000        "End Date & Time" = 1804040400

0
12.04.2020, 16:41
1 ответ

Как указал @dirkt, сокеты RAW могут быть неспособны направлять пакеты на подинтерфейсы VLAN, если они привязаны к корневому устройству. Разумное решение, предложенное @dirkt, - использовать пару veth.

ip link add veth0-wifi type veth peer name veth0-app
ip link set veth0-wifi up
ip link set veth0-app up
ip link add link veth0-wifi name veth0-wifi.100 type vlan id 100
brctl addbr br0
brctl addif br0 veth0-wifi.100
ip link set br0 up

Установите bridge=br0 в hostapd.conf и привяжите приложение к veth0 -app

Альтернатива, предложенная @A.B, не изученная по техническим причинам, состоит в том, чтобы приложение публиковало кран-устройство, которое должно обеспечивать в основном ту же организацию.

1
19.03.2021, 02:29

Теги

Похожие вопросы