Две директиви со речиси исто име се појавуваат во секој работен пример, а копирањето на едната без другата создава тунел што изгледа исправно и тивко го отфрла префиксот на огранокот. Тие вршат различна работа на различни страни од истата граница: едната го учи јадрото на серверот каде живее префиксот, а другата го учи OpenVPN кој автентикуван клиент го носи. Ако двете се точни, префиксот тече; ако една е точна, пакетите имаат рута, но немаат сопственик.

Две директиви, две различни задачи

route-ipv6 е обична инсталација на рута: серверот додава рута во јадрото што го покажува префиксот кон неговиот тунелски интерфејс. iroute-ipv6 припаѓа на контекст специфичен за клиентот и декларира внатрешно сопствеништво, така што демонот знае дека сообраќајот за тој префикс треба да оди до одреден клиент, а не до тој peer што рутата во јадрото случајно го именува.

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

Во традиционалното userspace поставување двете се потребни и се надополнуваат. Самата рута во јадрото го остава демонот без можност да избере peer. Самиот iroute го остава јадрото без пат до тунелот. Оттука доаѓа и најголемиот дел од забуната околу датотеките по клиент: датотеката не е запис во табелата за рутирање, а записот за рута не е изјава за сопствеништво.

ip -6 route show | grep fd00:7a
ip -6 route get fd00:7a::1

Каде припаѓа која

Рутата оди во управуваната конфигурација на серверот, каде што важи за тој серверски процес. iroute оди во датотеката специфична за клиентот, именувана по автентикуваниот идентитет на уредот на огранокот.

Име на датотека што не одговара на вистинскиот идентитет никогаш не се чита, а симптомот е идентичен со отсутен iroute. Провери го идентитетот што серверот го автентикувал, потоа провери го името на датотеката знак по знак.

# /etc/openvpn/server/server.conf
route-ipv6 fd00:7a::/64
client-config-dir /etc/openvpn/server/ccd

# /etc/openvpn/server/ccd/branch-b
iroute-ipv6 fd00:7a::/64

Држи ги pool-от и префиксот на огранокот одвоени, бидејќи нивното преклопување создава загатка што ниту една директива не може да ја реши.

Што му треба на друг клиент

Вториот клиент што треба да го достигне тој огранок му треба објава, а не сопствеништво. Испрати го префиксот до клиентите што ги сакаш, во контекстот на клиент или група што одговара на твојата конфигурација.

Не го испраќај до самиот огранок, бидејќи тој уред веќе го има префиксот како поврзана мрежа.

Испраќањето до сите е избор со последици: секој клиент тогаш верува дека огранокот е достапен низ тунелот, вклучително и клиенти на кои никогаш не си сакал да им го дадеш тој пристап. Објавата е во практика одлука за пристап, иако директивата изгледа како водоводџиска работа. референцата за опции на серверот документира iroute-ipv6 како сопствеништво специфично за клиентот, и тоа е разликата што вреди да се задржи.

Повратниот пат на уредот на огранокот

Сопствеништвото помага само ако огранокот препраќа пакети и неговиот LAN знае како да одговори. Овозможи препраќање на IPv6 на уредот на огранокот и потврди дека домаќините на неговиот LAN испраќаат сообраќај за pool-от на VPN назад кон огранокот, а не кон стандардна рута што не го познава pool-от.

Тој повратен пат е IPv6 еквивалент на проблемот со рутата што недостасува, на кој луѓето наидуваат со IPv4.

Провери го од домаќин на LAN-от со барање за адресата на pool-от на VPN, не од самиот огранок. Барањето на рутерот одговара на друго прашање од она на твоите корисници, и двете доволно често не се согласуваат за да вреди дополнителната наредба.

Кога парот сѐ уште не е доволен

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

Потврди која податочна патека ја користи твојата градба пред да копираш директиви од прирачник напишан за другата.

На крајот, запомни го опсегот на адреси: единствен локален префикс како fd00:7a::/64 е приватен по дизајн и не кажува ништо за јавната достапност на IPv6. Третирај го како внатрешен пристап, а излезот на интернет држи го како одделно прашање со сопствена политика.

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