Dau gleient VPN, dau gyfeiriad cyhoeddus: gwnewch i SNAT gyd-fynd
Gall SNAT fesul ffynhonnell ddewis cyfeiriad cyhoeddus, ond dim ond tra bo’r porth yn dal i wahaniaethu’r cleientiaid. Gwiriwch y ffynhonnell sy’n goroesi cyn ysgrifennu’r rheol.
Gall dau gleient VPN adael drwy ddau gyfeiriad IPv4 cyhoeddus gwahanol, ac mae’r rheol sy’n gwneud hyn yn fyrrach nag y mae’r rhan fwyaf o bobl yn ei ddisgwyl. Yr hyn sy’n ei gwneud yn gweithio yw nid cystrawen iptables ond cyflwr y pecyn pan mae’n cyrraedd y gadwyn egress: rhaid i’r cyfeiriad ffynhonnell yno o hyd wahaniaethu’r cleientiaid. Os yw masquerade cynharach eisoes wedi cyfuno’r ddau ar un cyfeiriad, ni all unrhyw reol fesul cleient adfer y gwahaniaeth. Setlwch y cwestiwn hwnnw’n gyntaf, yna ysgrifennwch y cyfieithiad.
Pa hunaniaeth sy’n goroesi hyd at y porth
Mae’r rheol yn cyfateb i gyfeiriad ffynhonnell y pecyn, nid i enw defnyddiwr VPN nac i’r enw y mae rhaglen gleient yn ei ddangos. Popeth sy’n cyfieithu’r pecyn yn gynt ar y llwybr sy’n penderfynu beth y gall eich rheol ei weld o hyd. Rheswch y tabl nat yn nhrefn a chanfyddwch y pwynt lle mae’r ffynhonnell yn dal i fod fesul cleient.
iptables -t nat -S POSTROUTING
Darllenwch y rhestr hon o’r top. Mae rheol masquerade ger y brig yn ailysgrifennu’r ffynhonnell ar gyfer pob llif sy’n cyfateb, ac mae cofnodion fesul cleient a osodir ar ei hôl yn cyfateb i gyfeiriad nad yw’n bodoli mwyach. Pan fydd dau ddyfais LAN yn rhannu un twnnel ac yn cyrraedd fel un cyfeiriad mewnol, rhaid i’r dyluniad newid cyn i’r wal dân wneud: cadwch eu hamrediadau ffynhonnell ar wahân neu rhowch gyfeiriad mewnol ei hun i bob un.
Cysylltwch y dyraniad cyfeiriad mewnol â’r cleient dilysiedig. Mae rhoi’r cyfeiriad hwnnw i ddyfais arall yn trosglwyddo’r polisi egress gydag ef, ac nid yw cyfieithu ffynhonnell ynddo’i hun yn brawf hunaniaeth.
Ni all cyfieithu ddyfeisio cyfeiriad
Rhaid i bob cyfeiriad cyhoeddus gael ei neilltuo neu ei lwybreiddio i’r pwynt egress hwn, a rhaid i’r atebion ddod o hyd i’w ffordd yn ôl ato. Mae rheol sy’n anfon traffig o gyfeiriad nad oes neb yn llwybreiddio’n ôl iddo yn cael ei gollwng yn y pen pell neu’n cael ei hateb i westeiwr na ofynnodd amdano erioed. Mae achos darparwr cwmwl fel arfer yn cyfieithu ei gyfeiriad cyhoeddus i gyfeiriad rhyngwyneb preifat cyn i’r pecyn adael, felly rhaid i ffynhonnell SNAT fod y cyfeiriad y bydd y darparwr yn ei dderbyn, nid y gwerth y mae’r consol yn ei ddangos. Darllenwch fodel cyfeiriadau’r darparwr a’i ddilyn yn hytrach na chopïo’r gwerth cyhoeddus i bob pecyn.
Yn ymarferol mae hynny’n golygu gwirio’r rhagddodiad llwybreiddiedig yng nghonsol y darparwr cyn cyffwrdd â’r wal dân, a defnyddio cyfeiriad y rhyngwyneb preifat fel ffynhonnell y cyfieithu pan fo’r mapio’n un-i-un. Daw’r cyfeiriadau a ddefnyddir yn yr enghreifftiau isod o’r ystodau dogfennaeth, felly’r peth cyntaf i’w ddisodli yw testun y cyfeiriad ei hun.
Mewnosodwch cyn y masquerade cyffredinol
Cadarnhewch y rhyngwyneb egress a’r gadwyn bresennol cyn ychwanegu unrhyw beth. Mae’r cyntaf yn penderfynu pa becynnau y gall y rheol gyfateb iddynt, a’r ail yn dangos beth sy’n sefyll o’i flaen yn barod.
ip -4 route show default
iptables -t nat -L POSTROUTING -n -v --line-numbers
Mae’r gorchymyn cyntaf yn enwi’r rhyngwyneb y mae pecyn i’r rhyngrwyd yn gadael drwyddo mewn gwirionedd. Mae’r ail yn argraffu’r gadwyn â rhifau llinell. Y cofnod masquerade cyffredinol yw’r llinell i aros uwch ei phen.
iptables -t nat -I POSTROUTING 1 -s 10.88.4.20/32 -o ens3 -j SNAT --to-source 198.51.100.77
iptables -t nat -I POSTROUTING 1 -s 10.88.4.21/32 -o ens3 -j SNAT --to-source 198.51.100.78
Mae’r ddwy reol uchod yn cyfateb i un cyfeiriad mewnol yr un, yn cyfyngu’r cyfatebiad i’r rhyngwyneb egress ac yn gosod y ffynhonnell yn benodol. Mewnosodwch yn hytrach nag atodi: ar safle 1 cânt eu gwerthuso cyn y llinell masquerade. Nid yw’r drefn rhyngddynt yn bwysig oherwydd bod eu ffynonellau’n wahanol. Disodlwch ens3 gyda’r hyn a adroddodd y gorchymyn llwybr, a chadwch reolwyr wal dân eraill oddi ar yr un bachau, gan mai dau offeryn yn ysgrifennu un tabl yw’r rheswm arferol pam nad oes effaith gan reol gywir.
Profwch y ffynhonnell â llif newydd
Mae NAT cyflwr yn rhwymo cyfieithiad pan fydd llif yn dechrau ac yn ei ailddefnyddio ar gyfer pecynnau diweddarach, felly mae sesiwn a agorwyd cyn y newid yn cadw ei hen ffynhonnell ar ôl y newid. Dim ond cysylltiad a gychwynnwyd o’r newydd sy’n profi’r rheol.
conntrack -L -s 10.88.4.20 -p tcp --dport 443
Darllenwch gyfeiriad ateb y cofnod hwnnw: ei gyrchfan yw’r cyfeiriad y mae’r pen pell yn ei weld fel y ffynhonnell. Cymharwch ef â’r cyfeiriad cyhoeddus a fwriadwyd gennych, a thriniwch gofnod sy’n cario’r hen gyfeiriad fel tystiolaeth o lif a ddechreuodd yn rhy gynnar yn hytrach nag o reol wedi torri. Gofynnwch i’r cleient agor cysylltiad newydd, yna ailadroddwch yr ymholiad. Mae fflysio’r tabl olrhain cyfan i orfodi’r prawf yn torri ar bob sesiwn arall ar y porth.
Nid yw cyfieithu yn dewis y llwybr o hyd, yn gadael i’r llif basio drwy’r hidlydd, nac yn cyhoeddi gwasanaeth i mewn. Mae llwybr anghywir a rheol caniatáu ar goll yn parhau i fethu ar ôl rheol SNAT berffaith. Gwiriwch IPv6 ac unrhyw lwybr egress eilaidd hefyd, yna nodwch y parau mewndir-i-gyhoedd yn nogfennaeth y wal dân fel y bydd y newid nesaf yn dechrau o’r mapio yn hytrach nag o destun y rheol.