Então você precisa dos dois gateways padrão; então a maneira de fazer isso, então, é com regras de rota:
1) Adicione um IP secundário à eth0 - ex .: 192.168.1.7 e reinicie o apache (parece que sua configuração é listen 0.0.0.0:80
, então você só precisa reiniciar o apache para que ele ouça o novo IP.
2) Altere as regras Nat no seu roteador para enviar o tráfego para este IP:
3) Criar uma nova rota padrão em uma tabela de rotas secundárias permite nomear a tabela 'apache':
echo "1 apache" >> /etc/iproute2/rt_tables
4) Adicione uma rota padrão a esta tabela através do seu roteador local.
ip route add default via 192.168.0.1 dev eth0 table apache
5) Finalmente, você precisa de uma regra para definir qual tráfego deve usar a tabela de rotas do apache.
ip rule add from 192.168.0.7 table apache
192.168.0.7 é um IP secundário e o Apache é o único processo que o utiliza, essa regra deve corresponder apenas ao tráfego que sai do apache em resposta a solicitações da web. Isso garantirá que somente esse tráfego específico será usado na nova tabela de rotas e não irá mexer com o tráfego da VPN ou com o comportamento de roteamento atual.
observe que os comandos ip
não persistem após a reinicialização. Para torná-los persistentes, adicione-os à sua interface para criar scripts para serem executados toda vez que o laptop for reinicializado.
P. Saindo da minha velha resposta e fiz isso como uma nova resposta, pois esta é uma solução muito diferente.