Додајте VPN локације поред ISP рутера без прекида позива
Сачувајте интернет и гласовну улогу ISP рутера, а приватни пут нека држи други гејтвеј. Обавите ових пет провера пре него што промените било коју руту.
Већина малих локација већ има један уређај који ради интернет, DHCP и гласовну линију, а тај уређај неће водити тунел локације. Додавање другог гејтвеја за приватну путању функционише ако пре додира кабла одлучите коме припада која рута. Прави ризик није тунел, већ тиха замена уређаја који држи телефоне регистроване. Прођите пет провера редом и зауставите се где једна не успе.
Запишите улоге које већ раде
Забележите подразумевани гејтвеј, DHCP сервер, разрешивач и уређај на коме је гласовна регистрација провајдера. У овом примеру ISP рутер је 10.50.0.1, нови гејтвеј ће бити 10.50.0.2, а удаљена локација 10.60.0.0/24. Ништа у том плану не мења прве три улоге и управо је то поента. Затим потврдите да други уређај заиста може да заврши тунел: погледајте протокол, очекивани проток и да ли добија ажурирања фирмвера или пакета. Уређај са VPN логом и без пута ажурирања је терет, а не додатак.
Ако не можете да кажете коме припада гласовна услуга, зауставите се. Замена рутера који има регистрацију без плана враћања претвара VPN пројекат у телефонски прекид.
Дајте новом гејтвеју једну адресу и један задатак
Резервишите његову LAN адресу изван DHCP опсега да се не помери после рестарта, и не дајте му сопствену подразумевану руту осим ако желите да постане интернет пут. Његов задатак је да држи тунел и одговара за удаљене префиксе. На LAN домаћинима који морају да дођу до удаљене локације докажите који пут сада користе и који желите после промене; исте две команде пре и после најјефтинији су доказ.
ip route get 10.60.0.55
ip neigh show 10.50.0.2
traceroute -n 10.60.0.55
Ако претрага враћа ISP рутер и traceroute умире на ивици интернета, домаћин још нема удаљени пут, што је очекивано. Ако враћа нешто неочекивано, прво то решите, јер сваки следећи корак претпоставља ову основу.
Изаберите коме припада рута удаљеног префикса
Опција A је ISP рутер: држи статичку руту за 10.60.0.0/24 према гејтвеју, и сваки домаћин прати свој подразумевани гејтвеј као раније. Опција B је по домаћину: само машине којима треба удаљена локација добијају експлицитну руту кроз 10.50.0.2, а све остало остаје нетакнуто. A је чистија за много домаћина, али обично захтева да провајдеров рутер прихвати статичку руту, што неки не раде. B не тражи сарадњу провајдера, али вам оставља одржавање конфигурације домаћина, па одговара малом одобреном скупу машина.
У оба случаја повратни смер мора да постоји. Ако удаљени одговор стигне на гејтвеј и гејтвеј га проследи право на LAN домаћина, саобраћај прескаче стање firewall-а које је ISP рутер држао на излазном путу. Када гејтвеј није подразумевани рутер LAN-а, та асиметрија је дизајнерска одлука, а не грешка коју можете игнорисати.
ip route add 10.60.0.0/24 via 10.50.0.2 dev eth0
ip route get 10.60.0.55 from 10.50.0.77
Учврстите унос кроз власника конфигурације домаћина, а не кроз скрипту за пријаву. Рута која постоји само после нечије пријаве пашће први пут када се машина рестартује због неповезаног разлога.
Обезбедите доступну улазну тачку
Гејтвеју треба адреса до које удаљена локација може да дође. Иза ISP рутера то значи прослеђивање порта или DMZ унос, и обоје зависи од тога да ли провајдер заиста доставља саобраћај. Локално прослеђивање не побеђује NAT оператерског нивоа на страни провајдера. Ако провајдер не даје доступну тачку, обрните смер: нека обе локације иницирају према чворишту које контролишете. То је ваљан дизајн, али додаје трећу зависност за прослеђивање, поверење и доступност, а динамички DNS то не замењује.
Потврдите прослеђивање снимком на гејтвеју, а не сајтом који скенира портове. Скенери пријављују порт затвореним док се слушалац не веже, а прослеђивање које никада не достави саобраћај споља изгледа исто као затворен порт.
Прихватите приватну услугу и гласовну линију заједно
Тестирајте предвиђени рад са LAN домаћина, уз приватни DNS и сопствене акредитиве апликације. Рутирани тунел не чини удаљено прегледање локалним Ethernet сегментом, па откривање и разрешавање имена траже сопствене договоре.
curl -sS -o /dev/null -w '%{http_code}\n' https://files.example.net
ping -c 3 10.60.0.55
Затим потврдите да обичан приступ интернету са истог домаћина још ради и да су телефони још регистровани; те две провере хватају случајну промену подразумеване руте, најчешћи начин на који овај пројекат поквари нешто што није намеравао да дотакне. Завршите писаном белешком о опоравку: који уређај држи коју улогу, резервисане адресе и како уклонити руту удаљеног префикса у једном кораку. Приватна путања која може чисто да се повуче вреди више од оне која ради само данас.