Graças a sugestões de comentários e algumas informações do suporte técnico do linode, resolvi o problema de conexão.
Para resolver o problema, eu precisava garantir que tanto server1 quanto server2 tivessem as entradas de sub-rede privadas adequadas para o iptables:
iptables -A INPUT -s 192.168.132.0/17 -j ACCEPT
Depois de fazer esta entrada em ambos os servidores, eu poderia telnet para o server2: 1337 (do server1) e monitorar os bytes / pacotes via iptables e ver que, de fato, os pacotes estão sendo aceitos:
$ -> telnet 192.168.132.97 1337
Trying 192.168.132.97...
Connected to 192.168.132.97.
Escape character is '^]'.
$ -> iptables -L -vn
Chain INPUT (policy DROP 337 packets, 18695 bytes)
pkts bytes target prot opt in out source destination
56 30019 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
53 40539 ACCEPT all -- * * 192.168.128.0/17 0.0.0.0/0
O problema agora é que eu estou usando o nginx como um balanceador de carga, e ele estava usando a entrada server2 dns, que eu suponho que seja o ip público, que não é parte do conjunto de regras iptables, nem deveria ser, senão tem que entrar em cada ip na rede privada para permitir o acesso à porta 1337. No entanto, este problema é para outra questão, como o OP foi resolvido.
- Atualizar -
Atualizando esta resposta caso alguém mais se depare com ela no futuro. Eu optei por esta solução; DNS Stealth . Adicionando o recurso DNS a um dos meus VPS, posso adicionar todos os ips internos e os ips externos, para que todas as minhas configurações internas de iptable funcionem como esperado, enquanto ainda permitindo o acesso remoto a qualquer um dos vps via ip público.