clientaddr on yksi niistä liitosasetuksista, jotka kopioidaan komentoriville kauan sen jälkeen, kun syy siihen on kadonnut. Se kertoo NFSv4.0-palvelimelle, mihin asiakas kutsutaan takaisin. Se ei valitse palvelinta, sido jokaista pyyntöä lähiosoitteeseen eikä työnnä liikennettä tunneliin. Kannettavassa, jossa on useita osoitteita, tarvitaan kolme kysymystä sen päättämiseen, soveltuuko se ylipäätään.

Kolme ehtoa ratkaisee, onko asetuksella merkitystä

Ensimmäinen on neuvoteltu aliversio, koska 4.1 ja 4.2 käsittelevät takaisinsoittoja eri tavalla. Toinen on se, pääseekö palvelin osoitteeseen, jonka ilmoittaisit; reititetty tunneli yleensä sallii sen ja käännetty polku yleensä ei. Kolmas on se, onko jäljittämäsi virhe ylipäätään takaisinsoittovirhe.

ConditionIf yesIf no
Version is 4.0The option can matterSkip it; inspect the session instead
Server can reach the addressAdvertise itFix reachability first
Failure is a callbackDiagnose callback pathLook at mount and export

Niihin väärässä järjestyksessä vastaaminen on se tapa, jolla ihmiset lisäävät takaisinsoittosoitteen 4.2-liitokseen ja päättelevät, että asetus on rikki.

Lue ensin aliversio

nfsstat -m

Olemassa olevalle liitokselle tämä tulostaa liitoksen tiedot ja liput, mukaan lukien tehollinen versio muodossa vers=4.0, vers=4.1 tai vers=4.2. Muistiinpano, joka sanoo vain “NFSv4”, jättää pois ainoan yksityiskohdan, joka ratkaisee, onko tämä asetus merkityksellinen. Lue luku, älä sanaa.

Jos versiomerkkijono tuli palvelimen oletuksesta eikä komentoriviltäsi, kysy, mikä aliversio neuvoteltiin. Palvelin voi hylätä korkeamman aliversion ja pudota alemmas, ja juuri se pudotus on tapaus, jossa takaisinsoitto yhtäkkiä merkitsee. Kirjoittamasi liitosrivi ei ehkä kuvaa sitä liitosta, joka sinulla on.

4.0:n kohdalla ilmoita osoite, johon palvelin pääsee

NFSv4.0-palvelin voi tarvita erillisen yhteyden takaisin asiakkaaseen, esimerkiksi kun se peruu delegoinnin. Kun liitäntöjä on useita tai reititystaulu on epätavallinen, takaisinsoitto-osoitteen automaattinen haku voi valita sellaisen, jota palvelin ei voi käyttää.

mount -t nfs -o vers=4.0,clientaddr=10.8.0.6 10.8.0.1:/export /mnt/share

Kaksoispistettä edeltävä osoite on palvelin ja pysyy kohteena. Takaisinsoitto-osoite kuuluu asiakkaalle, ja sen on oltava tavoitettavissa tunnelin palvelimen puolelta. Loopback-osoite osoittaa palvelimen takaisin itseensä. Yksityinen asiakasosoite ilman paluureittiä on yhtä käyttökelvoton, vaikka se näyttää asiakkaalla oikealta.

Käytä tätä havainnollistuksena, älä syynä alentaa toimivaa liitosta. Korvaa osoitteet ja vientipolku ja pidä todennus ja muut asetukset, joita palvelin vaatii. Niiden pois jättäminen yhden esimerkin sopimiseksi on toinen muutos, jolla on toinen tulos, ja palvelimella, joka vaatii tietyn turvallisuustyypin, se epäonnistuu ennen kuin mitään takaisinsoittoa yritetään.

4.1 ja 4.2 eivät käytä asetusta

Linux NFSv4.1 ja 4.2 kuljettavat takaisinsoitot asiakkaan muodostamien yhteyksien yli, ja 4.1 kutsuu tätä mekanismia backchanneliksi. Ne eivät riipu siitä, avaako palvelin uuden yhteyden ilmoitettuun osoitteeseen, joten clientaddr ei korjaa 4.1:n tai 4.2:n takaisinsoittopolkua.

Tämä ei tarkoita, ettei 4.1:llä ja 4.2:lla olisi takaisinsoitto-ongelmia. Se tarkoittaa, että diagnoosi on erilainen: tutki muodostettu istunto ja sen backchannel-tila sen sijaan, että etsisit saapuvaa takaisinsoittoporttia, jota ei koskaan pitänyt olla olemassa. Puuttuva saapuvan liikenteen sääntö on odotettu tila, ei korjattava vika.

Erota liitoksen virhe takaisinsoittovirheestä

Selvitä ensin, pääseekö asiakas NFS-palveluun ja hyväksyykö palvelin viennin ja todennuspyynnön. Aikakatkaisu ennen tätä vaihtoa ei kerro mitään takaisinsoitto-osoitteesta. Yhden muuttaminen, kun liitos yhä epäonnistuu, ei vie tutkimusta lähemmäs, ja se kätkee alkuperäisen virheen uuden liitosasetuksen taakse.

Vasta kun todisteet osoittavat epäonnistuneen 4.0-takaisinsoiton, ilmoitetulla osoitteella on merkitystä, yhdessä palvelimen paluureitin, asiakkaan puolen kuuntelijan ja niiden välisen suodatuksen kanssa. Liitosasetuksen luvun muuttaminen ei voi luoda näitä polkuja; se voi vain osoittaa sellaiseen, joka on jo olemassa. Kirjoita muistiin, minkä noista neljästä varmistit, sillä seuraava raportti saapuu ilman yhtäkään niistä.

Varhaisen käynnistyksen NFS-juuri on erillinen ympäristö omine edellytyksineen: initramfs tarvitsee työkalut ja verkon ennen kuin liitos voi tapahtua. Kirjautumisen jälkeen toimiva liitos ei todista mitään tuosta järjestyksestä, ja käynnistyksen virhe mainitsee harvoin initramfsin tai verkon.

Aiheeseen liittyvät artikkelit