Доња подмрежа наспрам VPN-а на радној површини: искључите транзит, не апликације
Заобилажење по апликацији класификује само локални излаз. Уређајима иза радне станице потребна је сопствена политика улаза, прослеђивања и повратног пута.
Једна машина, два посла, један заштитни зид: Wi-Fi веза нагоре, мала Ethernet подмрежа иза ње, и клијент VPN за радну површину који претпоставља да је све што напусти машину локално. Локално покренуте апликације излазе локалним излазним путем. Уређаји иза радне станице долазе на Ethernet порт и потребна им је одлука о прослеђивању. Изузетак написан за први пут никада не види други, и зато прегледач заобилази тунел, а уређаји не.
Два пута пакета, једна политика
| Origin | Path | Decision owner |
|---|---|---|
| Application on the workstation | OUTPUT then egress | The VPN app's routing policy |
| Device behind the workstation | PREROUTING then FORWARD | The workstation's own forwarding policy |
Први ред је оно што описује већина водича за split-tunneling. Други је конфигурација рутера која случајно живи на истој машини. Њихово спајање у један ментални модел је грешка; деле језгро, али не политику. Нацртајте оба пута пре него што уредите било које правило, а остатак дизајна произилази из тога који пут недостаје.
Табела такође објашњава зашто једна машина може проћи један тест, а пасти на другом. Прегледач на радној станици доказује локални пут; преносник укључен у Ethernet порт доказује пут прослеђивања. Проверите сваку промену са оба, иначе други остаје непроверен, колико год пута освежите прегледач.
Шта изузетак апликације заправо класификује
Изузетак по апликацији обично ради тако што означава пакете из процеса или корисника, а затим усмерава означени саобраћај изван тунела. То је конструкција локалног излаза. Пакет са нижег уређаја нема локални процес, па никада не одговара селектору, какав год селектор био.
Какав год селектор био, две листе нису иста листа, и у томе је цела поента. Водич Mullvad за Linux описује ознаке које троше његов заштитни зид и политика усмеравања, а његови примери циљају локални излаз; они нису подржани опис рутера на нижем нивоу. Њихово копирање даје машину која верује да има изузетак док све прослеђује у тунел.
Напишите уговор о транзиту
Заједно именујте префикс извора на нижем нивоу и улазни интерфејс, па ограничите тај префикс на улазу. Без ограничења сваки уређај који стигне до порта може да затражи изузету адресу и изађе кроз заобилажење. Третирајте то као два питања: смеју ли ови домаћини уопште да користе ову везу нагоре, и смеју ли да стигну до радне станице или приватних опсега тунела? То су додатне дозволе, а не нуспојаве избора везе.
Дозволите прослеђивање, па га филтрирајте. Linux мрежни пролаз захтева укључено прослеђивање, правила која дозвољавају предвиђени саобраћај у оба смера и или повратни пут нагоре или намерно ограничено превођење извора. Сам NAT не бира везу нагоре и не даје пролаз кроз филтер; он само преписује адресу после тих одлука.
Класификација за транзит мора да се догоди пре одлуке о путу прослеђивања, што значи у фази prerouting, а не output. Правило постављено после одлуке још може да измени пакет, али не може да измени куда је пакет већ послат.
Ознаке припадају апликацији која их поседује
Вредности ознака, бројеви табела и приоритети ланаца део су политике VPN апликације, а не вечне константе. Мрежа која зависи од уметања правила у табелу коју други програм поново ствара поквариће се при следећем ажурирању, обично током поновног повезивања, а не у згодно време.
Додавање другог основног ланца са пресудом accept не превазилази нужно drop каснијег ланца. Основни ланци имају куке и приоритете, и прва пресуда у редоследу побеђује; accept у једном ланцу не поништава drop до ког други ланац стигне први. Гледајте цео скуп правила и редослед политике усмеравања, а не један бројач који се повећао. Бројач доказује да је правило извршено, никада да је његова пресуда примењена.
Интегришите или преместите подмрежу
Два дизајна разликују се по томе ко поседује заобилажење. Интегрисани дизајн држи једну машину и једну политику, по цени зависности од животног циклуса табела VPN апликације и од скупа ознака које њена документација може да промени. Наменски рутер за мрежу на нижем нивоу потпуно уклања ту зависност: подмрежа има своју везу нагоре, а радна станица остаје клијент без улоге прослеђивања.
Изаберите други када мрежа на нижем нивоу мора да настави да ради кроз ажурирања VPN-а, или када нико не може да тестира интегрисану политику после сваког издања. Изаберите први само када је интеграција документована и неко је поседује.
Проверите границу у четири стања: повезано, поновно повезивање, намерно блокирано и заустављено. Проверите решавање имена и обе фамилије адреса у сваком, јер заобилажење које цури DNS није изузетак који сте дизајнирали. Тест треба да докаже тачну границу, а не само да се једна страница учитала.