Squid و tcp_outgoing_mark و مسیریابی fwmark در Linux
درخواستهای پروکسی انتخابی را با tcp_outgoing_mark دستهبندی کنید و بگذارید قاعده fwmark موجود در Linux مسیرشان را انتخاب کند.
Squid میتواند درخواست را با اطلاعاتی دستهبندی کند که یک مسیر معمولی IP آن را ندارد. در ساخت پشتیبانیشده Linux، tcp_outgoing_mark بر پایه یک ACL سریع نشانه Netfilter را در سمت سرور تعیین میکند:
acl selected_sites dstdomain -n .vendor.example
tcp_outgoing_mark 0x20 selected_sites
tcp_outgoing_mark 0x00 all
سپس یک قاعده سیاست Linux منطبق میتواند با fwmark 0x20 جدول مسیریابی از پیش پیکربندیشده را انتخاب کند. جدول هنوز به مسیرهای درست و گام بعدی قابل دسترس نیاز دارد. دستور Squid آنها را نمیسازد.
این نشانه فراداده مسیریابی محلی است. با فیلد DSCP یا TOS که در بسته IP حمل میشود و با tcp_outgoing_address که IP مبدأ را انتخاب میکند متفاوت است.
دستور مستندشده به پشتیبانی علامتگذاری بسته و قابلیتهای Linux نیاز دارد و تنها ACLهای سریع را میپذیرد. در Squid 7 و نسخههای پیشین فهرستشده موجود است، نه در Squid 8.
سیاست را پیرامون اتصالهای خروجی واقعی بسازید. اتصالهای TCP بازاستفادهشده تنها به این دلیل که درخواست HTTP دیگری از آنها استفاده میکند اتصال تازه نمیشوند. مسیر بازگشت به سمت کلاینت و مسیر ترافیک بدون نشانه را هم در طراحی نگه دارید.