O roteamento entre as duas sub-redes deve ser feito em Q. Você deve ter uma rota da NIC1 para a NIC2 e uma rota vice-versa. Você então não precisaria da rota em P, todos os computadores seriam capazes de pingar uns aos outros e ter acesso à internet, usando P como gateway.
Você não nos contou o sabor do Linux rodando em Q. Você pode encontrar informações de roteamento estático para seu sabor no Linux via Google.