Eu tenho uma caixa Ubuntu 16.04 (Xenial) com duas interfaces wifi. Um ( wlxAABBCC
) é gerenciado pelo Network Manager, o outro ( wlan0
) é gerenciado manualmente por /etc/network/interfaces.d
. Eu quero a rota padrão para a própria máquina que use wlxAABBCC
, não wlan0
.
O plano é conectar um dispositivo somente de ethernet a um roteador sem fio via wlan0
e usar wlxAABBCC
para todo o resto. Portanto, wlan0
transmite as informações de DHCP e posso configurar uma tabela ip route
personalizada que apenas transmite tráfego do endereço eth0
. wlan0
ainda precisa de um endereço no roteador, então eu preciso do DHCP para fazer ... alguma coisa.
Eu tentei isso em /etc/network/interfaces.d/wlan0
:
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/network/wlan0_wpa.conf
Mas eu recebo duas rotas padrão:
$ ip route show
default via 192.168.1.1 dev wlan0
default via 192.168.1.1 dev wlxAABBCC proto static metric 600
Eu não quero isso. Todo o tráfego vai passar por wlan0
agora.
Eu tentei definir a métrica de wlxAABBCC
para 0 com nmcli connection modify id "SSID" ipv4.route-metric 0
, mas ainda é relegado a 1 pelo Network Manager quando surge wlan0
.
Então eu tentei isso em /etc/network/interfaces.d/wlan0
:
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/network/wlan0_wpa.conf
up ip route del default dev wlan0
Mas no breve tempo entre wlan0
chegando e wlxAABBCC
chegando, um monte de serviços parecem "escolher" wlan0
como sua interface preferida e não se recuperam quando essa rota padrão é descartada ( incluindo SSH e Avahi, então não posso me conectar).
Encontrei esta pergunta de falha de servidor , que sugere o uso de uma sub-rotina manual e de uma configuração DHCP personalizada. Então eu tentei:
auto wlan0
iface wlan0 inet manual
up /sbin/dhclient -4 -v -pf /run/dhclient.${IFACE}.pid \
-lf /var/lib/dhcp/dhclient.${IFACE}.leases -I \
-df /var/lib/dhcp/dhclient6.${IFACE}.leases \
-cf /etc/network/dhclient_wlan0.conf ${IFACE}
down /sbin/dhclient -4 -v -r -pf /run/dhclient.${IFACE}.pid \
-lf /var/lib/dhcp/dhclient.${IFACE}.leases -I \
-df /var/lib/dhcp/dhclient6.${IFACE}.leases \
-cf /etc/dhcp/dhclient_wlan0.conf ${IFACE}
wpa-conf /etc/network/wlan0_wpa.conf
... onde /etc/network/dhclient_wlan0.conf
é baseado no conf padrão do DHCP, mas sem routers
e qualquer ...static-routes
opções:
send host-name = gethostname();
request subnet-mask, broadcast-address, time-offset,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
netbios-name-servers, netbios-scope, interface-mtu,
ntp-servers;
timeout 300;
Ainda define duas rotas padrão.
Eu adicionei isso ao arquivo de configuração DHCP personalizado:
interface wlan0 {
supersede routers ""
}
AINDA CONFIGURA DUAS ROTAS PADRÃO.
Por que o DHCP ainda adiciona uma rota padrão com essa configuração personalizada? O que eu preciso fazer para que wlan0
consiga um endereço via DHCP, mas não seja a interface padrão?
Tags networking dhcp