Гар барилт дуусч, клиент сүүлийн шилжүүлгийн тоолуурыг харуулж, гэсэн хэдий ч мөн сервер дээрх үйлчилгээ рүү илгээсэн хүсэлт амжилтгүй болно. Энэ хослол хүмүүсийг төөрөгдүүлдэг, учир нь хонгил ажиллаж байгаа нь тодорхой. Батлагдаагүй зүйл бол локал хүргэлт: пакет хост дээр хүрсэн, хост үүнийг зөв сокет дээр хүлээн авч, хариулах эрхтэй процесс руу дамжуулах ёстой. Эдгээр гурван хяналтын цэгийг дарааллаар нь үзээрэй.

Тохирохгүй эхний цэг дээр зогсоод, бусад цэгт дүрэм нэмэхгүй.

Гар барилт зөвхөн хонгилыг батална

WireGuard-ийн гар барилт нь тэгш талуудын хооронд түлхүүр тогтоож, тэгш тал бүрийн жагсаасан мужуудад урсгалыг зөвшөөрдөг. Сервер дээр ямар процесс сонсож байгаа тухай юу ч хэлэхгүй, хостны галт хана өөрийн хаягуудын нэг рүү илгээсэн пакетийг хүлээн авч байгаа эсэхийг ч хэлэхгүй.

Яг энэ сүүлийн ялгаа хамгийн их анзаарагдахгүй өнгөрдөг: хост руу өөр рүү чиглэсэн урсгал нь локал оролт, харин хост дамжин өөр газар руу явж буй урсгал нь дамжуулалт юм. Тэдгээрийг өөр галт хананы гинж, өөр тохиргоо удирддаг. Буруу гинжийг шалгах нь хагас өдрийг үрээд, хор хөнөөлгүй мэт харагдах тоолуурыг буцаадаг.

Сонсогч ба замыг уншина уу

Клиент дээр серверийн хонгилын хаяг хонгил руу чиглэж байгааг батал. Сервер дээр клиент ашиглаж буй хаяг дээр сокет байгаа, түүний арын процесс нь таны зорьсон процесс байгааг батал.

wg show
ip route get 10.66.0.1
ss -lntup | grep -E ':80|:443'
nft list ruleset | grep -A6 'chain input'
curl -vk --max-time 5 https://10.66.0.1/

127.0.0.1 дээр сонсож байгаа нь галт хана юу ч зөвшөөрсөн 10.66.0.1 рүү илгээсэн хүсэлтэд хэзээ ч хариулахгүй. Ерөнхий хаяг дээр сонсож байгаа нь дүрэм хориглохгүй л бол хариулна. Тиймээс сокетуудын жагсаалт аливаа дүрмийг харахаас өмнө хагас тохиолдлыг шийддэг. Порт болон хаяг хамтдаа хүсэлт хүрч чадах эсэхийг шийднэ.

Клиент ашиглаж буй хаягийг сервер хонгилын интерфейс дээр үнэхээр эзэмшиж буй хаягтай харьцуул. Аль ч талд хуучирсан тохиргоо нь зөв чиглүүлэгдсэн боловч тэр хаяггүй тэгш тал руу явж буй хүсэлт үүсгэдэг.

Дүрмийг локал оролтод хэрэглэ, дамжуулалтад биш

Пакет ирж, сокет байгаа бол үлдсэн хил нь оролтын бодлого юм. Дамжуулалтыг зөвшөөрсөн дүрэм локал хүргэлтийг зөвшөөрөхгүй, нэг интерфейст хязгаарлагдсан дүрэм таны хүлээж буй хонгилын интерфейсийн нэртэй тохирохгүй байж болно.

Хостыг онгойлгохын оронд зорьсон үйлчилгээ рүү нэг зөвшөөрөгдсөн портоор туршиж үз. Дараа нь програмын өөрийн зөвшөөрлийг шалга: зөвшөөрөгдсөн жагсаалт, бүртгэлийн шаардлага эсвэл тодорхой хостны нэрэнд холбогдсон байдал нь сүлжээ амжилттай хүргэсэн хүсэлтийг татгалзаж болно.

Гэрчилгээний шалгалтыг байранд нь үлдээ. Гэнэтийн гэрчилгээний таних тэмдэг нь аль хост хариулсан тухай мэдээлэл, тойрч гарах ёстой саад биш. Түүн дээгүүр товших нь буруу үйлчилгээг тодорхойлох цорын ганц сэжмийг нуудаг.

Нэр, хэмжээ, таних тэмдгийн алдааг тусгаарла

Хаягаар ажиллаад нэрээр бүтэлгүйтдэг үйлчилгээ нь DNS асуудал бөгөөд засвар нь галт хананд биш, клиент рүү илгээдэг шийдвэрлэгчийн тохиргоонд орно. Жижиг хүсэлтэд хариулах боловч том хариултын үед гацах үйлчилгээ нь пакетийн хэмжээ, MTU-г заадаг бөгөөд энэ нь огт өөр мөрдөн байцаалт юм.

Буруу хост нэрлэсэн HTTPS алдаа нь ихэвчлэн хүсэлт өөр үйлчилгээнд хүрсэн гэсэн үг, ихэвчлэн прокси эсвэл өөр сонсогч тэр портыг эзэмшдэгээс. Гэрчилгээний субъектийг уншаад хүрэхийг хүссэн хосттой харьцуул. Энэ харьцуулалт юу ч зарцуулахгүй бөгөөд мөрдөн байцаалтыг ихэвчлэн дуусгадаг.

Аль хяналтын цэг бүтэлгүйтсэнийг бич: сокет, оролтын дүрэм эсвэл програмын бодлого. Тэр нэг мөр сүлжээний гэмтлийг зөвшөөрлийн шийдвэрээс ялгадаг. Мөн дараагийн хүн хэзээ ч асуудал болж байгаагүй портуудыг онгойлгохоос сэргийлдэг.

Холбоотой нийтлэлүүд