Sé sheiceáil, a dhéantar in ord, a shocraíonn an féidir le VM gníomhú mar gheata VPN dá óstach féin. Ní dhéanann an hipear-roisitheoir aon rud díobh seo ar do shon: is leis an aoi an tollán, is leis an óstach ród, agus is gnáthródú é an líonra eatarthu. Coinním an liosta mar gheall go dtugann scipeáil céime amháin an comhartha céanna i gcónaí, tost, nuair a phingíonn an t-óstach an t-aoi go sásta agus nach sroicheann sé aon rud inmheánach.

Tosaigh leis an gcúis. Ceachtar ní shuiteáiltear cliant na cuideachta ach amháin taobh istigh den aoi, nó coinníonn polasaí ann é, agus tá an freastalaí tógála inmheánach uait ón óstach fós. Má tá cead ag an óstach a chliant féin a bheith aige, déan é sin ina ionad: buaileann tollán amháin ar an óstach dhá líonra móide NAT i gcónaí.

Seiceáil 1: tá nasc ag teastáil ón óstach ar féidir leis seoladh a thabhairt dó

Caithfidh comhéadan a bheith ag an óstach sa réimír chéanna le dara cuibhreannas an aoi. Host-only in VirtualBox, host-only nó VMnet saincheaptha in VMware Workstation, droichead inmheánach nó gléas tap in QEMU/KVM, agus lasc Internal in Hyper-V — tá siad uile oiriúnach. Aoi 192.168.56.2, óstach 192.168.56.1, réimír 192.168.56.0/24 an leagan amach a úsáidim i saotharlanna.

Teipeann ar líonrú mód úsáideora QEMU (-netdev user, an cúltaca SLIRP réamhshocraithe) agus ar NAT VirtualBox sa seiceáil seo go hiomlán. Sroicheann paicéid an aoi próiseas seachfhreastalaí ar an óstach, mar sin ní fheiceann an t-óstach gléas a iompraíonn seoltaí an aoi riamh agus níl aon rud aige chun ród a dhíriú air. Is é Default Switch Hyper-V an scéal céanna. Má theipeann ar ping 192.168.56.2 ón óstach, stop: ní dheiseoidh aon ród a chuirtear leis níos déanaí é.

Seiceáil 2: seolann an t-aoi ar aghaidh agus aistríonn sé

Tagann paicéid ón óstach le seoladh foinse host-only agus ceann scríbe inmheánach, mar sin caithfidh an t-aoi iad a sheoladh ar aghaidh agus ansin iad a cheilt taobh thiar de sheoladh a tholláin. Ar aoi Linux ciallaíonn sé sin seoladh ar aghaidh, péire FORWARD accept, agus source NAT i dtreo an tolláin:

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -A FORWARD -i eth1 -o tun0 -j ACCEPT
sudo iptables -A FORWARD -i tun0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 192.168.56.0/24 -o tun0 -j MASQUERADE

Is é an riail MASQUERADE an chuid a fhágtar ar lár. Is annamh a bhíonn a fhios ag ródairí corparáideacha go bhfuil 192.168.56.0/24 ann; leis an riail, feiceann freastalaithe inmheánacha seoladh tolláin an aoi agus freagraíonn siad é, agus aimsíonn an freagra a bhealach ar ais chuig an aoi.

Tá aoi Windows níos lúcháireach. Cuireann IPEnableRouter=1 faoi SYSTEM\CurrentControlSet\Services\Tcpip\Parameters seoladh ar aghaidh ar siúl gan aistriú, mar sin ní oibríonn sé ach san áit a bhfuil ródú corparáideach ag díriú ar ais ar do réimír host-only cheana féin. Aistríonn Internet Connection Sharing, ach athuimhríonn sé an cuibhreannas comhroinnte go 192.168.137.1, mar sin léigh an seoladh a ghlac sé i ndáiríre sula scríobhann tú róid an óstaigh.

Seiceáil 3: ainmníonn róid an óstaigh an t-aoi, ní an tollán

Seol ach na réimírí atá ag teastáil ón óstach tríd an aoi. Ar Linux is leor ród amháin in aghaidh an réimíre agus filleann sé go glan:

sudo ip route add 10.20.0.0/16 via 192.168.56.2
ip route get 10.20.30.40

Ar Windows is é route add 10.20.0.0 mask 255.255.0.0 192.168.56.2 an comhionann. Fág -p ar lár agus tú fós ag tástáil, ionas go bhfaigheann drochród bás ag athlódáil, agus cuir leis é nuair a oibríonn an cosán. Ná bain ród réamhshocraithe an óstaigh amach mura gcaithfidh gach feidhmchlár ar an óstach an tollán a úsáid; má tá tollán iomlán de dhíth i ndáiríre, cuir an dá ród /1 leis agus coinnigh an ród díreach chuig líonra an hipear-roisitheora:

sudo ip route add 0.0.0.0/1 via 192.168.56.2
sudo ip route add 128.0.0.0/1 via 192.168.56.2

