Mae rheol NAT sy'n gweithio pan gaiff ei theipio mewn plisgyn yn methu pan gaiff ei phastio i before.rules, oherwydd nad yw'r ffeil honno'n sgript. Dogfen fformat adfer ydyw gydag adrannau tabl, datganiadau cadwyn a marciwr COMMIT ar gyfer pob tabl. Mae llinell yn y lle anghywir naill ai'n atal yr adferiad cyfan neu'n gollwng yn dawel reolau roeddech yn credu oedd yno. Mae'r llyfr gweithredu isod yn rhoi'r darn lle mae'r fframwaith yn ei ddisgwyl ac yn profi'r canlyniad cyn yr ail-lwythiad nesaf.

Nid yw gorchymyn plisgyn yn ffeil adfer

Mae llinell sy'n dechrau gyda iptables -t nat yn gyfarwyddyd i'r deuaidd iptables, tra bod y ffeil y mae UFW yn ei darllen yn ddisgrifiad o set reolau gyflawn. Nid yw'r gwahaniaeth yn gosmig: rhaid i'r fformat adfer wybod pa dabl y mae ynddo, pa gadwyni sy'n bodoli a ble mae'r tabl yn gorffen. Mae gorchymyn a bastiwyd i'r ddogfen honno naill ai'n wall cystrawen neu, yn waeth, yn rheol sydd wedi'i chysylltu â'r tabl anghywir. Mae'r fframwaith yn llwytho'r ffeiliau hyn drwy offer adfer yn union oherwydd eu bod yn ddatganiadol yn hytrach nag yn ddilyniannol.

Mae'r ddogfen hefyd yn cael ei llwytho fel cyfanwaith, felly gall un adran gamffurfiedig atal gweddill y ffeil rhag cael ei chymhwyso. Felly mae camgymeriad bach mewn darn NAT yn cymryd y rheolau hidlo i lawr gydag ef, a dyna sut mae newid mur cadarn yn dod yn darfu.

Rhowch y darn o fewn yr adran tabl bresennol

Mae gan ddarn NAT siâp, ac mae'r siâp yn bwysicach na thestun y rheol y tu mewn iddo. Mae pennawd y tabl yn agor yr adran, mae datganiadau cadwyn yn sefydlu'r cyfrifwyr, mae'r rheolau'n dilyn, ac mae COMMIT yn cau'r adran.

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.55.0.0/24 -o ens3 -j MASQUERADE
COMMIT

Mae'r pwll a'r rhyngwyneb uchod yn ddeiliad lle ar gyfer eich rhai chi; y strwythur yw'r rhan sy'n werth ei chopïo. Os yw'r ffeil yn barod yn cynnwys adran *nat, ychwanegwch y rheol o fewn yr adran honno yn hytrach na agor ail un, oherwydd mae'r fformat yn disgwyl un COMMIT y tabl ac mae dwy adran ar gyfer yr un tabl yn atgyweiriad sy'n aros i ddigwydd. Cadwch ddiffiniadau cadwyn y dosbarthiad yn gyfan, gan gynnwys unrhyw rai a ychwanegodd y gwerthwr ar gyfer ei integreiddiad ei hun. Mae llawlyfr fframwaith UFW yn dogfennu'r ffeiliau before, user ac after ynghyd â'r gofyniad am COMMIT cyfatebol.

Os yw'r ffeil yn troi allan yn wag, peidiwch â'i llenwi o diwtorial. Cadarnhewch pa becyn sy'n berchen arni a beth yw'r polisi byw mewn gwirionedd, oherwydd nid yw ffeil barhaus wag yn profi nad oes gan y cnewyllyn reolau, ac nid yw set reolau a lwythwyd yn profi y bydd gan yr ail-lwythiad nesaf ffeil gyflawn i'w darllen. Adferwch y llinell sylfaen a gefnogir yn gyntaf, yna ailgymhwyswch newidiadau'r safle ar ei phen.

Profwch yr ymgeisydd heb ei gymhwyso

Gall yr offeryn adfer ddadansoddi a chreu set reolau heb ei chymhwyso, sef y prawf rhataf sydd ar gael. Rhedwch ef ar gopi gwarchodedig yn hytrach na'r ffeil fyw, a darllenwch destun y gwall yn hytrach na'r statws allan yn unig. Mae methiant dadansoddi yn enwi llinell ac fel arfer tabl, sy'n fwy nag y bydd ail-lwythiad methiedig yn ei ddweud wrthych.

