DNS-ээр тэжээгддэг nftables олонлог WireGuard руу: дамжуулалт хэрхэн ажилладаг
DNS хариулт nftables олонлогийг тэжээж чадна, гэхдээ олонлог өөрөө юу ч чиглүүлдэггүй. Чиглүүлэлт ажиллах эсэхийг шийддэг дөрвөн дамжуулалт ба гурван наслалтыг дагаарай.
Нэрс хаяг болж шийдэгддэг ба эдгээр хаяг нь дараа нь чиглүүлэлтэд нөлөөлдөг галт ханын олонлогт орж болох бөгөөд энэ нь проксигүйгээр нэрэд суурилсан чиглүүлэлтийг боломжтой болгодог. Хавх нь дөрвөн бүрэлдэхүүн зөв дамжуулах ёстой: шийдэгч, олонлог, шинэ урсгалыг тэмдэглэдэг ангилагч, түүнийг зөөдөг хос. Дамжуулалт бүр өөр өөрөөр бүтэлгүйтдэг бөгөөд тус бүр өөрийн цагийг хадгалдаг.
Загварыг тохиргоо биш, гинжин хэлхээ гэж үзээрэй. Алхам бүрийн асуулт нь аль бүрэлдэхүүн шийдвэрийг эзэмшдэг, түүний оролт байхгүй үед юу болдог вэ гэдэг юм.
DNS хариулт юу чадах, юу чадахгүй
dnsmasq хариултуудаас хаягийг nftables олонлогт хуулж чадна, энэ нь тэжээл, чиглүүлэлтийн шийдвэр биш. Тэр сонголт, dnsmasq гарын авлагад баримтлагдсан, гэр бүл, хүснэгт, олонлогийг нэрлэдэг ба түүний эхний 4# зөвхөн A бүртгэлийг сонгодог тул v6 очих газруудад өөрсдийн зохицуулалт хэрэгтэй. Олонлог урьдаас оршиж байх ёстой, учир нь шийдэгч галт ханын эзэн бүтээсэн зүйлд элемент нэмдэг. Тэр алхамд юу ч интерфэйс, хүснэгт эсвэл хосыг сонгодоггүй.
Клиент мөн нэрийн хувьд тэр шийдэгчийг ашиглах ёстой. Өөрийн шифрлэгдсэн DNS-тэй апп, эсвэл бодлого үүсэхээс өмнөх кэш хариулт нь олонлогт нэг ч бичлэг үүсгэхгүйгээр холбогддог.
Олонлог нь оролт, чиглэл биш
Олонлог дахь элемент бол тохирлын нөхцөл. Ямар нэгэн зүйл түүнийг харж, энэ багц шинэ урсгал эхлүүлж байна гэж шийдэж, урсгалыг туннелээр илгээдэг бодлогыг хэрэглэх ёстой. Linux дээр энэ нь ихэвчлэн тэмдэг тавьж чадах чиглүүлэлтийн чадвартай гарах зам, тэмдэглэсэн багцуудыг тусгай хүснэгт рүү илгээдэг дүрэм, тэр хүснэгтэд WireGuard төхөөрөмж рүү заасан чиглэл гэсэн үг. Зөвхөн гишүүнчлэл эдгээрийн аль нэгийг ч суулгадаггүй.
nft add set inet vpn_select office_v4 { type ipv4_addr\; }
ip rule add fwmark 0x40 table 200
ip route add default dev wg0 table 200
wg show wg0 allowed-ips
Хос хоёр дахь хамрах хүрээний шалгалтыг хийдэг бөгөөд хүмүүс үүнийг мартдаг. WireGuard зөвхөн зөвшөөрөгдсөн хаягууд нь очих газрыг агуулсан хос руу багцыг шифрлэдэг тул хосын жагсаалт тэр угтварыг хасаж байвал интерфэйс рүү бодлогын чиглэл хангалтгүй. Жагсаалтыг менежер санамсаргүй үүсгэсэн чиглэлд найдахгүйгээр чиглүүлэлтийн эзний хяналтад байлгаарай.
Тэмдэг, хүснэгт ба хосын хамралт
Тэмдэг нь нийтлэг нэрийн орон зай тул утга ба маск хоёулаа тэдгээрийг ашигладаг бусад бүхэнтэй тохиролцсон байх ёстой. Тэмдэглэсэн урсгалыг тусгай хүснэгт рүү илгээдэг дүрэмд тэр хүснэгтэд тохирох чиглэл байхгүй үед тодорхой үр дүн хэрэгтэй, учир нь хариултгүй хайлт дараагийн дүрэм рүү үргэлжилж, багцыг физик интерфэйсээр гадагш илгээж болно. Тусгай хүснэгтийн доторх blackhole анхдагч чиглэл тэр нам гүм зугталтыг харагдах хаягдал болгоно. Загвар хараахан чадахгүй байгаа зүйл бол олонлогт хэзээ ч ороогүй очих газарт алдаа гарвал хаагдах явдал юм.
Туннелийн өөрийн гадаад багцууд ангилагчаас зугтах ёстой. WireGuard хэрэгслүүд яг энэ зорилгоор сокетын тэмдэг өгдөг бөгөөд түүнийг ашиглах нь инкапсуляци өөрөө барьж буй интерфэйс рүү буцаж чиглэгдэхээс сэргийлдэг.
Наслалт бүрийг тус тусад нь шалгаарай
Гурван агуулах гурван хуваарийн дагуу хуучирдаг: шийдэгчийн кэш, олонлогийн элементүүд ба хянагдаж буй холболт. Тэдгээрийг энэ дарааллаар шалгаад аль нь хэзээ хөдлөх ёстойгоо хөдөлж байгаа эсэхийг ажиглаарай. Доорх командууд юу ч өөрчлөхгүйгээр шийдэгч, олонлог, холболтын хүснэгт, бодлогын дүрмийг уншдаг.
dig +short office.example
nft list set inet vpn_select office_v4
conntrack -L -d 10.60.8.15
ip rule show
Элемент нэмдэг шинэ хайлт тэжээл ажиллаж байгааг нотолдог бол өөрийн хариултаас урт амьдарсан хуучирсан элемент нь бичих үнэ цэнэтэй наслалтын зөрүү юм. Холболтын хүснэгтэд хүлээгдэж буй тэмдэгтэй шинэ холболт гарч ирэх нь ангилагч ажилласныг харуулна, харин хуучин холболт анхны тэмдгээ хадгалах нь алдаа биш, зөв зан төлөв юм. Дүрмийн жагсаалт бодлогын хайлт ерөөсөн байгаа эсэхийг хариулдаг бөгөөд энэ нь тохирсон эсэхээс өөр асуулт юм. Дөрвөн гаралтыг энэ дарааллаар уншаарай, бүтэлгүйтсэн дамжуулалт өөрөө илчлэгдэнэ.
Тодорхой нэр үргэлж нэг замыг ашиглах шаардлагатай бол DNS-ээр тэжээгддэг олонлог үүнийг нотолж чадахгүй, учир нь хуваалцсан хаягууд бусад нэрийг ч зөөдөг. Прокси эсвэл аппын түвшний механизм нь тэр баталгааны хэрэгсэл юм.