Puncte:0

ICMP TTL a depășit răspunsurile cu IP destinație de la routerul NAT

drapel gh

Mă joc cu nftable și observ un comportament ciudat pe care nu-l pot explica.

Am trei VM-uri, sursă, router și destinaţie. Toate rulează cel mai recent Oracle EL 8.5 și sunt configurate prin nft.

  • sursă are o singură interfață de rețea enp0s8 cu IP 10.111.111.1 în subrețea /24.
  • router are două interfețe de rețea: enp0s8 cu IP 10.111.111.2 în subrețea /24 și enp0s9 cu IP 10.100.100.2 în subrețea /24.
  • destinaţie are o singură interfață de rețea enp0s8 cu IP 10.100.100.1 în subrețea /24.

Scopul meu este să am destinaţie ascuns de sursă în spatele NAT, cu IP 10.200.200.1. Ce am facut:

  1. A fost activată rutarea IP router.
  2. Acces direct blocat de la 10.111.111.0/24 la 10.100.100.0/24 pe router.
  3. Rută statică adăugată 10.200.200.0/24 prin 10.111.111.2 (router) pe sursă.
  4. NAT configurat activat router după cum urmează:
        preroutare în lanț {
                tip nat hook prerouting priority dstnat; acceptarea politicii;
                iifname "enp0s8" ip daddr 10.200.200.1 dnat la 10.100.100.1
        }

        postrouting în lanț {
                tip nat hook postrouting priority srcnat; acceptarea politicii;
                ip saddr 10.100.100.1 oifname "enp0s8" snat la 10.200.200.1
        }

Totul funcționează conform așteptărilor, destinaţie este accesibil de la sursă doar ca 10.200.200.1 și nu ca 10.100.100.1 (sigur, știu că e rău să lucrezi sub root, sunt doar VM-uri experimentale):

[root@source ~]# ping 10.100.100.1
PING 10.100.100.1 (10.100.100.1) 56(84) octeți de date.
^C
--- 10.100.100.1 statistici ping ---
15 pachete transmise, 0 primite, 100% pierdere de pachete, timp 14320 ms

[root@source ~]# ping 10.200.200.1
PING 10.200.200.1 (10.200.200.1) 56(84) octeți de date.
64 de octeți din 10.200.200.1: icmp_seq=1 ttl=63 time=0,554 ms
64 de octeți din 10.200.200.1: icmp_seq=2 ttl=63 time=1,80 ms
64 de octeți de la 10.200.200.1: icmp_seq=3 ttl=63 timp=1,84 ms
^C
--- 10.200.200.1 statistici ping ---
3 pachete transmise, 3 primite, 0% pierdere de pachete, timp 2043 ms
rtt min/avg/max/mdev = 0,554/1,397/1,836/0,598 ms

Dar când fac traceroute sau trimit ping cu TTL=1, răspunsul are IP 10.200.200.1, în loc de routerIP-ul lui 10.111.111.2:

[root@source ~]# traceroute 10.200.200.1
traceroute la 10.200.200.1 (10.200.200.1), maxim 30 de hopuri, pachete de 60 de octeți
 1 10.200.200.1 (10.200.200.1) 0,752 ms 0,679 ms 0,984 ms
 2 10.200.200.1 (10.200.200.1) 1.181 ms 1.130 ms 1.070 ms
[root@source ~]# ping 10.200.200.1 -c 1 -t 1
PING 10.200.200.1 (10.200.200.1) 56(84) octeți de date.
De la 10.200.200.1 icmp_seq=1 Timp de viață depășit

--- 10.200.200.1 statistici ping ---
1 pachet transmis, 0 primit, +1 erori, 100% pierdere pachet, timp 0 ms

Dacă fac același lucru pentru orice altă adresă din subrețeaua 10.200.200.0/24, răspunsurile au IP-uri corecte:

[root@source ~]# ping 10.200.200.2 -c 1 -t 1
PING 10.200.200.2 (10.200.200.2) 56(84) octeți de date.
De la 10.111.111.2 icmp_seq=1 Timp de viață depășit

--- 10.200.200.2 statistici ping ---
1 pachet transmis, 0 primit, +1 erori, 100% pierdere pachet, timp 0 ms

Poate cineva să clarifice de ce în primul caz ICMP TTL a depășit răspunsul are IP-ul destinației finale, iar în al doilea caz are IP-ul routerului?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.