A interface web do DD-WRT não suporta a restrição do endereço IP de origem dos dados a serem encaminhados. No entanto, essa funcionalidade é suportada pelo sistema operacional, portanto, ela pode ser configurada na linha de comando (acessada via SSH) usando o comando "iptables". Vou dividir o comando em várias linhas para facilitar a leitura, mas elas devem seguir na mesma linha se você estiver realmente tentando usá-las.
Comece criando regras na cadeia "PREROUTING" da tabela "nat" para cada combinação STB / porta. Insira essas regras após as regras de encaminhamento de porta existentes e antes da regra final "TRIGGER", assim:
iptables
-t nat
-I PREROUTING 8
--source 192.168.1.100
--dst 192.168.1.2 -p tcp
--dport 18000
-j DNAT
--to-destination 192.168.0.151:18000
Faça isso para cada combinação de endereço e porta da qual você deseja receber dados. O destino e o destino são os mesmos para cada comando. Você pode deixar o número da regra (8) igual para cada comando, então cada nova entrada faz com que as entradas anteriores subam um valor.
Em seguida, adicione cada combinação de endereço / porta à cadeia "FORWARD" da tabela "filter". Como antes, adicione essas regras após as portas encaminhadas existentes e antes do primeiro "TRIGGER", desta forma:
iptables
-I FORWARD 13
-t filter
-p udp
-s 192.168.1.100
-d 192.168.0.151
--dport 18000
-j ACCEPT
E, como no primeiro comando, fazendo isso para cada combinação de endereço IP e porta.
Essas regras devem permitir que as mensagens recebidas sejam recebidas nas portas especificadas somente se elas vierem dos endereços especificados.
O acima responde ao núcleo da pergunta que eu realmente fiz. Na verdade, não estou trabalhando nesse caso específico, mas acredito que isso se deve ao fato de a Verizon ter implementado algum tipo de verificação em seu software para descartar pacotes encaminhados como forma de evitar que os set-top boxes transmitissem dados de streaming diretamente de a internet.