DNS во светилникот на Nebula: кој може да праша кои записи?
Незадолжителниот слушател одговара од податоците за домаќини што ги држи светилникот. Барањата за A записи и TXT се разликуваат по достапност и публика, затоа врзете го намерно.
Улогата на светилникот во Nebula врши многу работа што луѓето ја сметаат за автоматска, а одговарањето на DNS не е една од нив. Служењето имиња е незадолжителен слушател што се стартува исклучен, поради што домаќин што добро разрешува во overlay мрежата може воопшто да нема со што да го разреши преносниот сметач на колега. Пред да го вклучите, одлучете кој треба да го достигне и кои типови записи сте подготвени да ги одговарате, затоа што тие два одговори се разликуваат.
Слушателот е незадолжителен и стандардно исклучен
Откривањето и DNS се одделни услуги. Светилникот им помага на peer-овите да се најдат еден со друг и дополнително може да одговара на барања за имиња за домаќини што ги знае, но тој втор дел мора експлицитно да се вклучи во конфигурацијата.
Одлучете кои интерфејси и мрежи треба да го достигнат слушателот пред да вклучите нешто. DNS услуга што одговара на интерфејс што не сте го предвиделе станува мало излегување на информации без ниту еден запис во дневникот што некој би го прочитал. Одлуката сега е многу поевтина отколку подоцна да се стеснува, кога нешто веќе зависи од погрешниот одговор. Две линии конфигурација полесно се оправдуваат отколку белешка за инцидент по шест месеци.
A записите и TXT не делат иста публика
На овие два типа записи се одговара под различни услови, а нивното третирање како една услуга е грешката што оваа статија постои за да ја спречи.
| Query | What it returns | Who can reach it |
|---|---|---|
| A record for a host name | That host Nebula IP | Any host that can reach the listener, overlay or not |
| TXT for a host IP | Certificate information | Only over the Nebula network |
Таа асиметрија е намерна, а не пропуст. Совпаѓањето на име со адреса има мала вредност за надворешен човек, додека метаподатоците од сертификатот ги опишуваат идентитетите во вашиот overlay. Не префрлајте претпоставка од една во друга линија само затоа што истиот процес одговара на двете.
Одговара само за сопствените домаќини на светилникот
Ова не е општ resolver за вашата канцеларија, вашиот облак VPC или јавниот интернет. Светилникот одговара од информации за домаќини што му се дадени, затоа оваа функција живее на јазлите на светилникот, а не на секој peer.
Кога име не успее, а overlay нема никаква врска со тоа, пронајдете ја зоната и resolver-от што навистина го поседуваат. Мешањето на overlay resolver во општата DNS конфигурација на домаќин создава дефекти што изгледаат случајно, зашто некои имиња се разрешуваат, а на други ништо не одговара.
Обрнете внимание и на почетната точка за bootstrap. Името на домаќинот што се користи за достигнување на првиот светилник мора да се разреши преку обичен пат пред откривањето да може да се потпре на него, па проблемот со кокошката и јајцето овде изгледа точно како расипан overlay. Дури и се пријавува на ист начин: peer што никогаш не се подигнува и никаква очигледна причина. Проверете го разрешувањето на имиња пред да ги допрете сертификатите, зашто тој редослед ги фаќа оние што почнале со потешката половина.
Проверете ја адресата за врзување, потоа тестирајте однадвор
lighthouse.dns.host и lighthouse.dns.port одредуваат каде слуша незадолжителната услуга. Прегледајте ги тие вредности заедно со firewall-от на домаќинот и мрежната политика, зашто адресата за врзување е изјава за намера, а не безбедносна контрола сама по себе.
dig @10.42.0.1 -p 53 workstation.nebula A +short
dig @10.42.0.1 -p 53 10.42.0.7 TXT +short
Прашувајте од мрежите што имате намера да ги дозволите, не од самиот светилник. Успешно пребарување на светилникот докажува дека процесот работи и не ви кажува ништо за тоа што може да праша надворешен домаќин, а тоа е прашањето што навистина е важно.
Откријте го намерно
Имињата и метаподатоците од сертификатот се корисни оперативни информации, а корисноста сече на две страни. Одлучете дали слушателот треба да биде само за overlay, кои типови записи да се дозволат и кој ја прегледува конфигурацијата кога таа се менува.
Потоа запишете го до поставките на светилникот. Следниот човек што ќе отстранува дефект при разрешување инаку ќе претпостави дека услугата отсекогаш била таму. Тој исто така ќе претпостави дека отсекогаш била достапна од каде и да тестира. Еден пасус што ги запишува адресата за врзување, дозволените мрежи и типовите записи му заштедува на тој човек едно попладне и ви заштедува порака што прашува зошто нешто се сменило.