iptables sta cambiando gli indirizzi IP che iniziano con 047. a 39.!

Ho cercato di proibire un indirizzo IP in iptables che inizia con 047, ma lo cambierà a 039.

iptables -v -w -I INPUT 1 -s 047.75.162.122 -j DROP 

Ma l'indirizzo IP sarebbe stato bandito come 39.75.162.122!

Perché pensi che questo sta succedendo?

  • Hacker bypassando iptables
  • Puppet: conversione di un model personalizzato nel file di configuration
  • UFW - Regole per nome di servizio Versus Port e Protocollo
  • ip6tables non consente alcun traffico
  • Le zone firewalld multipli possono essere attive in qualsiasi momento?
  • Come avviare / arrestare iptables su Ubuntu?
  • Inoltra la port tramite OpenVPN
  • iptables getta alcuni pacchetti sulla port 80 e non so la causa
  • 2 Solutions collect form web for “iptables sta cambiando gli indirizzi IP che iniziano con 047. a 39.!”

    Questo è ciò che sta succedendo:

     $ printf "%d\n" 047 39 

    047 in ottale è 39 in decimale.

    Hai solo bisogno di abbandonare il primo 0 .

    A un presupposto, questo accade perché qualcosa in iptables sta dividendo gli indirizzi IPv4 in 4 numbers decimali in modo da poter convertire la rappresentazione di stringhe IP a lungo. Ma è una congettura.

    inet_aton accetta anche un paio di altre forms less usuali ( il manuale li descrive anche):

     octal: 020.0.1.22 -> 16.0.1.22 hexadecimal: 0x10.0.1.22 -> 16.0.1.22 combination: 020.0.1.0x16 -> 16.0.1.22 bottom two bytes together (old Class B) 16.0.278 -> 16.0.1.22 bottom three bytes together (old Class A) 16.278 -> 16.0.1.22 all in one, hex 0x10000116 -> 16.0.1.22 all in one, decimal (completely unreadable) 268435734 -> 16.0.1.22 this should be simple 0020.0426 -> ... 

    Probabilmente lavoreranno anche sui browser web.

    Prefiggendo numbers ottali con uno zero e numbers esadecimali con 0x è alless vecchio come il linguaggio C.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.