Рутиран VPN клиент стигнува до серверот, но не до LAN домаќините
Рутиран клиент може да се поврзе и сепак да ја загуби секоја одговор од LAN домаќин. Додајте повратна рута на портата, потоа проверете проследување и филтрирање пакети.
Тунелот се крева, клиентот пингува VPN серверот, а споделена папка на машина еден чекор подалеку никогаш не одговара. Ништо во конфигурацијата на клиентот не го објаснува тоа, бидејќи барањето навистина го напушти клиентот и навистина пристигна. Не успеа патот назад, а уредот што не успеа обично е LAN портата, а не VPN домаќинот. Следењето на пакетот одговор ја објаснува целата оваа класа симптоми.
Следете го одговорот, не барањето
VPN серверот го дешифрира пакетот на клиентот и го проследува во LAN, а адресата на клиентот останува во полето за извор. Домаќинот одредиште одговара на таа адреса, и сега неговата сопствена рутирачка табела одлучува за сето. Неговата стандардна порта не знае ништо за базенот на тунелот, па одговорот заминува кон интернет провајдерот и некаде на тој пат се отфрла.
Кај клиентот симптомот е тивок тајмаут: без одбивање, без ресетирање, само ништо. Прелистувањето на споделена папка заглавува, пингот известува дека нема одговор, а серверските дневници изгледаат здрави затоа што серверот ја завршил својата работа.
Ставете ја повратната рута таму каде што гледаат домаќините
Секој LAN домаќин ја прашува својата стандардна порта, затоа портата е единствениот уред што треба да знае каде е базенот на тунелот. Додајте таму статична рута и секој домаќин ја наследува точната патека без да биде допрен.
Ако портата ја распределува својата адреса како DHCP опција, распределете ја рутата на тој начин за новите машини автоматски да ја преземат. Инаку рутата живее во една конфигурациска датотека и исчезнува при следната преизградба.
# on the LAN gateway; tunnel pool 172.20.5.0/24, VPN server 10.60.4.10
ip route add 172.20.5.0/24 via 10.60.4.10
ip route get 172.20.5.14
Зошто изворниот NAT изгледа како да го поправа
Маскирањето на базенот клиенти зад адресата на VPN серверот го отстранува проблемот со отстранување на адресата на клиентот од пакетот. Тогаш одговорите се враќаат на серверот, кој веќе знае како да стигне до тунелот, и сето функционира. Цената е што внатрешните домаќини веќе не можат да видат кој е клиентот, и секоја врска изгледа како да доаѓа од една машина.
Таа размена понекогаш е точна, на пример кога на уред на добавувач не може да му се даде статична рута. Не правете го правилото пошироко од тековниот базен, бидејќи правило напишано за /24 престанува да се совпаѓа во денот кога базенот се пренумерира во /16, а првиот знак е група нови клиенти што се поврзуваат и не стигнуваат никаде.
iptables -t nat -A POSTROUTING -s 172.20.5.0/24 -o ens18 -j MASQUERADE
iptables -t nat -L POSTROUTING -n -v
Патот низ облакот бара три поставки
Во VPC истата празнина се враќа во друга форма, бидејќи подмрежата воопшто нема рута за опсегот на клиенти. Рутирачката табела бара запис за базенот на тунелот што покажува на мрежниот интерфејс на примерокот, а интерфејсот треба да има исклучена проверка на извор и одредиште за платформата да прифаќа пакети чиј извор не е нејзината сопствена адреса. Безбедносните групи и мрежните ACL исто така мора да го пропуштаат базенот во двете насоки.
Секое пропуштање создава посебен делумен дефект. Прескокнете го записот во рутирачката табела и приватните примероци одговараат во подмрежа што не може да го врати одговорот во базенот. Со вклучена проверка, платформата го отфрла одговорот откако примерокот веќе го испратил. Без правилото на безбедносната група самото барање никогаш не пристигнува, а клиентот тајмаутот го гледа еден слој порано.
Извршете ги проверките по овој редослед
Потврдете го проследувањето и филтерската политика пред да го обвините рутирањето, бидејќи домаќин што нема да проследи не успева на истиот тивок начин. Потоа прочитајте ја ефективната поставка за обратна патека на интерфејсот што го носи тунелот, бидејќи строг филтер може да ги отфрли одговорите што доаѓаат од неочекуван правец.
Завршете со снимка направена на LAN домаќинот додека клиентот го пингува. Барањето што пристигнува без соодветен одговор го докажува патот назад, а барањето што никогаш не пристигнува ја враќа вината на серверот или тунелот.
sysctl net.ipv4.ip_forward net.ipv4.conf.all.rp_filter
tcpdump -ni any host 172.20.5.14 and icmp
Проверката на извор и одредиште е документирана во упатството за еластичен мрежен интерфејс. Поставете ја на интерфејсот што навистина го носи сообраќајот на тунелот, а не на неповрзан адаптер прикачен на истиот примерок.