Você precisa remover as interfaces da vbridge antes que elas possam ser excluídas. Esses comandos devem fazer isso:
killall hostapd
brctl delif br0 eth0
brctl delif br0 wlan0
ifconfig br0 down
brctl delbr br0
service networking restart
Eu uso o seguinte script para fazer do meu netbook um ponto de acesso sem fio completo. Ele cria uma ponte com eth0 e wlan0 e inicia hostapd
.
#!/bin/bash
service network-manager stop
ifconfig eth0 0.0.0.0 #remove IP from eth0
ifconfig eth0 up #ensure the interface is up
ifconfig wlan0 0.0.0.0 #remove IP from eth1
ifconfig wlan0 up #ensure the interface is up
brctl addbr br0 #create br0 node
hostapd -d /etc/hostapd/hostapd.conf > /var/log/hostapd.log &
sleep 5
brctl addif br0 eth0 #add eth0 to bridge br0
brctl addif br0 wlan0 #add wlan0 to bridge br0
ifconfig br0 192.168.1.15 netmask 255.255.255.0 #ip for bridge
ifconfig br0 up #bring up interface
route add default gw 192.168.1.1 # gateway
Esse script funciona de maneira eficiente. Mas se eu quiser voltar a usar o Network Manager, não posso fazê-lo. A ponte simplesmente não pode ser excluída. Como posso modificar esse script para que, se eu executar bridge_script --stop
, a ponte for excluída, o gerenciador de rede seja iniciado e as interfaces se comportem como se a máquina tivesse uma nova reinicialização.
Você precisa remover as interfaces da vbridge antes que elas possam ser excluídas. Esses comandos devem fazer isso:
killall hostapd
brctl delif br0 eth0
brctl delif br0 wlan0
ifconfig br0 down
brctl delbr br0
service networking restart