iptables mit hairpin / loopback nat funktioniert nicht

OP #7575520
Lesenswert?
• ▲
▼

Hallo zusammen

Ihr seid meine derzeit letzte Hoffnung. Versuche schon seit einiger Zeit hier ein hairpin / reflection NAT einzurichten.

Die iptables sehen so aus:

1
root@srv8:~# iptables -t nat -L -n -v --line-numbers
2
Chain PREROUTING (policy ACCEPT 8 packets, 409 bytes)
3
num   pkts bytes target     prot opt in     out     source               destination         
4
1      426 23387 DNAT       6    --  ens18  *      !10.0.2.0/24          0.0.0.0/0            tcp dpt:80 to:10.0.0.10:80
5
2     4796  285K DNAT       6    --  ens18  *      !10.0.2.0/24          0.0.0.0/0            tcp dpt:443 to:10.0.0.10:443
6
3       24  1080 DNAT       6    --  ens18  *      !10.0.2.0/24          0.0.0.0/0            tcp dpt:3000 to:10.0.0.10:3000
7
4        5   300 DNAT       6    --  vmbr0  *       10.0.0.10            100.212.198.74      tcp dpt:80 to:10.0.0.10:80
8

9
Chain INPUT (policy ACCEPT 1 packets, 60 bytes)
10
num   pkts bytes target     prot opt in     out     source               destination         
11

12
Chain OUTPUT (policy ACCEPT 14 packets, 879 bytes)
13
num   pkts bytes target     prot opt in     out     source               destination         
14

15
Chain POSTROUTING (policy ACCEPT 19 packets, 1176 bytes)
16
num   pkts bytes target     prot opt in     out     source               destination         
17
1    58631 3639K ts-postrouting  0    --  *      *       0.0.0.0/0            0.0.0.0/0           
18
2      794 47640 MASQUERADE  0    --  *      ens18   10.0.0.0/24          0.0.0.0/0           
19
3        0     0 SNAT       6    --  *      vmbr0   10.0.0.10            10.0.0.10            tcp dpt:80 to:100.212.198.74
20

21
Chain ts-postrouting (1 references)
22
num   pkts bytes target     prot opt in     out     source               destination         
23
1       25  1300 MASQUERADE  0    --  *      *       0.0.0.0/0            0.0.0.0/0            mark match 0x40000/0xff0000

Wie zu erkennen ist, treffen Pakete bei der PREROUTING Regel ein (5 Stk.):

1
Chain PREROUTING (policy ACCEPT 8 packets, 409 bytes)
2
num   pkts bytes target     prot opt in     out     source               destination      
3
4        5   300 DNAT       6    --  vmbr0  *       10.0.0.10            100.212.198.74      tcp dpt:80 to:10.0.0.10:80

Diese sollten dann an das Ziel 10.0.0.10 umgeleitet werden. Somit sollte eigentlich diese SNAT Regel treffen:

1
Chain POSTROUTING (policy ACCEPT 19 packets, 1176 bytes)
2
num   pkts bytes target     prot opt in     out     source               destination          
3
3        0     0 SNAT       6    --  *      vmbr0   10.0.0.10            10.0.0.10            tcp dpt:80 to:100.212.198.74

Wie zu erkennen ist, treffen hier aber keine Pakete ein. Hat jemand eine Idee, was hier falsch sein könnte?

(Die public IPs wurden anonymisiert bzw. random verändert...)

Danke schonmal.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.