Você pode usar o iptables para fazer isso, provavelmente. Pelo menos se "ultrapassa a VPN" é algo que o iptables pode ver, por exemplo, é um dispositivo de túnel separado. Assumindo que a vpn é o dispositivo "vpn", algo como:
iptables -P OUTPUT DROP iptables -A OUTPUT -o vpn -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # dhcp iptables -A OUTPUT -p udp --sport 68 --dport 67 -j ACCEPT # DHCP # "I Agree" iptables -A OUTPUT -p udp --dport 53 -j ACCEPT # DNS/UDP iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT # DNS/TCP iptables -A OUTPUT -p tcp --dport 80 -m owner --uid-owner your-userid -j ACCEPT
As últimas três regras permitem que você acesse a página "Eu concordo". Depois de clicar no botão "Aceito" e sua VPN estiver ativa, você poderá se livrar deles. Note que é possível que algumas coisas vazem durante esse período, em particular pesquisas de DNS. Evitar isso é muito mais difícil.
(Não testado, sugiro instalar e executar o wireshark para depurar, se necessário. Tenho certeza de que está certo, mas estou menos confiante sobre essa linha de DHCP. Pode não permitir o suficiente ... Se você não conseguir um endereço IP, é isso que está errado)