sudo cp /etc/ufw/before.rules /root/before.rules.bak
sudo iptables-restore --test < /root/before.rules.bak
echo "exit: 0"

Mae pasio'r prawf hwnnw'n profi bod y ddogfen yn dadansoddi a dim byd arall. Nid yw'n profi bod yr ymgeisydd yn dal i gynnwys pob cadwyn y mae UFW yn dibynnu arni, ei fod yn caniatáu dim ond y ffynonellau a fwriadwyd gennych, neu bod gweinyddiaeth bell yn parhau'n gyrhaeddadwy. Mae'r rhain yn adolygiadau ar wahân, ac mae'r olaf yn haeddu ail sesiwn a agorir cyn i chi ddechrau.

Dewiswch yr offeryn sy'n cyfateb i'r backend sydd wedi'i osod a'r teulu cyfeiriadau. Mae gwesteiwr sy'n rhedeg y backend nft drwy'r haen gydnawsedd angen y gorchymyn cyfatebol, ac mae rheolau IPv6 yn byw mewn ffeil hollol wahanol.

Cadwch anfon ymlaen, NAT a pholisi mynediad ar wahân

Mae cyfieithu ffynhonnell yn datrys problem cyfeirio ac yn rhoi dim. Mae anfon ymlaen yn ganiatâd ar wahân a reolir gan sysctl a chan y tabl hidlo, a dyna'r un y mae pobl yn ei anghofio pan fydd twnnel yn llwybro ond heb basio traffig. Mae polisi mynediad yn drydedd penderfyniad ynglŷn â pha ffynonellau all gyrraedd pa wasanaethau, ac nid oes unrhyw reol NAT yn ei mynegi. Cadw'r tri ar wahân yw'r hyn sy'n gwneud methiant yn ddiagnosadwy yn lle un symptom annelwig.

sysctl net.ipv4.ip_forward
sudo iptables -t nat -S POSTROUTING
sudo iptables -S FORWARD

Darllenwch y tri allbwn hynny gyda'i gilydd yn hytrach nag un ar y tro. Mae rheol masquerade gydag anfon ymlaen wedi'i analluogi yn cynhyrchu cleient sy'n cysylltu ac yn cyrraedd dim, sy'n edrych yn union fel nam llwybro o safbwynt y cleient ac yn anfon pobl i'r ffeil anghywir. Y tabl hidlo hefyd yw'r lle mae accept rhy eang yn cuddio, felly gwiriwch ei bolisi diofyn tra byddwch yno.

Gwiriwch ail-lwythiad, gwrthodiad a cholled VPN

Mae tri arsylwi yn gwneud prawf derbyn cyflawn: mae'r ail-lwythiad yn llwyddo, mae gweithrediad cleient a ganiateir yn gweithio, ac mae cais y dylid ei wrthod yn cael ei wrthod mewn gwirionedd. Y trydydd yw'r un sy'n cael ei hepgor, a hwnnw yw'r unig dystiolaeth bod y polisi'n gwneud unrhyw beth o gwbl.

sudo ufw reload
sudo ufw status verbose
sudo iptables -t nat -L POSTROUTING -n -v

Yna profwch y methiant y gwnaethoch gynllunio ar ei gyfer. Gollyngwch y twnnel a gwyliwch beth mae'r gwesteiwr yn ei wneud, oherwydd mae polisi sy'n gweithio dim ond tra mae'r VPN i fyny yn bolisi â dibyniaeth heb ei datgan. Ail-lwythwch unwaith eto wedyn i brofi mai'r ffeil, yn hytrach na rhyw gyflwr rhedegol dros ben, sy'n cynhyrchu'r canlyniad gweithiol.

Nid yw NAT IPv4 yn dweud dim am IPv6, felly nodwch y sylw a fwriadwyd ar gyfer y ddau deulu yn yr un nodyn â'r rheol. Polisi rheoledig cydlynol yw'r nod, ac nid yw darn a ddadansoddwyd ar hap yn dystiolaeth ohono.

Erthyglau cysylltiedig