Caso o seu teste, tenha sido de usar um enlace com um protocolo e o outro enlace com outro protocolo:
Podem existir vários motivos para esse comportamento, a tabela de roteamento embratel pode não estar completa, com uma rota default, assim a roteamento se daria pela tabela de roteamento main, você pode checar se a tabela de roteamento embratel está completa (ou seja, com rotas para todas as suas redes e com uma rota default) com o comando "ip route show table embratel"; pode ser o caso que haja outras marcações de pacotes DEPOIS da regra que você colocou na chain OUTPUT da table mangle, o que aconteceria seria que somente a última marcação teria efeito, esse caso teria efeito por exemplo quando uma regra de marcação tivesse seu domínio sobreposto com outra regra, você poderia marcar um destino1 pelo enlace 1 e um protocolo1 pelo enlace 2, se você tentasse acessar o destino1 com o protocolo1 a última regra seria a que teria efeito, alias por isso criei chains com nomes como MARK_EMBRATEL com um ACCEPT como última regra, para que as próximas regras de marcação não fossem verificadas; pode ser o caso de limpar o cache de rotas, uma necessidade depois da alteração na marcação de pacotes, caso você queira que suas alterações tenham efeito imediato, com "ip route flush cache", alias depois de cada teste você verificou se uma rota adequada está no cache de rotas, não é? "ip route show cache", isto pode determinar se sua marcação de pacotes está funcionando e se o kernel aceitou a sua rota; pode ser o caso de sua marcação não ter efeito porque você esteja aplicando a regra incorreta de marcação de pacotes; pode ser o caso de você estar marcando os pacotes com uma tabela de roteamento inexistente;
Como você afirmou anteriormente que uma regra como "ip rule add from <ip> table embratel" funcionava, você poderia fazer um teste mais simples para testar a marcação de pacotes:
Você faria requisições a partir da sua máquina na rede local para destinos com protocolos diferentes e verificaria o cache de rotas e a efetiva interface de saída com por exemplo o iftop (uma ferramente de preferência pessoal).
ip rule add fwmark 2 table embratel
ip rule add fwmark 1 table velox
iptables -t mangle -I PREROUTING -s IP_DA_SUA_MAQUINA -p tcp --dport 80 -j MARK --set-mark 2
iptables -t mangle -I PREROUTING -s IP_DA_SUA_MAQUINA -p tcp --dport 443 -j MARK --set-mark 1
ip route flush cache
você deveria abrir dois terminais para o seu firewall e em cada um executar o comando iftop, em um iftop -i eth0 e no outro iftop -i eth1.
A seguir você deveria realizar as requisições.
Por exemplo "
http://www.uol.com.br" e "
https://www2.bancobrasil.com.br/aapf/login.jsp?aapf.IDH=sim"