LINUX.ORG.RU
ФорумAdmin

Не добавляется интерфейс в мост CentOS 7

 , , ,


0

1

Здравствуйте, нужно добавить wifi интерфейс в мост.

/etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=static
NAME=br0
MTU=1500
IPV4_FAILURE_FATAL=yes
NETMASK=255.255.255.0
IPADDR=192.168.45.200
BROADCAST=192.168.45.255
PREFIX=24
DEFROUTE=no
IPV6INIT=no

/etc/sysconfig/network-scripts/ifcfg-eth1

TYPE=Ethernet
BOOTPROTO=none
DEVICE=eth1
NAME=eth1
MTU=1500
ONBOOT=yes
UUID=112f29a1-67d0-4a92-81be-e4428c1d0fb2
BRIDGE="br0"

/etc/sysconfig/network-scripts/ifcfg-wlp0s29f7u1

TYPE=Ethernet
BOOTPROTO=none
DEVICE=wlp0s29f7u1
NAME=wlp0s29f7u1
MTU=1500
ONBOOT=yes
UUID=afda3501-c8fe-4da5-ba59-cae3bccb7d75
BRIDGE="br0"

После перезагрузки в мосте только eth1, а wlp0s29f7u1 нету (

# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.36659af2a44c       no              eth1
Как починить, надоедает после перезагрузки вручную добавлять через brctl addif br0 wlp0s29f7u1


Может что в логах есть? wifi линк кем поднимается?

mky ★★★★★
()

У wifi специфическая конфигурация - там разделяются сеть и интерфейс.

Попробуйте добавить BRIDGE=«br0» и MASTER=«br0» в /etc/sysconfig/network-scripts/ifcfg-<имя_wifi_сети>.

Если не поможет - попробуйте использовать хуки - в /etc/NetworkManager/dispatcher.d можно создать скрипт, в который вписать нужные команды.

Nastishka ★★★★★
()
Ответ на: комментарий от Nastishka

Спасибо.

Спасибо. master не помог, зато в dispatcher.d написал bash который толкает интерфейс в бридж.

Но не помогло. WiFi у меня USB, я так понимаю он определяется системой и инициализируется как интерфейс уже после этих скриптов всех, система не видит его.

Походу мне в помощь cron и bash ;(

dirsex
() автор топика
Ответ на: Спасибо. от dirsex

Делать проверку на появившейся интерфейс в системе, если он есть, проверить в бридже он уже или нет и толкнуть его туда, что-то типо этого получается

Р/S на коленке

#!/bin/sh
ifconfig | grep wlp0s29f0u1 > /dev/null
if [ $? -eq 0 ]; then
 brctl show | grep wlp0s29f0u1 > /dev/null
 if [ $? -eq 1 ]; then
  brctl addif br0 wlp0s29f0u1
 fi;
fi;

и в cron его засунуть нафиг ;) ??

dirsex
() автор топика
Ответ на: комментарий от dirsex

Долбаные костыли получаются CentOS не очень знаю, в Debian помойму небыло такой проблемы... хотя это не точно.

Может есть решение по красивее?

Пытался кстати изменить название на wlan0 меняя NAME в ifcfg-wlp0s29f0u1 но фиг там, не меняет.

dirsex
() автор топика
Ответ на: Спасибо. от dirsex

Хуки NM для wifi вызываются после подключения к точке доступа, а не в момент появления интерфейса. Повесьте отладочный хук вида

#!/bin/bash
echo "Called $0 $@ at `date`" >> /tmp/nm.log
iwconfig >> /tmp/nm.log
set >> /tmp/nm.log
echo -e "\n\n" >> /tmp/nm.log
и потом включайте-выключайте интерфейс. USB он или не USB, вообще безразлично

Потом внимательно посмотрите в соответствующий файл и попытайтесь понять, что (и в какой момент) вам надо сделать. Есть конечно вероятность что вам не повезло с кармой напороться на баг с NM, но скорее всё намного хуже и у вас проблема с местом откуда растут руки, ибо это не плечи.

Nastishka ★★★★★
()
Ответ на: комментарий от Nastishka

Хуки NM для wifi вызываются после подключения к точке доступа, а не в момент появления интерфейса. и потом включайте-выключайте интерфейс. USB он или не USB, вообще безразлично

На самом деле все просто как 5 копеек. В бридж можно добавить только поднятый интерфейс, а wifi интерфейс можно поднять только сконфигурив его. Так что если интерфейс master/ad hoc, то он будет поднят скриптами и может быть добавлен почти как обычный эзернет, а если интерфейс должен быть как клиентский, то тогда в бридж его засовывает обычно wpa_supplicant

vodz ★★★★★
()
Ответ на: комментарий от vodz

Спасибо.

Да уж. Убрал нафиг все лишнее, решение Ваше - hostapd.conf указать bridge=br0. Больше ничего и не требовалось.

Спасибо большое. Все проще простого.

dirsex
() автор топика

/etc/sysconfig/network-scripts/ifcfg-br0

centos 7

Оффтоп. В rhel 7 - systemd и network-manager.

Скрипты /etc/sysconfig/network-scripts есть, но они НЕ выполняются - создаются только для чтения для обратной совместимости со старыми админами :D

Есть команда, которая выполнит обратное ( вытащит конфиг из файлов и загрузит в network-manager, но лучше так не делать )

Если нужно что-то сделать с сетью в rhel7/centos7 - только через nmcli

router ★★★★★
()
Ответ на: комментарий от router

Спасибо

Спасибо за пояснение, не знал. Теперь буду знать!

dirsex
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.