Puncte:1

NFS insistă să trimită pachete prin MTU, nftables ar putea fi soluția

drapel id

Am o montură NFS peste un tunel Strongswan IPSec, care este încapsulat într-un tunel 6to4. IPSec este pentru că am nevoie de criptare pentru traficul NFS, 6to4 este pentru că furnizorul VPS nu va atribui un prefix IPv6 nativ serverului meu. Deoarece am avut probleme cu MTU cu tunelul 6to4, a trebuit să scad MTU pe interfața tunelului la minim (1280 â dacă încerc să setez ceva mai mic, primesc mesajul „Eroare: mtu mai puțin decât minimul dispozitivului.” ).

NFS încă vrea să trimită pachete prin MTU. Știu asta, pentru că am o regulă nftables pentru a înregistra pachetele ESP:

    ieșire în lanț {
    tip filtru cârlig ieșire filtru prioritar; acceptarea politicii;
    ip6 nexthdr esp contor pachete 303367 octeți 323173696 jurnal accept
}

Astfel, văd aceste pachete conectate în syslog/journal:

29 ianuarie 21:41:18 kernel nfsclient: IN= OUT=he-ipv6 SRC=fd48:2b50:6a95:a6db:0000:0000:0000:0004 DST=fdc8:d5f9:cbbf:b2006:00:00:006:00 2001 LEN=1316 TC=0 HOPLIMIT=64 FLOWLBL=155038

(IP-urile sunt schimbate în private din motive de confidențialitate.)

Acum nu pot vedea pachetul logat cu tcpdump pentru că se presupune că sunt abandonați de nucleu din cauza faptului că sunt peste MTU.Presupun că NFS încearcă să adere la setarea MTU, dar nu știe că pachetele sale vor fi încapsulate în IPSec. Deci, chiar dacă NFS generează un pachet sub 1280 de octeți, antetul ESP adăugat la acesta îl trece peste MTU setat. De asemenea, bănuiesc că NFS setează steag-ul DF pe pachetele sale, pentru că altfel ar funcționa fragmentarea. (L-am testat cu ping6 -M vreau și pachetele fragmentate au trecut.) Deci nu pot reduce MTU, NFS insistă să trimită pachete care vor fi peste MTU atunci când sunt criptate și chiar setează steag-ul DF.

Ce pot face acum? M-am gândit la următoarele lucruri, dar nu știu cum să le implementez:

  1. Setați o dimensiune maximă a pachetului pentru NFS, de ex. cu opțiune de montare, dar nu cred că există o astfel de setare, deja am căutat-o.
  2. Configurați Strongswan pentru a face față situației, dar nici eu nu am găsit o astfel de opțiune.
  3. Setați o regulă nftables care anunță cumva NFS că ar trebui să genereze pachete mai mici. De exemplu. raportați un MTU și mai mic pentru NFS atunci când îl caută â nu știu dacă este chiar posibil.
  4. Eliminați steag-ul DF din pachete pentru a forța fragmentarea. Nici eu nu știu cum să o fac sau dacă se poate.

Cred că nftables este calea de urmat, dar dacă ar putea fi rezolvată la nivel NFS, ar fi și mai bine. De asemenea, aș aprecia soluții cu iptables, aș putea căuta care este echivalentul nftables.

Pentru că se cere în comentarii, ofer informații despre interfețele mele.

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq stare UP mod DEFAULT grup implicit qlen 1000
    link/ether aa:00:11:4d:f7:01 brd ff:ff:ff:ff:ff:ff
4: he-ipv6@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1280 qdisc noqueue state Mod NECUNOSCUT DEFAULT grup implicit qlen 1000
    link/sit 192.168.32.84 peer 216.66.84.42

Și aici sunt tunelurile (tunel ip):

sit0: ipv6/ip la distanță orice local orice ttl 64 nopmtudisc 6rd-prefix 2002::/16
he-ipv6: ipv6/ip la distanță 216.66.84.42 local 192.168.32.84 ttl 255 al 6-lea prefix 2002::/16

(Mi-am schimbat IPv4 public într-o adresă privată, dar în realitate am o adresă rutabilă la nivel global pentru local; 216.66.84.42 este poarta de intrare a tunelului HE 6to4, care este binecunoscută, așa că a fost lăsată aici.)

Și iată ruta implicită care se aplică pentru trafic:

implicit prin fd48:2b50:6a95:a6db::1 dev he-ipv6 metric 1024 onlink pref mediu

Așadar, aplicațiile cred că pachetele lor vor merge mai departe el-ipv6, care are un MTU de 1280. Dar pachetele lor sunt mai întâi încapsulate în IPSec ESP și apoi trimise prin el-ipv6 tunel. Rezultatul este un pachet de date NFS criptat IPSec, încapsulat într-un pachet 6-4, care însuși iese pe eth0 interfață către 216.66.84.42 (gateway HE).

drookie avatar
drapel za
Bitul DF nu se aplică direct pachetelor de reîncapsulare - nucleul stivei de rețea îl poate copia într-adevăr sau îl poate sări peste pachetele nou create care încapsulează sarcina utilă a DF, astfel cele din urmă pot fi fragmentate chiar dacă sarcina utilă o restricționează . Deci diagnosticele dvs. sunt cel puțin incomplete. Nu vă jucați cu MTU, jucați cu copierea biților DF.
drapel us
Vă rugăm să afișați rezultatul „link ip” și să spuneți ce interfețe sunt folosite pentru acest trafic.
MegaBrutal avatar
drapel id
@TeroKilkanen, drookie, mulțumesc pentru comentariile tale! Mi-am modificat postarea cu detaliile interfeței și tunelului. Vă rugăm să întrebați dacă mai trebuie să știți ceva.

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.