Eu tenho uma configuração mark / mangle / SNAT que tem funcionado muito bem por anos. No entanto, ao tentar usar essa mesma configuração para solicitações DHCP, ela falha intermitentemente:
*mangle
-A OUTPUT -p udp -m udp --dport 67 -j MARK --set-xmark 0x7/0xffffffff
#...
*nat
-A POSTROUTING -m mark --mark 0x7 -j SNAT --to-source <SCRUBBED>
No entanto, por nenhuma razão discernível, os pacotes serão ocasionalmente redirecionados para a porta 1 em vez de 67 durante a tradução SNAT.
Os estados da documentação iptables
:
which can specify a single new source IP address, an inclusive range of
IP addresses, and optionally, a port range (which is only valid if the
rule also specifies -p tcp or -p udp). If no port range is specified,
then source ports below 512 will be mapped to other ports below 512.
[...] Where possible, no port alteration will occur
O que eu estou realmente querendo saber é quando a alteração da porta irá ocorrer? Não consegui encontrar casos de uso para isso. Isso aconteceu em vários hosts com várias versões do iptables instaladas.