OpenVPN ar VPS: dim dyfais /dev/net/tun i'w hagor
Mae'r ffurfweddiad fel arfer yn iawn: ni all y gwestai weld y ddyfais tun. Gwahaniaethwch VM oddi wrth gynhwysydd â chnewyllyn a rennir, yna trwsiwch y haen sy'n berchen ar y cnewyllyn.
Mae'r cychwyn cyntaf yn methu â neges am /dev/net/tun neu ddyfais TUN/TAP na ellir ei hagor. Ni ddarllenwyd tystysgrifau eto, felly nid oes dim yn y proffil dan amheuaeth. Mae'r daemon yn gofyn i'r cnewyllyn am wrthrych nad yw'r gwestai hwn yn ei gael.
Mae'r gwrthrych hwnnw yn ddyfais nodwedd a gefnogir gan y modiwl tun. A allwch ei chreu mae'n dibynnu ar bwy sy'n berchen ar y cnewyllyn.
Beth mae'r daemon yn ei ofyn i'r cnewyllyn
OpenVPN yn agor /dev/net/tun ac yn gofyn i'r gyrrwr am ryngwyneb. Y gyrrwr yw'r modiwl tun, a nod y ddyfais yw'r ddolen y mae gofod defnyddiwr yn ei defnyddio i gyrraedd ato. Os nad yw'r modiwl wedi'i lwytho, gall y nod fod ar goll neu gall yr agoriad fethu. Nid yw'r naill gyflwr na'r llall yn cael ei drwsio trwy olygu server.conf.
Darllenwch y gwall yn gyntaf fel cwestiwn platfform. Mae gwall ffurfweddu yn ymddangos ar ôl i'r ddyfais agor, nid o'i flaen.
VM neu westai â chnewyllyn a rennir
Ar KVM, Xen neu beiriant rhithwir llawn arall chi sy'n rheoli'r cnewyllyn. Gallwch lwytho modiwlau a chreu'r nod. Ar OpenVZ, Virtuozzo neu gynhwysydd tebyg i LXC mae'r gwestai yn rhannu cnewyllyn y gwesteiwr, felly ni all root y tu mewn lwytho modiwl nad yw'r gwesteiwr wedi'i lwytho.
Felly mae gan yr un methiant ddau berchennog gwahanol iawn. Yn yr achos cyntaf gallwch ei drwsio o fewn y peiriant. Yn yr ail rydych chi'n gofyn i'r gwesteiwr, neu i'r darparwr, am ddatgelu rhywbeth.
Rhedwch ls -l /dev/net/tun, lsmod | grep tun a ip -brief link show cyn penderfynu ym mha achos rydych chi.
Ar VM, llwythwch y modiwl wrth gychwyn
Ar beiriant rhithwir mae modprobe tun fel arfer yn creu nod y ddyfais. Gwiriwch ei fod yn ymddangos, yna parhewch y llwyth trwy ffurfwedd modiwlau'r dosbarthiad yn hytrach na dibynnu ar orchymyn a deipiwyd unwaith. Mae nod sy'n diflannu ar ôl ailgychwyn yn troi'n yr un tocyn y mis nesaf.
Gwiriwch hefyd fod gan y cnewyllyn a gychwynnoch y modiwl o gwbl. Gall cnewyllyn darparwr teneuwyd fod hebddi.
Os yw'r nod yn bodoli ond mae'r agoriad yn dal i fethu, caniatâd a rhifau major/minor y ddyfais yw'r nesaf dan amheuaeth. Mae'r rheini'n atgyweiriadau lleol, nid ceisiadau i'r darparwr.
Mewn cynhwysydd, y gwesteiwr sy'n berchen ar y ddyfais
Mewn cynhwysydd, mae'r ddyfais a'r gallu yn ddau ofyniad ar wahân. Rhaid i'r runtime basio /dev/net/tun trwodd, ac mae angen gallu'r rhwydwaith ar y cynhwysydd i greu rhyngwyneb. Bydd runtime heb root sy'n rhoi'r naill na'r llall yn parhau i gynhyrchu'r un gwall agor waeth sut y caiff y proffil ei ysgrifennu. Mae llawer o westeiwyr OpenVZ yn dangos togl TUN/TAP ym mhanel y cwsmer, a gall ei alluogi ynghyd ag ailgychwyn fod yr holl ateb yn aml.
Gofynnwch ddau gwestiwn manwl i'r darparwr: a yw'r modiwl tun wedi'i lwytho ar y gwesteiwr, ac a yw'r ddyfais ar gael y tu mewn i'r peiriant hwn? Mae tocyn amwys yn cael ateb amwys.
Pam nad yw ailadeiladu'r modiwl yn helpu'n aml
Anaml y mae adeiladu modiwl y tu mewn i'r gwestai yn helpu. Mae crynhoi angen ffurfwedd y cnewyllyn sy'n rhedeg yn union, ac mae /proc/config.gz yn ddewisol ac yn aml yn absennol ar ddelweddau lleiaf. Ni ellir gosod modiwl sy'n gweithio hyd yn oed mewn cnewyllyn nad yw'r cynhwysydd yn berchen arno.
Ar ôl i'r ddyfais ymddangos, ailgychwynnwch y gwasanaeth a chadarnhewch y rhyngwyneb cyn profi traffig. Mae gweld tun0 yn dangos bod y daemon wedi agor y ddyfais. Nid yw'n dweud dim eto am anfon ymlaen, rheolau firewall na'r llwybrau y mae cleientiaid yn eu cael.
Mae'r rheini'n gwestiynau ar wahân gyda thystiolaeth ar wahân. Mae dyfais ar goll yn methiant rhagofyniad; mae twnnel sy'n bodoli ond yn cario dim yn fethiant polisi.