Рутерът съобщава WAN адрес, започващ с 100.72, динамичното DNS име се решава до друг публичен адрес, а VPN сървърът на този рутер никога не завършва ръкостискане отвън. Пренасочването на портове е настроено, услугата работи, а тест от локалната мрежа все още минава. В журнала на рутера не изглежда да има грешка. Тази комбинация е NAT на ниво оператор и нито едно правило на защитната стена не може да отвори порт на адрес, който доставчикът държи.

Потвърждаването на споделения адрес отнема две минути и предотвратява седмица промени по конфигурацията.

Признаците, които сочат към NAT на оператора

Сравнете WAN адреса в страницата за състояние на рутера с адреса, който съобщава външна проверка. WAN адрес в 100.64.0.0/10 е обичайният признак, а частните диапазони 10/8, 172.16/12 и 192.168/16 означават същото. Ако traceroute показва повторение на един и същ публичен хоп или ранен хоп отговаря с частен адрес, между рутера и интернет стои още един транслатор. Някои доставчици показват зададения адрес само в клиентския портал, затова експортирайте тази стойност заедно с резултата от traceroute.

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

Защо пренасочването и динамичният DNS не могат да го поправят

Правилото за пренасочване на порт съпоставя порт на WAN интерфейса на рутера, но входящият трафик никога не стига до този интерфейс: доставчикът първо го транслира и препраща само това, което собствената му таблица позволява. Публикуването на споделения адрес в динамичния DNS насочва клиентите към шлюз на доставчика, използван от много абонати, затова името се решава, а ръкостискането пак се проваля. Тестовете с обратна връзка (hairpin) минават, защото рутерът отговаря на собственото си правило отвътре, а UPnP има точно същото сляпо петно.

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

Препредаване през VPS с явни маршрути

Поставете публичен адрес отпред, като наемете най-малкия VPS, който може да носи трафика, след което накарайте домашния рутер да се свърже изходящо с него. Изходящият UDP от домашната мрежа преминава през NAT на оператора, така че тунелът се установява отвътре и VPS става достъпната крайна точка. Домашната страна става клиент с фиксиран адрес на тунела, а не сървър.

На VPS добавете запис в директория за конкретен клиент, за да знае сървърът кой партньор притежава домашната подмрежа, и добавете съответстващ маршрут в ядрото.

# /etc/openvpn/server/ccd/home-site.conf
ifconfig-push 10.8.0.10 255.255.255.0
iroute 192.168.50.0 255.255.255.0

# server.conf
client-config-dir /etc/openvpn/server/ccd
route 192.168.50.0 255.255.255.0
push "route 10.8.0.0 255.255.255.0"

Редът iroute казва на OpenVPN кой клиент получава трафика за домашната подмрежа; редът route поставя тази подмрежа в таблицата на ядрото на VPS, за да влизат пакетите изобщо в тунела. За публикувана услуга добавете правило за дестинационен NAT, което препраща публичния порт към 10.8.0.10, и включете net.ipv4.ip_forward.

Тествайте пътя отвън

Проверете всеки хоп от публичната страна, защото успешният тунел не доказва, че услугата е достъпна. Състоянието на слушане и прихващането на пакети на VPS разделят „нищо не е пристигнало“ от „пристигнало и е изхвърлено“.

ss -lunp | grep 1194
tcpdump -ni any udp port 1194
nft list ruleset | grep -A4 dnat

# from a phone on mobile data, not the home Wi-Fi
nc -vz -u 203.0.113.10 1194

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

Алтернативи, които си струва да оцените първо

Отделен IPv4 адрес от доставчика е най-краткото решение и обикновено е малка месечна такса. Собственият IPv6 премахва транслацията от двата края, когато VPN, клиентската мрежа и DNS записите го поддържат едновременно. Mesh мрежа с рутер за подмрежа вътре в домашната мрежа постига същото препредаване без VPS, но на цената на зависимост от координационна услуга.

Изберете препредаването, когато изискването е стабилен входящ достъп и всяко правило трябва да остане под ваш контрол. Изберете адреса от доставчика, когато бюджетът позволява и целта е просто да спрете да мислите за това.

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