Puncte:1

iptables: reguli diferite pentru diferite IP-uri de gateway curente

drapel au

Să presupunem că am Mașina A ca poartă. Mașina A are o interfață cu 2 IP-uri.

Configurația netplan pentru Mașina A este astfel:

  redator: în rețea
  ethernet:
    eth0:
      dhcp4: nu
      adrese:
        - 192.168.1.1/24
        - 192.168.1.2/24

Acum vreau ca regulile REDIRECT ale iptables să se comporte diferit, în funcție de dacă Mașina B își setează gateway-ul ca 192.168.1.1 sau ca 192.168.1.2

Aceasta este comanda iptables pe care încerc să o execut pe mașina A:

iptables --table nat --append PREROUTING --some-parameter 192.168.1.1 --protocol tcp --jump REDIRECT --to-ports 9991
iptables --table nat --append PREROUTING --some-parameter 192.168.1.2 --protocol tcp --jump REDIRECT --to-ports 9992

Ai putea te rog să spui care este numele corect pentru --un parametru de mai sus?

Puncte:1
drapel cl
A.B

Nu există nicio modalitate de a face acest lucru cu 192.168.1.1 și 192.168.1.2 pe aceeași interfață de rețea a gateway-ului, rezolvându-se astfel la aceeași adresă MAC. Nu este o caracteristică care nu este implementată în iptables care ar putea fi implementat, este o caracteristică care nu poate fi implementată din cauza modului în care funcționează rețelele IP.

Un client care folosește 192.168.1.1 sau 192.168.1.2 ca gateway nu va trimite niciodată un singur pachet IPv4 cu 192.168.1.1 sau 192.168.1.2 atunci când emite pachete către Internet. O sa:

  • consultați tabelul său de rutare pentru o anumită destinație
  • găsiți că există o poartă pentru această destinație
  • Utilizare ARP sau o intrare în cache pentru a rezolva adresa L2 (adresa MAC Ethernet) necesară pentru a ajunge la gateway.

Ultimul pas va avea o singură destinație Ethernet: adresa MAC unică a NIC-ului gateway-ului: aceeași pentru un client cu gateway 192.168.1.1 sau un alt client cu gateway 192.168.1.2.

Deci, fiecare client va trimite acum un pachet către gateway cu adresa sursă IPv4, destinația IPv4 dorită într-un cadru Ethernet având aceeași adresă MAC Ethernet de destinație în ambele cazuri. 192.168.1.1/192.168.1.2 este în afara buclei.

Gateway-ul vede acum două pachete de rutat. În niciun caz, aceste pachete nu mai indică dacă au fost folosite 192.168.1.1 sau 192.168.1.2 ca gateway: informațiile nu apar pe fir, așa că nu pot fi cunoscute nicăieri de către gateway. Dacă sistemul nu are informații care să distingă cazurile, atunci iptables nu pot avea nici această informație inexistentă.


Sugestie de soluție:

Se poate folosi a MACVLAN interfață să aibă un al doilea NIC cu propria sa adresă MAC separată și să îi atribuie în schimb 192.168.1.2/24, ceea ce va face ca pachetele de la clienți care folosesc 192.168.1.2 ca gateway să ajungă pe această NIC. Acest caz este ușor de distins iptables: un diferit - eu NIC filtru.

Dar acest lucru creează problema de rutare de a avea mai multe NIC-uri în aceeași rețea LAN și necesită fie:

  • reguli avansate de rutare a politicilor pentru a aborda acest caz în mod corespunzător

    deci răspunsurile nu sunt trimise prin NIC greșit, care poate afecta comportamentul de rutare sau regulile firewall.

    • și în plus, orice serviciu UDP interogat pe 192.168.1.2 (dacă 192.168.1.1 este implicit), trebuie să știe să răspundă cu adresa sursă corectă 192.168.1.2 (în loc de implicit 192.168.1.1): trebuie să fie multi-homed conștient. TCP nu necesită îngrijire specială.
  • sau altfel un spațiu de nume de rețea suplimentar pentru a separa interfața adăugată. Dar cu o regulă REDIRECT, asta înseamnă că serviciul de pe portul 9992 trebuie să ruleze în spațiul de nume suplimentar al rețelei.Și acest spațiu de nume de rețea probabil mai trebuie să comunice cu Internet folosind spațiul de nume inițial al rețelei: de asemenea, mai multă configurație de planificat în diferite locuri.

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.