encaminhando uma porta para um hostname

1

Como se pode encaminhar uma porta para um nome de host e porta. Eu estava olhando para este post: Iptables encaminhar todos tráfego para uma porta especificada, para outro dispositivo e ver como fazer isso porta para ip mas e se eu precisar fazer porta para hostname? Tentei colocar em um host como o destino, mas ele lança um erro no iptables

 iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination ehb-us-redis-001.ehb-usredis.u1.cache.com:6379
iptables v1.4.21: Bad IP address "ehb"

Try 'iptables -h' or 'iptables --help' for more information.
    
por lightweight 11.05.2018 / 04:46

1 resposta

6

Você não pode. A sintaxe é especificada na página do manual iptables-extensions como

--to-destination [ipaddr[-ipaddr]][:port[-port]]

Embora iptables -s e -d syntax address[/mask] permita o uso de nomes de host, é desencorajado como isso pode causar problemas de segurança. Como o --to-destination leva os intervalos de endereços IP (para um balanceamento de carga round-robin simples), a sintaxe do endereço seria irrelevante.

Hostnames will be resolved once only, before the rule is submitted to the kernel. Please note that specifying any name to be resolved with a remote query such as DNS is a really bad idea.

Além disso, o módulo do kernel do Netfilter não suporta nomes de host; Se você acha que isso resolveria algum problema com a alteração de endereços IP, isso não acontecerá.

Se você realmente precisa usar nomes de host, um proxy reverso seria mais aplicável.

    
por 11.05.2018 / 05:35