Клиентът продължава да опитва, журналът спира преди завършването на ръкостискането, а сървърът не записва абсолютно нищо. Този модел отвежда далеч от идентификационните данни и към пътя: нещо между двата края отказва да пренася протокола, който тунелът изисква. Определете къде спират пакетите, преди да пипате която и да е от двете конфигурации, защото филтриран протокол и грешна парола дават една и съща любезна грешка в повечето клиенти. Тестовете са подредени по цена, най-евтиният първи.

Докажете къде спира трафикът

Правете захват на изходящия интерфейс на клиента и на сървъра едновременно. Сравнете какво е тръгнало с какво е пристигнало и отбележете в коя посока се появява разликата.

Нищо на сървъра означава, че пътят или първият NAT изхвърля трафик, докато пристигания без отговори сочат към защитна стена на сървъра или към несъществуващ обратен маршрут. Рутер, който често терминира тунели, обикновено не води полезен журнал, затова захватът става записът. Запишете порта на местоназначението и номера на протокола, защото и двете повреди изглеждат еднакво в диалога на клиента.

PPTP умира без протокол 47

PPTP носи управлението по TCP 1723, а данните си вътре в GRE, който е IP протокол 47, а не номер на порт. Пренасочването само на 1723 дава класическия резултат: връзката се удостоверява и след това замлъква, защото няма правило за протокола, който носи полезния товар. Клиентът не може да различи това от отхвърлена парола, затова захватът трябва да дойде преди промените в конфигурацията.

Прозрачността работи в обратната посока на входящото пренасочване и фърмуерът често използва един етикет за двете, достатъчно, за да обърка всички. На Linux клиент локалната защитна стена може да изхвърли GRE много преди рутерът да се включи, затова протокол 47 се нуждае от собствено правило и помощникът conntrack трябва да е зареден. ufw на Ubuntu пази тези правила във файла before, защото обикновените правила за разрешаване не могат да изразят номер на протокол. Презаредете защитната стена след това, вместо да рестартирате машината.

# /etc/ufw/before.rules, inside *filter
-A ufw-before-input -p gre -j ACCEPT
sudo ufw allow 1723/tcp
sudo modprobe nf_conntrack_pptp
sudo conntrack -L | grep gre

L2TP и IPsec зад два NAT

L2TP в IPsec изисква UDP 500 за обмена на ключове, UDP 4500 след откриване на NAT и ESP като протокол 50. Всяко от тях се филтрира независимо, така че правило, което разрешава едно, не доказва нищо за другите две. Два рутера последователно преобразуват всеки пакет два пъти и крайните точки вече не са съгласни какво е договорено.

Мост на външния модем или изключване на NAT на вътрешния рутер, за да стигне публичният адрес до устройството, което терминира тунела. Където нито едното е възможно, тунелът трябва да се инициира отвътре в границата на двойния NAT, а не да се терминира там.

Мрежи на операторите и споделяне на адреси

WAN адрес в 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 или 100.64.0.0/10 означава, че рутерът няма публичен адрес и никакво входящо пренасочване от интернет не може да го достигне. NAT на операторско ниво допълнително филтрира протоколи, които не очаква, а GRE често страда по мобилни връзки. Сравнете WAN адреса на самия рутер, а не адреса, който сайт за справка показва за клиент зад него.

Пускане на същия рутер по кабелна линия отделя операторска констатация от конфигурационна грешка с един тест. Когато операторът отказва протокола, остават вариантите друг транспорт на 443 или тунел, иницииран отвътре.

Прочетете списъка със слушатели, преди да затворите портове

Тревожно сканиране на портове често е просто наборът функции, който се доставя включен. Направете опис на слушателите, съпоставете всеки сокет с функция и след това изключете функцията, вместо да блокирате порта, така че двете гледни точки да не се разминават.

ss -lntup
systemctl list-units --type=service --state=running | grep -i vpn
nc -vz 203.0.113.10 1723
nc -vzu 203.0.113.10 4500

Настройките по подразбиране на SoftEther са добър пример: TCP 443, 992 и 5555, като функциите L2TP/IPsec и DNS тунел добавят собствени сокети. Изключването на тези функции премахва слушателите, вместо да ги скрива, а проверката от външен хост показва дали операторът изобщо пропуска порта. Слушател, който отговаря локално, все още може да е затворен по-нагоре, затова сравнете собствения WAN адрес на рутера с това, което съобщава външна услуга.

Подобни статии