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

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

Чекор 1: репродуцирање и читање на грешката

Стартувајте го dnsmasq во преден план со истата конфигурација што ја користи услугата, за да се појави грешката во вашиот терминал наместо во дневник што треба да го погодувате. Обрнете внимание на фамилијата адреси и локалната адреса во пораката. Врзувањето на конкретна адреса и врзувањето на wildcard се различни неуспеси со различни сопственици.

Зачувајте го точниот текст. Адреса во употреба, неуспех на дозвола и отсутен интерфејс сите доаѓаат како неуспех при стартување, и тие укажуваат на три различни поправки.

Чекор 2: наведување на сопствениците

Прво наведете ги сокетите. Филтер на изворниот порт 53 ги прикажува двата транспорта и процесот сопственик кога имате привилегија да го видите:

ss -lntup 'sport = :53'

Читајте го излезот по колони: транспорт, локална адреса, порт, процес. TCP слушач и UDP слушач се одделни сокети, па затоа запирањето на едниот не го ослободува другиот. Wildcard адресата го покрива секој интерфејс, што значи дека VPN адресата е веќе зафатена иако ниту еден ред не ја наведува по име. А името на процесот ви кажува дали ова е resolver управуван од дистрибуцијата, контејнер или нешто што претходен експеримент го оставил да работи.

Чекор 3: стапицата на wildcard

Опцијата bind-interfaces менува дали dnsmasq врзува wildcard сокет или по еден сокет за секој конфигуриран интерфејс, како што опишува референцата за dnsmasq. Без неа dnsmasq може да ја врзе wildcard адресата и наместо тоа да ги филтрира барањата по интерфејс, што веднаш пропаѓа кога друг демон ја држи wildcard адресата. Linux додава bind-dynamic, кој се справува со интерфејси создадени по стартувањето, вистинска грижа кога VPN интерфејсот се појавува само при поврзување.

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

Чекор 4: доделување на задачата

Одлучете кој демон одговара на VPN клиентите, а кој на домаќинот. Еден resolver што слуша на адресата на тунелот и препраќа нагоре е вообичаена поставеност; два resolver-и од кои секој претпоставува дека го поседува портот 53 воопшто не е поставеност.

Потоа изразете ја таа одлука во конфигурацијата на секоја услуга: адреси за слушање, филтри на интерфејси и препраќање. Менувајте ги преку сопственикот на услугата, било тоа да е единицата на дистрибуцијата, мрежниот менаџер или извршното опкружување на контејнерите, за да ја преживее промената рестартирањето.

Чекор 5: проверете го сокетот, потоа патеката

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

Три одделни резултати што треба да се разликуваат: сокетот постои, клиентот го достигнува, одговорот е точен.

Што да не се прави

Не запирајте непознат resolver за да го ослободите портот без да знаете што зависи од него, зашто сопствените пребарувања на домаќинот обично зависат. Не копирајте стар рецепт што го преместува вториот демон на јавна адреса за слушање, бидејќи тоа како несакан ефект одлучува кој смее да ве прашува. И не додавајте препраќање кога неуспехот бил локален.

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

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