Чиглүүлэлтийн дүрэм пакетын тэмдгийг уншдаг, conntrack-ийг биш
Бодлогод суурилсан чиглүүлэлт пакетын тэмдгийг уншдаг; conntrack нь илүү урт насалсан өөр утгыг хадгалдаг. Тэдгээрийн хооронд хуулах нь хэн нэгний бичих ёстой алхам юм.
Дөрвөн шалгалт ажиллаж байгаа тэмдгийн дүрмийг ажиллаж байгаа замаас ялгадаг: дүрэм аль тэмдгийг уншдаг, хайлтын үед пакет түүнийг одоо ч зөөж байгаа эсэх, дараагийн пакетуудад холболтын тэмдэг сэргээгдсэн эсэх, мөн тохирох дүрмийн маск ба тэргүүлэх ач холбогдол түүнийг ажиллахыг зөвшөөрч байна уу. Өсөж буй тоолуур нь ямар нэг дүрэм ямар нэгэн зүйлтэй тохирсныг л батална. Цөм өөрийн замыг сонгох үед пакет юу зөөж байсны талаар тэр юу ч хэлэхгүй.
Хоёр тэмдэг өөр өөр газар амьдардаг бөгөөд өөр хуваарийн дагуу дуусдаг.
Хоёр тэмдэг, хоёр нас
Пакетын тэмдэг нэг skb-д хамаарах бөгөөд түүнтэй хамт дэгээнүүдээр дамжин өнгөрч, бодлогод суурилсан чиглүүлэлтийн fwmark сонгогч түүнийг зарцуулдаг. Холболтын тэмдэг нь conntrack бичлэгт хамаарах бөгөөд тухайн урсгалын пакетуудад хадгалагдаж, ямар нэгэн зүйл түүнийг буцааж хуулах хүртэл чиглүүлэлтийн дүрэмд үл үзэгдэх байна. Пакетын тэмдгийг холболтод хадгалах нь хадгалалт; түүнийг сэргээх нь тусдаа үйлдэл. Аль нь ч өөрөө болдоггүй.
Тиймээс дүрмийн багц тууштай харагдаж болох боловч чиглүүлэлтийн шийдвэр тэгийг хардаг: утгыг хадгалсан боловч юу ч түүнийг сэргээгээгүй.
Тэдгээрийн хооронд хуулах нь таны бичих алхам
Хоёр чухал мэдэгдэл эсрэг чиглэлд ажилладаг: нэг нь пакетын тэмдгийг холболтод хадгалж, нөгөө нь холболтын тэмдгийг пакет руу ачаална. Аль нь хэрэгтэй нь урсгалтай харьцуулахад ангилал хэзээ явагдахаас хамаарна. Загварт зөвхөн пакетын тэмдэг хэрэгтэй байж болох бөгөөд ямар нэг зайлшгүй шийдэл хоёуланг нь ашигласан тул conntrack тэмдэглэгээ нэмэх нь энгийн бодлого хоёр дахь эвдрэлийн горимд ордог зам юм.
ct mark set meta mark meta mark set ct mark
Чиглэлийг дүрмийн хажууд бичиж тавь, учир нь синтаксоос анх харахад тодорхой биш. Эхний мөр хадгалж, хоёр дахь нь сэргээдэг бөгөөд аль нь ч нөгөөгөө агуулаагүй.
Түүнийг зарцуулдаг хайлтаас өмнө ангил
Орон нутгийн үүсгэсэн урсгал болон LAN-аас дамжуулсан урсгал өөр өөр дэгээгээр дамжин чиглүүлэлтийн шийдвэрт өөр өөр мөчид хүрдэг. Чиглүүлэгчийн өөрийн холболтод ажилладаг гарах дүрэм нь дамжуулсан клиентийн пакет өөрийн хайлтаас өмнө тэмдэглэгдсэнийг батлахгүй. Ангиллыг түүнийг зарцуулдаг хайлт одоо болоогүй газарт байрлуулж, мөн гинжин хэлхээний дараагийн дүрмүүд утгыг дарж бичиж байгаа эсэхийг шалга. Гинжин хэлхээ доторх дараалал нь тохиргооны хэсэг бөгөөд хэрэгжүүлэлтийн дэлгэрэнгүй мэдээлэл биш.
Холболтын төлөвийн тогтвортой байдал ч тодорхой төлөвлөгөө шаарддаг. Хэрэв урсгалын зөвхөн эхний пакет ангилагдвал дараагийн пакетууд хадгалсан тэмдгийг сэргээх шаардлагатай, эс бөгөөс тэмдэггүй замд орно. Энэ бол холболтыг тодорхойлдог тэмдэг ба пакетыг тодорхойлдог тэмдгийн ялгаа.
Замд тэмдэгтэй асуулт тавь
ip route get 10.77.0.10 mark 0x2
Дүрэм, хүснэгтийг шалгаад дараа нь тэмдгийг оруулан замаас асууж, бодлогод нөлөөлж байвал эх үүсвэр эсвэл орж ирж буй интерфейсийг нэм. Тэмдэггүй энгийн хайлт өөр асуултад хариулдаг бөгөөд таны хүсээгүй замыг баяртайгаар мэдээлнэ. Дүрмийн утгаас гадна маск, тэргүүлэх ач холбогдлыг шалгаж, сонгосон хүснэгтэд ашиглах боломжтой зам байгаа эсэхийг батал.
Өсөж буй тоолуур нь ямар нэг дүрэм ямар нэг пакеттай тохирсны баталгаа. Эцсийн пакет зөв шийдвэрийн цэг дээр зорьсон тэмдгийг зөөсөн гэсэн баталгаа биш.
Тэмдэг, чиглэл, цаг хугацаа, маскийг унш. Дөрвөн шалгалт, зам нууц байхаа болино.