Como eu acesso as informações SSID de postup () no OpenRC /etc/conf.d/net do Gentoo?

2

Eu gostaria de abrir o openvpn (ou pará-lo) dependendo de qual rede sem fio eu estou conectado.

Mas despejando env de postup () não indica ${SSID} estando disponível naquele momento.

Olhando para net / wpa_supplicant.sh não parece ajudar, então estou me voltando para pedir ajuda.

    
por lkraav 27.05.2012 / 14:17

1 resposta

0

Eu estava originalmente procurando não iniciar o openvpn com base no SSID ao qual eu estava me conectando. Mas a melhor solução que cheguei é olhar para o IP .

/etc/conf.d/net :

postup() {
    # https://stackoverflow.com/questions/845694/how-do-i-find-my-computers-ip-address-using-the-bash-shell
    IP=$(ifconfig ${IFACE} | sed -n 's/.*inet addr:\([0-9.]\+\)\s.*//p')
    OPENVPN=$(if [[ "${IFACE}" != "tun0" && ${IP%.*} != 192.168.[13] ]]; then echo "YES"; fi)

    sw-notify-send -i "${ICONS}/network-status.png" "${IFACE}" "$(ip addr show dev ${IFACE} | grep inet)"

    if [[ -n ${OPENVPN} ]]; then
        sw-notify-send -i "${ICONS}/network-status.png" "${IFACE}" "No IP range conflict detected for ${IP}, starting openvpn"
        /etc/init.d/openvpn -D restart
    fi
    return 0
}

EDITAR Ainda mais, agora mudei essa lógica para um dhcpcd gancho. Para que isso funcione, você deve enviar algum valor de opção dhcp exclusivo de seu servidor DHCP especial: Estou usando a opção 114 "default_url" aqui.

/etc/dhcpcd.enter-hook :

ACTION="stop"
COMMAND="openvpn.noroutes"    

if [ "$reason" = "BOUND" ]; then
    if [ ! -z ${new_default_url} ]; then
        sw-notify-send $ifname "Detected DHCP default_url $new_default_url, skipping openvpn"
        exit 1
    fi

    OPENVPN=$(if [[ $ifname != "tun0" && ${new_network_number%.*} != 192.168.[13] ]]; then echo "YES"; fi)
    if [[ -n $OPENVPN ]]; then
        sw-notify-send $ifname "IP range for $new_ip_address is free, starting openvpn"
        COMMAND="openvpn"
    fi

    ACTION="restart"

    /etc/init.d/"${COMMAND}" -D "${ACTION}"
fi
    
por 31.08.2012 / 17:07