Agora sei por que não entendi ... O roteamento é feito em um nível de rede e não em um nível de porta. Você precisa sub-segmentar sua rede em 3 redes separadas e vincular cada rede a cada placa de rede e então fazer com que o seu roteador direcione os pacotes para a porta Ethernet correta.
Como cada placa de rede tem seu próprio endereço de rede, todos os pacotes que chegam com um determinado endereço também retornam a essa rede.
Por exemplo:
- eth0: 192.168.100.0/24 LAN
- eth1: 192.168.101.0/24 Ponto de acesso
- Eth3: gateway padrão / 24: modem ADSL
Em seguida, todo o tráfego que não for para 192.168.0.0/16 será enviado para a Internet e todo o tráfego local permanecerá local.
Para fazer o encaminhamento de porta, você tem duas opções:
-
Se você adicionar uma peça adicional de hardware como um Big-IP entre o roteador e o servidor, que será capaz de inspecionar os pacotes e, dependendo das portas, enviar coisas para Eth0 e Eth1, alterando o endereço IP imediatamente e, em seguida, o servidor irá enviá-lo novamente na interface correta, e o BigIP irá convertê-lo de volta para o que quer que fosse ...
-
Você também pode descartar o roteador completamente e usar o servidor como um roteador para realizar a mesma coisa, e então você usa
iptables
para inspecionar os pacotes e rotea-los.
Mas o que você está tentando fazer é impossível (usando apenas um roteador de hardware e roteamento de software no servidor), pois não há noção de "HTTP / FTP", pois isso está em um nível de porta ... : - (