Ar óstach Windows, seiceáil méadrach an chomhéadain freisin. Fanann ród a cuireadh leis nuair a bhí an cuibhreannas host-only díchumasaithe sa tábla ach ní iompraíonn sé trácht riamh, agus féadann dara cuibhreannas le méadrach níos ísle an chuardach don réimír chéanna a bhuachan.

Seiceáil 4: leanann DNS an ród, ní réamhshocrú an tolláin

Bogann róid paicéid; socraíonn an réititheoir cé na hainmneacha a tháirgeann paicéid. Cuir réititheoir na cuideachta i dteorainn leis an gcrios corparáideach in ionad réititheoir an óstaigh a athsholáthar, agus dírightear é chuig freastalaí DNS a shroicheann an ród nua cheana. Le systemd-resolved ar an óstach:

resolvectl dns eth1 10.20.0.53
resolvectl domain eth1 '~corp.example.com'

Ar Windows déanann iontráil i dtábla polasaí réitigh ainmneacha an obair chéanna: Add-DnsClientNrptRule -Namespace ".corp.example.com" -NameServers 10.20.0.53. Má ritheann an t-aoi a réititheoir féin ar an seoladh host-only, úsáid an seoladh sin ina ionad, ach amháin tar éis duit a dheimhniú go bhfreagraíonn sé ar 192.168.56.2 agus ní ar loopback.

Ansin seiceáil an MTU sula gcuireann tú an milleán ar DNS as leathanaigh mhall. Tá comhéadan an tolláin níos lú ná comhéadan 1500 beart an óstaigh, mar sin faigheann óstach a sheolann deighleoga lánmhéide leis an mbeart DF socraithe iad a scaoileadh áit éigin taobh istigh den aoi. Is é an comhartha clasaiceach ping ag obair agus feidhmchlár gréasáin inmheánach a stadann tar éis an chroitheadh láimhe TLS. Clampáil an MSS ar chosán seolta ar aghaidh an aoi:

sudo iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Seiceáil 5: fíoraigh ón dá cheann

Ón óstach, ba chóir do traceroute nó tracert chuig seoladh inmheánach 192.168.56.2 a thaispeáint mar an chéad léim, ní an geata fisiceach. San aoi, féach ar an iarracht chéanna ag imeacht: taispeánann tcpdump -ni any host 10.20.30.40 an t-iarratas a seoladh ar aghaidh ar thaobh host-only agus an ceann aistrithe ar an tollán. Iarratas a théann amach, a fhilleann agus a fhágann an t-óstach ina thost fós, díríonn sé ar an mbealach ar ais.

Míníonn dhá mhainneachtain an chuid is mó de sin. Ceachtar ní iompraíonn tollán an aoi aon ród ar ais don réimír host-only toisc go bhfuil an riail NAT ar iarraidh, nó díríonn ród an óstaigh ar sheoladh nach bhfuil ag an aoi a thuilleadh tar éis athlódála. Léigh na seoltaí arís le ip -br addr agus ip route get in ionad muinín a bheith agat as nótaí ón seisiún roimhe.

Seiceáil 6: déan é a mhaireann athlódáil agus uasghrádú an hipear-roisitheora

Coinnigh an dá leath go buan: cumraíocht ród netplan nó NetworkManager ar an óstach, route add ... -p ar Windows, agus net.ipv4.ip_forward=1 in /etc/sysctl.d/ móide sraith rialacha balla dóiteáin a athlódáiltear san aoi. Tóg snapshot den aoi a luaithe a fhíoraítear an chumraíocht, sula dtagann an chéad nuashonrú eile ar chliant na cuideachta.

Athuimhrítear líonraí host-only nuair a athchruthaíonn hipear-roisitheoir a chuibhreannais, rud a dhéanann gach ród agus riail NAT a tógadh ar 192.168.56.0/24 a chur ó bhail go ciúin. Tar éis uasghrádaithe, athrith na chéad trí sheiceáil in ord; tógann sé sin nóiméad agus gabhann sé an cás ina bhfuil a ród fós ag an óstach agus an t-aoi tar éis bogadh go fo-líonra nua.

Teastaíonn a bhealach féin ó IPv6. Ní leanann rialacha ip6tables, taifead AAAA agus dara fine ród an óstaigh socruithe IPv4, agus breathnóidh seirbhís chorparáideach atá inrochtana thar IPv6 briste go buan agus IPv4 ag obair.

Ar éirigh nó nár éirigh, in ord: is féidir leis an óstach ping a dhéanamh ar sheoladh host-only an aoi; seolann an t-aoi ar aghaidh agus déanann MASQUERADE i dtreo an tolláin; tugann ip route get an t-aoi ar ais mar gheata don réimír inmheánach; réitítear ainmneacha corparáideacha tríd an réititheoir teoranta; taispeánann traceroute an t-aoi ar dtús; agus maireann na sé fhreagra chéanna athlódáil.

Ailt ghaolmhara