Постојат две оправдани причини за вгнездување тунели на лаптоп на развивач. Или корпоративниот клиент треба да изгледа како да доаѓа од одредена земја, или две приватни мрежи треба да бидат достапни истовремено. Во двата случаи надворешниот тунел мора да го носи сопственото поврзување на внатрешниот клиент.

Стартувањето на два клиенти по кој било ред не го постигнува тоа. Тоа го постигнува рутирањето.

Споредете ги двата можни реда

Изберете го надворешниот слој како тунел чијашто крајна точка е достапна од јавниот интернет. Внатрешниот слој е тунелот чијшто сервер одговара само преку тој излез. На Windows практичната поделба е WireGuard надвор и корпоративниот клиент внатре. Одлучувачкиот фактор е контролата.

Официјалниот клиент на WireGuard применува целосна конфигурациска датотека, вклучително рути и DNS. Комерцијалните корпоративни клиенти обично ги кријат двете. Поставувањето скриен клиент надвор ве остава да претпоставувате за патеката под него.

Обратниот ред не е невозможен. Само е потешко да се размислува за него, бидејќи надворешниот клиент ги препишува рутите по распоред што никогаш не го гледате.

Нека AllowedIPs го именува само корпоративниот опсег

AllowedIPs ги наведува одредиштата што WireGuard ги насочува во тунелот. За вгнездување му требаат само адресата на внатрешниот сервер и корпоративните префикси. Сè друго останува на локалната мрежа, вклучително печатачи и хипервизор. Ова е поделен тунел по дизајн и целосно го избегнува проблемот со исклучување.

Надворешниот слој со целосен тунел бара 0.0.0.0/0 минус локалните опсези. Форматот не може да изрази исклучување, па дополнувањето мора да се пресмета и вметне.

[Interface]
PrivateKey = ...
Address = 10.99.4.2/32

[Peer]
PublicKey = ...
Endpoint = 198.51.100.44:51820
AllowedIPs = 198.51.100.44/32, 10.20.0.0/16, 10.21.0.0/16

Кога внатрешниот клиент не инсталира свои рути, наведете ги корпоративните префикси сами. Префикс изоставен од таа линија е одредиште што надворешниот тунел никогаш не го носи. Застарена копија од списокот е полоша од никаква, бидејќи сè уште изгледа исправна.

Ред, метрики и вториот адаптер

Прво поврзете го надворешниот тунел, потоа стартувајте го корпоративниот клиент. Тогаш неговото поврзување со крајната точка излегува преку WireGuard наместо преку локалната порта. Дајте му на корпоративниот интерфејс пониска метрика за неговите префикси да победат за адресите што ги поседува.

# which interface currently claims the corporate prefix?
Find-NetRoute -RemoteIPAddress 10.20.10.5 | Select-Object -First 1

# prefer the corporate interface for its own prefixes
Set-NetIPInterface -InterfaceAlias 'Corp VPN' -InterfaceMetric 3
Set-NetIPInterface -InterfaceAlias 'wg-personal' -InterfaceMetric 40

wg show interfaces

Метриките се чекорот што луѓето го прескокнуваат. Без редослед, за преклопувачкиот префикс победува рутата инсталирана последна. Тоа се менува меѓу подигнувања, затоа проблемот изгледа повремен.

Клиентите изградени на OpenVPN 2.6 додаваат своја замка. Кога адаптерот за растоварување на податочниот канал е веќе зафатен, втората инстанца едноставно одбива да стартува. Додавањето на disable-dco во профилот се враќа на постарата TAP патека и тогаш двете работат една покрај друга.

Каде се крши вгнездената патека

Исклучувањето на надворешниот тунел го убива внатрешниот. Повторното поврзување само на внатрешниот клиент често го праќа директно на интернет и тивко го отстранува вгнездувањето. Тестирајте го редоследот од нула секој пат, со двата тунели запрени.

Очекувајте помал корисен MTU. Секој слој додава трошок, така што почетниот пар околу 1420 и 1400 е место за почеток. Преносот што се блокира на големи пакети додека малите барања успеваат е вообичаениот знак. Корпоративната политика е другата граница, бидејќи клиент што бара управуван уред може да ја смета вгнездената патека за прекршување.

Кога двата краја се фиксни мрежи, тунелот од локација до локација меѓу портите го отстранува проблемот со редоследот наместо да го управува. На еден лаптоп два тунели коегзистираат само кога секој има свој интерфејс и правило што избира одредишта по префикс.

Поврзани статии