Puncte:1

TcpDump afișează răspunsul ICMP, dar PING expiră

drapel pr

Încerc să redirecționez traficul de rețea pentru un anumit cont de utilizator (vpnnet) către un server OpenVPN. Tunelul funcționează bine când ruta implicită este trasă, dar nu vreau să direcționez tot traficul prin VPN, doar pentru procesele care rulează cu un anumit UID. Așa că am dezactivat tragerea automată a rutei implicite și am venit cu următoarele:

iptables -t mangle -A OUTPUT -m proprietar --uid-owner vpnnet -j MARK --set-mark 42
IP route add default prin 10.1.1.1 tabelul 42
regulă ip adăugați fwmark 42 tabelul 42
iptables -t nat -A POSTROUTING -o tun0 -m mark --mark 42 -j SNAT --to-source 10.1.1.100

Adresa locală este 10.1.1.100 și 10.1.1.1 este poarta de acces la distanță.

ifconfig
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
        inet 10.1.1.100 netmask 255.255.255.0 destinație 10.1.1.100
        inet6 ****::****::****::****::**** prefixlen 64 scopeid 0x20<link>
        nespecificat 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC)
        Pachete RX 128 octeți 10032 (9,7 KiB)
        Erori RX 0 a scăzut 0 depășiri 0 cadru 0
        Pachete TX 108 octeți 8832 (8,6 KiB)
        Erori TX 0 a scăzut 0 depășiri 0 purtător 0 coliziuni 0
afișare rută ip
implicit prin 172.31.1.1 dev eth0 proto dhcp metric 100
10.1.1.0/24 dev tun0 proto kernel scope link src 10.1.1.100 metric 50
172.31.1.0/24 dev eth0 proto kernel scope link src 172.31.1.100 metric 100
172.31.1.1 dev eth0 proto static scope link metric 100
ruta ip arată tabelul 42
implicit prin 10.1.1.1 dev tun0

La pornirea unui shell sub utilizator vpnuser și ping serverul Google DNS 8.8.8.8 ping-ul are 100% pierderi de pachete. TcpDump arată că solicitările sunt trimise și că vin răspunsuri pe interfața corectă:

tcpdump -nn -vv -i tun0
tcpdump: ascultare pe tun0, RAW de tip link (IP brut), dimensiunea capturii 262144 octeți
20:33:28.938772 ip: (tos 0x0, ttl 64, id 7713, offset 0, flags [DF], proto ICMP (1), lungime 84)
    10.1.1.100 > 8.8.8.8: cerere de eco ICMP, id 5078, seq 1, lungime 64
20:33:29.029533 ip: (tos 0x48, ttl 115, id 0, offset 0, steaguri [niciunul], proto ICMP (1), lungime 84)
    8.8.8.8 > 10.1.1.100: răspuns ecou ICMP, id 5078, seq 1, lungime 64
20:33:29.938962 ip: (tos 0x0, ttl 64, id 7790, offset 0, flags [DF], proto ICMP (1), lungime 84)
    10.1.1.100 > 8.8.8.8: Solicitare ecou ICMP, id 5078, secv 2, lungime 64
20:33:30.029685 ip: (tos 0x48, ttl 115, id 0, offset 0, steaguri [niciunul], proto ICMP (1), lungime 84)
    8.8.8.8 > 10.1.1.100: răspuns ecou ICMP, id 5078, seq 2, lungime 64
20:33:30.938838 ip: (tos 0x0, ttl 64, id 8152, offset 0, flags [DF], proto ICMP (1), lungime 84)
    10.1.1.100 > 8.8.8.8: Solicitare ecou ICMP, id 5078, secv 3, lungime 64
20:33:31.029179 ip: (tos 0x48, ttl 115, id 0, offset 0, steaguri [niciunul], proto ICMP (1), lungime 84)
    8.8.8.8 > 10.1.1.100: răspuns ecou ICMP, id 5078, seq 3, lungime 64
ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) octeți de date.
^C
--- 8.8.8.8 statistici ping ---
12 pachete transmise, 0 primite, 100% pierdere de pachete, timp 11001 ms

Jurnalul iptables nu arată niciun pachet eliminat.

Sistemul de operare este CentOS 7.

Aș fi foarte recunoscător dacă cineva m-ar putea îndruma în direcția bună.

drapel mx
Postează soluția într-un răspuns de mai jos, nu în întrebare.
Puncte:0
drapel pr

Pentru a răspunde la propria întrebare și pentru a-i ajuta pe alții care au această problemă... Filtrarea inversă a căii a început și rp_filter a aruncat pachetele, vezi explicaţie. Soluția a fost setarea valorii rp_filter la 2 pentru tun0 interfata.

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.