OpenWrt VPN бүс, дамжуулалт ба хаяг далдлалт: аль нь хэрэгтэй вэ?
Бүсийн оролт, дамжуулалт, хаяг далдлалт нь өөр өөр асуултад хариулдаг. WAN бүсийг нээхийн өмнө VPN трафикт юу хэрэгтэйг шийдээрэй.
VPN OpenWrt-тай тулгарах бүрт гурван өөрчлөлт холилддог: порт нээх, дамжуулалтыг зөвшөөрөх, хаяг далдлалтыг асаах. Тэд өөр өөр асуултад хариулдаг бөгөөд ихэвчлэн зөвхөн нэг нь л жинхэнэ шаардлага байдаг. Хяналт бүрийг түүний удирддаг трафикийн үүргээр нь унших нь таамаглалыг шийдвэр болгож хувиргахаас гадна өөрчлөлт буруу үед ямар шинж тэмдэг хүлээхийг хэлж өгдөг. Өөрт тань санагдаж буй чекбохс биш, бүтэлгүйтсэн үүргийг нэрлэж эхэл.
Хяналтад хүрэхээс өмнө трафикийн үүргийг нэрлэ
Бүсийн оролт нь чиглүүлэгч өөрт нь юу хүрч болохыг тодорхойлно. Бүсийн гаралт нь чиглүүлэгч өөрөө үүсгэдэг трафикийг хамарна, бүсийн дамжуулалт нь бүсээр дамжин өнгөрөх трафикийн өгөгдмөл утга, харин хаяг далдлалт нь гарах үед эх хаягийг дахин бичих эсэхийг тодорхойлно. Эдгээр нь дөрвөн өөр асуулт бөгөөд бүсийн бодлого дөрвийнх нь асуултад нэг дор ижил утгаар хариулдаг тул бүх бүсэд хийх өөрчлөлт нь бүдүүлэг хэрэгсэл юм. Нэрлэсэн дүрэм нь үлдсэнд нь хүрэхгүйгээр тэдгээрийн аль нэгэнд хариулж чадна.
Ашигтай зураг нь трафикийн үүргээр байдаг, учир нь ямар нэг зүйл бүтэлгүйтэх үед таны ажиглаж чадах зүйл нь тэр юм. Доорх үүрэг бүрд түүнийг тодорхойлдог нэг хяналт, түүн рүү заасан нэг шинж тэмдэг байна:
| Traffic role | Control that decides it | Where it lives in the config | Symptom when it is wrong |
|---|---|---|---|
| A client reaching a listener on the router | Input policy of the zone that carries the connection, or a rule for the port | option input in the zone stanza, or a named rule | The handshake never completes and the tunnel log says nothing |
| A tunnel client reaching the router itself | Input policy of the tunnel zone | option input in the VPN zone | A ping to the gateway fails |
| A tunnel client reaching another LAN host | Forwarding from the tunnel zone to the LAN zone | config forwarding plus the zone assignment | The gateway answers and the file share times out |
| The router's own traffic leaving the WAN | Output policy, and translation if the far side needs it | option output and option masq | The tunnel never establishes, or replies vanish |
Чиглүүлэгч дээрх сонсогч нэг нарийн оролтын дүрэм шаарддаг
Чиглүүлэгч дээрх OpenVPN сервер нь чиглүүлэгч рүү хаягласан трафийг хүлээн авдаг тул түүний гадаад холболт нь түүнийг зөөдөг бүсийн оролтын бодлогоос хамаарна. Тохируулсан тээвэр, портыг зөвшөөрч, тухайн бүсийн бусад бүхнийг татгалзсан хэвээр үлдээ. Нэг портын дүрэм нь бүх бүсийн зөвшөөрлөөс хамаагүй бага өөрчлөлт бөгөөд нэг жилийн дараа ч тайлбарлаж чадах нь тэр юм.
Энэ дүрмийг хадгалахад аюулгүй болгодог хоёр зүйл бий: үйлчилгээний бодитоор ашигладаг портыг нэрлэдэг, мөн бүсийн тодорхойлолтын хажууд байрладаг тул дараагийн хүн яагаад байгааг нь харна. Доорх мөрүүд нь зөвхөн хэлбэр бөгөөд порт нь серверт тохируулсан утгыг төлөөлнө. Үйлчилгээ нүүх үед тэр портыг хоёр газарт нь соль, учир нь хуучин дээр үлдсэн дүрэм аудит хүртэл үл үзэгдэнэ.
config zone
option name 'wan'
option input 'REJECT'
option forward 'REJECT'
option output 'ACCEPT'
option masq '1'
config rule
option name 'allow-openvpn'
option src 'wan'
option proto 'udp'
option dest_port '1194'
option target 'ACCEPT'Дахин ачаалахаас өмнө баталгаажуул, учир нь галт ханын файл дахь синтаксийн алдаа нь чиглүүлэгчийг ажиллах дүрмийн багцгүй үлдээж болно. fw4 ашигладаг хувилбарт шалгалт нь тусдаа команд бөгөөд эвдэрсэн блокыг чимээгүй хүлээн авахын оронд чанга бүтэлгүйтдэг. Шалгалт давсны дараа л дахин ачаалж, өмнөх файлыг буцааж тавьж болох газарт хадгал.
fw4 check
service firewall reloadКлиентийн хүсэлт нь оролтоор биш, дамжуулалтаар дамждаг
Баталгаажуулалтын дараа LAN үйлчилгээ хүсэх туннелийн клиентийн хүсэлт нь дамжуулагдсан урсгал үүсгэдэг тул түүнийг тодорхойлох хяналт нь туннелийн бүс ба LAN бүсийн хоорондын дамжуулалтын харилцаа юм. Туннелийн интерфейсийг хүссэн бүст оноож, дараа нь чиглэл, эх үүсвэр, үйлчилгээг зарла. Бүсийн оноолт нь дамжуулалтын дүрэмд утга өгдөг зүйл бөгөөд хоёулаа хамт уншиж байж утгатай. Туннелийн бүсийг эх үүсвэр, LAN бүсийг зорилт гэж нэрлэсэн дамжуулалтын харилцаа нь нэг зориудын шийдвэр гэж уншигдана, харин бүх бүсийн хоёр зөвшөөрөл нь осол гэж уншигдана.
Чиглүүлэгч өөрт нь хүрэх нь одоо ч оролтын замыг ашигладаг тул гарц руу ping нь түүний ард байгаа файл хуваалтын талаар юу ч хэлэхгүй. Тэр хоёр бүтэлгүйтэл өөр блокт амьдардаг бөгөөд өөр өөрчлөлтөөр засагдана. Аль нэгийг нь өөрчлөхөөс өмнө хоёр замыг тусад нь бичиж ав.
Хаяг далдлалт нь чиглүүлэлтийн шийдвэр, зөвшөөрөл биш
Хаяг далдлалт нь сонгосон гадагш гарах трафикийн эх хаягийг дахин бичдэг. Холын талд буцах зам байхгүй гарах загварыг аварч чадах бөгөөд хаягийг бүртгэдэг эсвэл хаягаар зөвшөөрдөг аливаа үйлчилгээнээс хувь хүний клиентийн хаягүүдийг нуудаг. Үүнийг унтраах нь буцах замын тухай чиглүүлэлтийн сонголт бөгөөд дотоод нүхийг хаах аюулгүй байдлын унтраалга биш. Орчуулга асаалттай үед ажиллаж, унтраасан агшинд бүтэлгүйтдэг туннельд ихэвчлэн буцах зам дутагддаг, галт ханын дүрэм биш.
Чиглүүлсэн хувилбар нь орчуулгын оронд холын талд буцах зам шаарддаг. Аль ч сонголт нь галт ханын зөвшөөрөл эсвэл програмын бүртгэлийг өгдөггүй тул хаяг далдлалтыг унтраах нь хаашаа ч хүрч чадахгүй туннелийн клиентийг бараг хэзээ ч засдаггүй. IPv4 болон IPv6 бодлогыг ч тусад нь авч үз, учир нь нэг орчуулгын тохиргоо хоёр гэр бүлийг дүрслэхгүй.
Шийдвэрийг зөвшөөрсөн ба татгалзсан хүсэлтээр батал
Зөвшөөрөгдөх ёстой нэг хүсэлт, татгалзагдах ёстой нэг хүсэлт илгээж, дараа нь шийдвэр бүрийг гаргасан хяналтыг тодорхойл. Санамсаргүй ачаалагдсан хуудас нотолгоо биш; нотолгоо нь тохирсон дүрэм, тэр тохирсон гинжид. Татгалзал нь амжилттай адил чухал, учир нь бүх зүйл зөвшөөрөгдсөн биш, бодлого ямар нэг зүйл хийж байгааг харуулдаг.
Одоогийн хувилбар дээр хоёр команд тэр нотолгоог өгнө. Хүсэлт хүлээн авагдах үед тохирсон дүрмийн тоолуур хөдөлж, дүрэмд бүртгэл асаасан бол бүртгэл хасалтыг харуулна:
nft list chain inet fw4 forward_wan
logread -f | grep -i -E 'DROP|REJECT'Аливаа галт ханын бодлогыг өөрчлөхөөс өмнө одоо ч ашиглаж болох удирдлагын замыг хадгал, тохиргооны эзэмшигчийн баталгаажуулалт, буцаах үйл явцыг дага. Таныг чиглүүлэгчээс гадна түгжих өөрчлөлт нь туршилтын үр дүн биш, хоёр дахь осол юм. Ажиглалт бүрийн хажууд бүс, трафикийн үүргийг бич, ингэснээр үр дүнгийн хос бодлогыг тайлбарлах бөгөөд азтай хуудас ачааллыг дүрслэхгүй.