Mae StrongSwan yn gwthio cyfeiriad DNS na all y Mac ei gyrraedd
Mae Mac neu iPhone yn anwybyddu cyfeiriad cyhoeddus y datryswr y mae eich gweinydd StrongSwan yn ei wthio. Symudwch y datryswr i'r pwll cleientiaid a chwmpaswch borth 53 iddo.
Mae popeth yn gweithio nes bod rhywun yn agor MacBook. Mae'r twnnel yn sefydlu, mae gwesteiwyr mewnol yn ateb drwy gyfeiriad, ac mae datrys enwau yn marw. Ar yr iPhone mae'r un proffil yn ymddwyn yr un ffordd, tra bod cleientiaid Windows a Linux yn iawn. Y priodoledd DNS a wthir sydd fel arfer yn euog: mae'r gweinydd yn dosbarthu ei gyfeiriad rhyngwyneb cyhoeddus ei hun, ac nid yw cleient IKEv2 Apple yn anfon ymholiadau yno drwy'r twnnel. Symudwch y datryswr i mewn i'r pwll ac mae'r symptom yn diflannu heb gyffwrdd â'r cleient.
Mae'r symptom yn pwyntio at y cyfeiriad a wthir
Pan fo rhai platfformau'n methu'n unig, mae'r twnnel a'r manylion mewngofnodi bron yn sicr yn iawn, oherwydd maent yn cael eu rhannu. Y gwahaniaeth yw sut mae pob cleient yn cymhwyso'r llwyth cyfluniad a ddaw ato, gan gynnwys y gweinydd DNS mewnol. Mae cleient sy'n derbyn y cyfeiriad ond yn cyfeirio ymholiadau o gwmpas y twnnel yn gorffen gyda datryswr y gall ei weld ac na all ei ddefnyddio.
Y cyfeiriad cyhoeddus yw'r dewis arferol oherwydd mai dyma'r un y mae'r gweinyddwr eisoes yn ei wybod. Dyma hefyd yr unig gyfeiriad sy'n sicr y tu allan i ragddodiad y twnnel ei hun, a'r union briodwedd honno sy'n torri cleientiaid Apple.
Edrychwch ar y gwerth cyn newid unrhyw beth. Os mai cyfeiriad WAN y gweinydd yw'r datryswr a wthir, rydych wedi dod o hyd i ffurf y broblem a gallwch hepgor gweddill y dyfalu. Cymharwch ef â rhagddodiad y pwll hefyd, oherwydd cyfeiriad sydd y tu mewn i'r pwll ond y tu allan i'r ystod a lesir yw'n union sut y bydd y cywiriad yn edrych. Mae dwy funud gyda'r cyfluniad yn well nag prynhawn o gipio pecynnau ar y cleient.
Torrwch y datryswr allan o'r ystod les
Rhowch gynllun cyfeiriadau i'r twnnel lle mae'r datryswr yn aelod o isrwyd y pwll ei hun, yna cadwch y cyfeiriad hwnnw fel na lesir ef i unrhyw gleient byth. Yn yr enghraifft hon mae'r pwll yn 10.180.7.0/24, mae'r gweinydd yn dal 10.180.7.1, ac mae lesau'n dechrau yn 10.180.7.2.
rightsourceip=10.180.7.2/24
rightdns=10.180.7.1Mae rhagddodiad y pwll a'r datryswr yn rhannu isrwyd, felly mae'r llwybr sy'n cario traffig y twnnel eisoes yn cario'r ymholiadau hefyd. Yr un briodwedd honno sy'n gwneud y cywiriad yn gludadwy ar draws cleientiaid. Mewn cyfluniad swanctl mae'r un ddau ffaith yn ymddangos fel diffiniad pwll a gosodiad DNS ar y cysylltiad yn hytrach nag yng nghystrawen ipsec.conf.
Nid oes angen rhyngwyneb corfforol newydd ar y gweinydd ar gyfer hyn. Mae ychwanegu 10.180.7.1 at y rhyngwyneb dolen yn ddigon i ddatryswr rwymo ac ateb, gan fod cleientiaid yn ei gyrraedd drwy lwybr y pwll sydd eisoes yn bodoli. Cadwch y cyfeiriad allan o'r ystod les fel na all unrhyw gleient ei hawlio ar ddamwain. Os yw'r pwll yn cael ei reoli gan wasanaeth DHCP neu RADIUS allanol, cadwch y cyfeiriad yno hefyd, neu bydd y cleient cyntaf i ofyn yn ei gymryd.
Rhwymwch y datryswr a chau porth 53
Nid yw neilltuo cyfeiriad yr un peth â gwrando arno. Bydd datryswr sy'n gwrando ar gyfeiriad LAN yn unig yn gwrthod neu'n anwybyddu ymholiadau a anfonir i gyfeiriad y pwll, ac mae'r cleient yn gweld goramser sy'n edrych fel methiant llwybro.
interface: 10.180.7.1
access-control: 10.180.7.0/24 allow
access-control: 0.0.0.0/0 refuseMae'r darn unbound hwn yn derbyn ymholiadau o bwll y twnnel ac yn gwrthod popeth arall, sef y polisi y mae'r rhan fwyaf o ddatryswyr corfforaethol ei eisiau. Os yw'r un enghraifft hefyd yn ateb cleientiaid LAN, ychwanegwch ragddodiad LAN yn benodol yn lle lledu'r gwrandäwr i bob ffynhonnell.
Yna rhaid i reolau'r wal dân gyd-fynd â rheolaeth mynediad y datryswr ei hun. Derbyniwch borth 53 o'r pwll, a'i ollwng o bob man arall, ond gwiriwch drefn y gadwyn yn gyntaf.
iptables -A INPUT -p udp --dport 53 -s 10.180.7.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -s 10.180.7.0/24 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j DROP
iptables -A INPUT -p tcp --dport 53 -j DROPMae rheol dderbyn gynharach ac ehangach yn gwneud y ddwy linell olaf yn addurniadol, ac mae'r datryswr yn parhau i fod yn gyrraeddadwy o'r rhyngrwyd. Darllenwch y set reolau effeithiol gyda'r cyfrifwyr yn hytrach na dibynnu ar y drefn a fwriadwyd gennych. Mae'r polisi arall, sef gwthio'r cyfeiriad cyhoeddus a chaniatáu ymholiadau o unrhyw ffynhonnell, yn gweithio i lawer o gleientiaid, ond mae'n rhoi'r datryswr ar y rhyngrwyd ac angen ei gyfyngu cyfradd a'i fonitro ei hun.
Gwiriwch beth a dderbyniodd y cleient mewn gwirionedd
Gwiriwch safbwynt y gweinydd yn gyntaf, yna un y cleient, oherwydd mae'r ddau yn anghytuno mewn ffyrdd addysgiadol. Mae rhestr pwll yn dangos pa gyfeiriad a lesiwyd, ac mae rhestr y cymdeithasau diogelwch yn dangos a yw'r cysylltiad i fyny gyda'r hunaniaeth a ddisgwylir.
swanctl --list-sas
swanctl --list-pools
dig +short @10.180.7.1 intranet.plant.exampleMae'r ymholiad uniongyrchol yn profi bod y datryswr yn ateb ar gyfeiriad y pwll o westeiwr sy'n gallu ei gyrraedd. Nid yw'n profi bod y Mac wedi dewis y gweinydd hwnnw. Ar macOS mae scutil --dns yn rhestru datryswyr fesul gwasanaeth cwmpas ac yn fwy addysgiadol na'r panel crynodeb; ar Windows mae Get-DnsClientServerAddress yn dangos a yw addasydd y twnnel wedi derbyn y gwerth a wthir.
Os yw'r cleient yn dangos cyfeiriad y pwll ac mae ymholiadau'n dal i oramseru, y llwybr twnnel neu'r gadwyn wal dân sydd ar fai. Mae cleient nad yw'n adrodd unrhyw ddatryswr yn golygu na chyrhaeddodd y llwyth cyfluniad byth, felly edrychwch ar sut mae'r platfform hwnnw'n cymhwyso gosodiadau a wthir yn hytrach nag ar y rhwydwaith. Nodwch pa un o'r ddau achos a welsoch cyn newid unrhyw beth arall. Mae'r ddau fethiant hyn yn edrych yn union yr un fath mewn tocyn cymorth ac yn arwain at atgyweiriadau gwrthgyferbyniol.