Поделите једну VPN везу са свим уређајима на вашој LAN мрежи
Дељење тунела захтева прослеђивање, превод адреса и повратну путању. Упоредите дељење са хоста, руту рутера до тог хоста и гејтвеј који поседује тунел.
Један лаптоп држи тунел, остатак домаћинства жели исти приступ, а први покушај је да се све усмери на повезану машину. То не успева из разлога који немају никакве везе са VPN-ом: хост који прима мора да проследи пакет, препише његов извор и осигура да одговори пронађу пут назад. Ако изоставите било шта од три, повезани лаптоп наставља да ради, док сваки други уређај не добија одговор. Решење је пројекат рутирања, а не подешавање клијента.
Зашто усмеравање уређаја на хост не успева
Хост који прими пакет адресиран на удаљену мрежу постаје рутер за тај тренутак, без обзира на то да ли га је неко тако конфигурисао. Прослеђивање је у Линуксу и Виндоусу подразумевано искључено, осим ако га нека функција укључи. Превод адреса је важан јер удаљена страна мора да зна куда да шаље одговоре, а приватна LAN адреса за њу ништа не значи. Повратна путања је трећи део, и баш њу људи забораве када се први ping учини успешним.
Дијагностикујте тим редоследом уместо да насумично укључујете и искључујете подешавања. Сваки део који недостаје даје нешто другачији симптом.
Укључите прослеђивање и превод адреса на хосту
Две измене на повезаном хосту покривају прва два дела: укључите прослеђивање IPv4 и преведите LAN саобраћај на интерфејс тунела.
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADEСачувајте sysctl вредност у датотеци под /etc/sysctl.d и поново проверите masquerade правило након поновног покретања, јер чеони делови заштитног зида могу да испразне прилагођене ланце. У Виндоусу функција дељења изводи оба корака, али и поново адресира LAN адаптер на фиксну подмрежу и брише његов гејтвеј, што квари статичко адресирање и прослеђивање портова. Вратите путању рутера до хоста на његовој новој адреси пре него што закључите да дељење није успело. Затим гледајте како бројачи правила расту док други уређај шаље саобраћај.
Дајте LAN-у путању која преживљава поновна покретања
Осталим уређајима треба рута до удаљеног префикса, а два начина да се она обезбеди разликују се по обиму утицаја.
ip route add 10.8.0.0/24 via 192.168.1.20 dev eth0Усмеравање подразумеваног гејтвеја клијента на хост шаље сав његов саобраћај кроз хост, укључујући локално штампање и дељење датотека, па се неповезане ствари заустављају када хост заспи. Додавање конкретне руте на рутеру за удаљени префикс је уже: само одредишта иза тунела иду на повезану машину, а остатак LAN-а наставља да ради. Подмреже изнад су примери, па их замените сопственим опсезима LAN-а и тунела. У сваком случају, тестирајте са другог уређаја са укљученим, а затим искљученим тунелом.
Обратите пажњу на MTU пре него што окривите тунел
Тунели смањују употребљиву величину пакета, а други уређај о томе нема појма. Велики преноси и TLS руковања застају док мали захтеви успевају.
ping -M do -s 1400 10.8.0.5Одговор доказује да та величина прелази путању без фрагментације; истек времена значи да је терет инкапсулације гурнуо пакет изван MTU-а тунела. Смањите MTU на интерфејсу дељења или ограничите максималну величину сегмента на уређају који прослеђује, па поновите исту проверу. Прво тестирајте исту величину на LAN страни, јер локални неуспех указује на LAN, а не на тунел. Запишите величину која ради, јер каснија промена провајдера или тунела може да је помери.
За један додатни уређај довољно је дељење са хоста. За домаћинство ставите руту на рутер. Када приступ мора да преживи одлазак лаптопа са вама, сам тунел припада посвећеном гејтвеју.