Il-klijent OpenVPN jieqaf meta s-server tiegħu jaħdem fuq l-istess host
Żewġ istanzi OpenVPN fuq host wieħed jiġġieldu għall-istess port lokali u l-istess tabella tar-rotot. Iffissa l-port, aqsam l-apparati, u iċċekkja liema tabella tirbaħ.
Kelli magna tal-laboratorju li kienet taċċetta tunnel minn sit remot u wkoll iddajlja lejn netwerk ta' fornitur. Il-profil tal-ħruġ kien ilu jaħdem għal ġimgħat. Wara li żdied is-server tad-dħul, dak tal-ħruġ ikkonnettja u mbagħad waqaf iġib it-traffiku fi ftit sekondi, jew irrifjuta li jibda b'żball li l-indirizz diġà jintuża. Il-fajls tal-konfigurazzjoni ma nbidlux; il-host sempliċement kiseb it-tieni proċess OpenVPN b'opinjoni tiegħu dwar ports u rotot.
Il-falliment mhuwiex każwali, u mhuwiex problema ta' awtentikazzjoni. Żewġ daemons fuq magna waħda jikkompetu għall-istess socket lokali u għall-istess tabella tar-rotot, u dak li jibda jew jerġa' jikkonnettja l-aħħar għandu tendenza jirbaħ. Li tkun taf liema minn dawn iż-żewġ kolliżjonijiet għandek jiddeċiedi fejn tħares l-ewwel.
Aqra s-sintomu bil-maqlub
Ibda minn meta jmut it-tunnel. Żball ta' bind waqt il-bidu jindika lejn in-naħa li tisma': xi ħaġa diġà tippossjedi dak il-port, u OpenVPN jirrifjuta li jibda minflok jaqsamh. Tunnel li jitla' u mbagħad jiskot jindika lejn ir-rotot, għax rotta installata mill-istanza l-oħra tista' tiġbed il-pakketti tal-konnessjoni ta' barra minn triqithom.
Iż-żewġ każijiet jipproduċu l-istess ilment tal-utent, u għalhekk il-linji ta' erġa' pprova u l-iskripts tal-għassa ma jsewwu xejn. Huma jerġgħu jikkonnettjaw il-klijent fl-istess konflitt. L-ewwel domanda utli hija jekk il-proċess għadux jaħdem meta jieqaf it-traffiku.
Socket wieħed u apparat wieħed għal kull istanza
Server li jisma' jorbot il-port tiegħu; klijent tal-ħruġ ukoll jeħtieġ port lokali għat-traffiku inkapsulat tiegħu. Meta t-tnejn jgħixu fuq l-istess host, l-imġiba default tal-klijent tista' taħbat mal-port tas-server. Il-port lokali tal-klijent jista' jiġi ffissat, u t-torbot jista' jiġi mqabbeż fejn il-pari m'għandux bżonn port sors fiss:
lport 1195
nobind
dev tun1Dawk in-numri huma eżempji, mhux rekwiżit. Dak li hu importanti hu li l-klijent jieqaf jikkompeti għall-port tas-server u li kull istanza tikseb apparat tat-tunnel separat. Żewġ daemons li jaqsmu tun0 jiktbu fuq l-istat tal-apparat ta' xulxin anki meta l-ports tagħhom ikunu differenti, għalhekk apparat wieħed għal kull tunnel mhuwiex fakultattiv.
nobind jappartjeni għan-naħa tal-klijent. Server xorta jrid jorbot u jisma', għalhekk tikkopjax il-linja fil-konfigurazzjoni tas-server, u ma tiddiżattivax it-torbot fuq klijent li l-pari tiegħu jiffiltra fuq port sors fiss.
Agħżel sid wieħed għar-rotta default
Konnessjoni waħda biss tista' tinstalla rotta default. Jekk iż-żewġ profili jerħu t-traffiku kollu, it-tieni konnessjoni tissostitwixxi lill-ewwel bil-kwiet, u l-ewwel tidher miksura. Jew żomm it-tunnel tal-ħruġ maqsum u imbotta biss il-prefissi tal-fornitur, jew agħtih tabella tar-rotot separata.
ip rule add from 10.9.0.2 table 120
ip route add default dev tun1 table 120
ip route get 10.9.0.2L-indirizzi u n-numru tat-tabella hawn fuq huma plokok. Mill-ewwel wara li żżid ir-regola, ikkonferma li l-indirizz tas-server VPN innifsu għadu jiġi riżolt permezz tat-tabella normali; tabella li taqbad it-trasport ta' barra tkisser it-tunnel li kienet maħsuba biex tipproteġi, u l-linja ta' erġa' jikkonnettja li ssegwi tidher bħal fornitur mhux affidabbli.
Għal konfigurazzjoni li trid tiflaħ għal konnessjonijiet mill-ġdid u boots mill-ġdid, in-namespace tan-netwerk huwa l-fruntiera l-aktar soda. It-tieni klijent jaħdem fil-namespace tiegħu stess bl-interfaces u r-rotot tiegħu stess, u huma esposti biss is-servizzi li jridu jaqsmu l-fruntiera. Il-host iżomm rotta default waħda, u konnessjoni mill-ġdid tan-namespace ma tistax terġa' tiktebha.
Ivverifika bit-tabella, mhux bil-linja tal-istat
Klijent li jirrapporta li huwa konness jipprova biss il-kanal tal-kontroll tiegħu. Aqbad l-istat tar-rotot qabel u wara kull konnessjoni, imbagħad staqsi lill-kernel liema apparat jkun juża destinazzjoni vera:
ip route show
ip route get 10.40.0.20
ss -lunp | grep 1194Jekk l-apparat magħżul għall-indirizz tal-fornitur jinbidel meta jibda t-tieni tunnel, għandek il-kolliżjoni tar-rotot. Jekk iż-żewġ proċessi jidhru fuq l-istess port lokali, għandek il-kolliżjoni tas-sockets. Li tissewwi l-ewwel mingħajr it-tieni sempliċement iċċaqlaq il-falliment għall-konnessjoni mill-ġdid li jmiss.
Ikteb il-ports, l-apparati, it-tabelli u s-sid tar-rotta fir-runbook tal-host. Inkella l-persuna li jmiss li żżid it-tielet tunnel terġa' tiskopri l-istess kolliżjoni, u l-unika prova viżibbli tkun konnessjoni li taħdem sakemm id-daemon ta' xi ħadd ieħor jerġa' jibda.