Та net.ipv4.conf.default.forwarding=1 гэж тохируулсан, VPN-г дахин эхлүүлсэн ч туннель гарц чиглүүлэх ёстой пакетуудыг одоо ч хаяж байна. Файл дахь тохиргоо зөв харагдаж, интерфэйс дамжуулалт унтарсан гэж мэдээлсээр байна. Юу ч эвдээгүй: та ирээдүйн интерфэйсүүд өвлөх утгыг өөрчилсөн, ажиллаж буй туннелийн ашиглаж буй утгыг биш.

Үүнийг туннелийг эзэмшдэг хост дээр, туннель үнэхээр оршин байгаа сүлжээний namespace-д хийж үзээрэй. Контейнер эсвэл сүлжээний namespace интерфэйсийг барьж болох бөгөөд хост өөр тоо харуулж болно.

Гурван утгыг хамт уншаарай

Гарцын бүхэлд хүчинтэй унтраалга, шинэ интерфэйсийн загвар болон таны сонирхож буй интерфэйсийг харьцуулж эхэл. tun0 -г бодит оролтын интерфэйсээр сольж, буцах интерфэйсийг ч уншаарай, учир нь дамжуулалт пакет ирэх цэг дээр үнэлэгддэг.

sysctl net.ipv4.ip_forward
sysctl net.ipv4.conf.default.forwarding
sysctl net.ipv4.conf.tun0.forwarding

Түгээмэл үр дүн нь ip_forward = 0, default.forwarding = 1 ба tun0.forwarding = 0 юм. Эхний хоёр нь хотын үүргийн талаар санал нийлэхгүй, гурав дахь нь интерфэйс үнэндээ юу хийж байгааг харуулна. Энэ хослол хэзээ ч маршрутизатор болж тохируулагдаагүй, зөвхөн загварын утга авсан хосттой нийцдэг. Гурван тоо бие биедээ зөрчилдөхгүй; тэд гурван өөр асуултад хариулж байна. Загварын утгыг бичих нь хотын үүргийг ч шийдэхгүй.

Яагаад яг глобал унтраалга хөдөлдөг вэ

net.ipv4.ip_forward нь гарцын бүхэлд хүчинтэй удирдлага юм. Түүнийг өөрчлөх нь ижил үйлдлийн хэсэг болгон интерфэйс бүрийн дамжуулалтын тохиргоог шинэчилдэг тул нэг бичлэг байгаа туннелийг дамжуулж эхлүүлж чадна. default.forwarding зөвхөн дараа нь эхлүүлэгдэх интерфэйсүүдийг тарина, тиймээс өмнө нь оршин байсан туннель төрсөн үеийн утгаа хадгална.

Цөмийн баримт бичиг ip_forward -г холбоотой шалтгаанаар онцгой гэж тэмдэглэдэг: түүнийг өөрчлөх нь бусад IPv4 параметрүүдийн багцыг хост эсвэл маршрутизаторын анхдагч утгууд руу буцаана. Энэ нь түүнийг мохоо хэрэгсэл болгодог. Гарцын үүргийг тогтоох хүрээнд нэг удаа тохируулах нь зүгээр; алдаа засах заль мэх болгон дахин дахин сэлгэх нь таны цаг зарцуулж янзалсан тохиргоог чимээгүйхэн дарж бичиж болно.

Интерфэйс бүрийн утгууд бас шалтгаантай байдаг. Зориуд удирдаж буй гарц хэзээ ч чиглүүлэх ёсгүй интерфэйс дээр дамжуулалтыг унтраалттай үлдээж болно, хост өөр газар дамжуулж байсан ч. Тиймээс ажиллаж буй интерфэйсийг унших нь чухал бөгөөд тиймээс зөвхөн глобал утга бүрэн хариулт болохгүй. Ийм үл хамаарах зүйлийг зориудын шийдвэр гэж уншиж, тэр интерфэйс яагаад өөр болохыг бичиж үлдээгээрэй. Эс бөгөөс дараагийн инженер түүнийг сайхан сэтгэлээр "засаж" өгнө.

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

Нэг удаагийн амжилттай sysctl -w цөм утгыг хүлээж авч байгааг нотолно. Энэ нь дахин ачаалахад үлдэхгүй, дахин холбогдох үед интерфэйсийн тохиргооны талаарх өөрийн ойлголтоо дахин хэрэглэдэг сүлжээний менежерт ч үлдэхгүй. Гарцын үүргийг sysctl-ийн тохиргооны файл эсвэл хост эзэмшдэг сүлжээний менежерт хийгээрэй, дараа нь түүнийг хэрэглэдэг үйлчилгээг дахин эхлүүлээрэй.

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

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

Үүнийг буруу хэрэгслээр засаж болохгүй

Дамжуулалт эвдэрсэн мэт харагдах үед галт ханыг цэвэрлэх эсвэл masquerading нэмэх уруу татагдана. Аль нь ч дамжуулалтын унтраалгыг шийдэхгүй. Дамжуулалтын төлөв, дамжуулах зөвшөөрөл, очих газар руу чиглэх маршрут, буцах зам гэсэн дөрвөн тусдаа шаардлага байдаг бөгөөд зөвхөн эхнийх нь sysctl юм.

Зөв урсгалаар ч туршиж үзээрэй. Гарц дээр өөрөө хийсэн хүсэлт дамжуулалтыг огт дадлагажуулахгүй; энэ нь локал үүссэн урсгал юм. Асуулт нь VPN клиент эсвэл LAN хостноос ирсэн пакет хүлээн авагдаж, цааш чиглэгдэж байгаа эсэх тул туршилт гарцын ард эхлэх ёстой.

IPv6 тохиолдлыг тусад нь байлгаарай

Энд бүх зүйл IPv4. IPv6 дамжуулалт, маршрутизаторын зарлал, accept_ra зан төлөвт өөрсдийн удирдлага байдаг бөгөөд ipv4 замыг ipv6 тохиргоонд хуулах нь итгэмээр харагдах боловч ямар ч ашигтай зүйл хийхгүй файл үүсгэдэг. Хос стект гарцад хоёр багцыг зориуд тохируулах шаардлагатай.

Сүүлийн шалгалт: утгууд таарсны дараа туннелийн маршрут очих газарт сонгогдож байгаа, хариу замын оршин байгааг баталгаажуулаарай. Маршрутгүй интерфэйс дээр асаалттай дамжуулалт одоо ч хар нүх бөгөөд энэ алдаа клиентийн талаас ижил харагдана.

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