ifconfig-push: партнерска адреса во net30 или мрежна маска во subnet?
Вториот аргумент на ifconfig-push е партнерска адреса во net30, а мрежна маска при topology subnet. Пред да ја уредите CCD-датотеката, проверете која топологија е активна.
Динамичките клиенти се поврзуваат и рутираат нормално, но единствениот клиент со фиксна адреса воопшто не може да го достигне серверот. Во огнениот ѕид ништо не е сменето, а линијата во CCD изгледа веродостојно. Вообичаената причина е втор аргумент напишан за поинаква TUN-топологија од онаа што ја користи серверот. Дефектот е тивок: клиентот добива адреса и серверот ја прифаќа врската, но сообраќајот не поминува.
Во net30 тоа поле е партнерска адреса; во subnet тоа е мрежна маска. Двете форми се алтернативи, никогаш низа.
Двете форми, една до друга
Во традиционално net30 распоредување секој клиент има блок /30: мрежна адреса, две употребливи адреси и broadcast-адреса. ifconfig-push ги зема адресата на клиентот и партнерската адреса, а партнерот е другата употреблива адреса во истиот блок, што ја користи серверската страна на точка-до-точка врската.
# net30: client address and its peer
ifconfig-push 10.99.0.6 10.99.0.5
# topology subnet: client address and the pool netmask
ifconfig-push 10.99.0.20 255.255.255.0
Под topology subnet клиентот дели една подмрежа со серверот, а истата директива зема адреса и мрежна маска. Сопствената адреса на серверот доаѓа од директивата server, а не од второто поле. Мешањето на формите создава клиент што мисли дека е на точка-до-точка врска, додека серверот го рутира како домаќин во подмрежа, или обратно. Затоа мрежна маска никогаш не смее да се спари со net30.
Двете линии во блокот се поединечни линии за CCD-датотека. Еден клиент добива точно една од нив.
Прочитајте ја топологијата што серверот навистина ја користи
Читајте ја активната конфигурација, а не стандардната од пакетот, бидејќи топологијата може да е поставена пред години и копирана понатаму. Побарајте topology subnet или негово отсуство, потоа проверете како линијата server доделува адреси. Конфигурација што воопшто не споменува топологија не е иста како онаа што поставува subnet.
Потоа прочитајте ги поставките што ги добил клиентот. Адресата, маската и партнерот што ги пријавува ви кажуваат кое толкување го применил серверот.
Држете ја фиксната адреса надвор од динамичкиот базен
Фиксната адреса мора да биде надвор од динамичкиот базен, инаку два клиенти можат да добијат иста адреса. Со subnet топологија, nopool на линијата server го потиснува автоматскиот базен, а експлицитниот опсег ifconfig-pool дефинира што добиваат динамичките клиенти.
dev tun
topology subnet
server 10.99.0.0 255.255.255.0 nopool
ifconfig-pool 10.99.0.100 10.99.0.210 255.255.255.0
client-config-dir /etc/openvpn/ccd
Серверот ја зема 10.99.0.1 за себе, а фиксната адреса на клиентот е надвор од опсегот на базенот. CCD-датотеката се именува по ефективниот идентитет на клиентот, а не по името на профилската датотека, и не прима дополнителна наставка. Ако username-as-common-name е активна, автентифицираното корисничко име е идентитетот што треба да се совпадне. Два уреди што делат еден идентитет ќе ја делат и фиксната адреса, што е проблем на политика, а не на рутирање.
Проверете го доделувањето што клиентот навистина го добил
Поврзете го повторно предвидениот клиент и потврдете која CCD-датотека е избрана пред да проверувате било што друго. Потоа проверете ја адресата, маската или партнерот и рутирањето назад до серверот. Клиент што прикажува партнерска адреса во subnet распоредување сѐ уште ја користи погрешната форма.
Менувањето на топологијата влијае на секој клиент и секое отстапување, затоа третирајте го како миграција, а не како поправка на еден клиент. Поправањето на статичната линија за да одговара на топологијата што веќе се користи обично е помалата промена. Референцата за server-options ги документира помошникот и отстапувањата по клиент.