تغییر صفحه ی sign in to network در مودم

سلام
من میخوام صفحه ی sign in to network مودمم رو تغییر بدم جوری که حتی اگه وارد یه سایت دیگه هم که خودم لینکش رو میدم بره اوکیه مثلا اگه مودم ایرانسل نت نداشته باشه میره به صفحه ی irancell.ir ولی من میخوام در هر صورتی بره به صفحه ی مورد نظر من چجوری میشه؟

یا اگه بشه هات اسپاتی ساخت که اینطور باشه عالیه مخصوصا اگه با لینوکس بشه

نمیشه چون ایرانسل اجازه نمیده هیچ سایتی بجز سایت خودش و درگاههای بانکی، بدون اینترنت باز بشن.

همچین کاری رو کافی‌شاپ ها و رستورانها انجام میدن. از اینایی که اینترنت رایگان یک ساعته میدن.
البته نه برای زمانی که واقعا اینترنت قطعه. برای زمانی که میخوان یه MAC Address، دیگه به اینترنت وصل نشه و نتونه از حجمشون کم کنه، تمام ریکوئستهاش رو ریدایرکت میکنن به localhost خودشون.

دقیقا همینو میخوام

نیاز به یه چیزی مثل raspberrypi دارید و باید تمام ترافیک رو از داخل اون عبور بدید. یه جورایی مثل کاری که با pi hole انجام میدن. یعنی از یه طرف وصله به مودم، از طرف دیگه اینترنت رو به صورت hotspot ارائه میده.
و باید یه برنامه بنویسید براش که وقتی میخواید ریدایرکتی انجام بده، بره routing table رسپ‌بری رو دستکاری کنه و ترافیک رو به اون سمتی هدایت کنه که میخواید.

باز هم تکرار میکنم، این برای وقتی نیست که اینترنت قطع میشه. چون وقتی اینترنت قطع میشه، ایرانسل فقط اجازه‌ی باز کردن سرویسهای خودش و درگاههای بانک رو میده. از طرف دیگه فهمیدن اینکه اینترنت قطع شده یا نه، برای رسپ‌بری‌پای تقریبا غیر ممکنه.

مودم تی پی لینک هست
این قابلیت رو مودم نیست که خودش تمام ریکوئست هارو ریدایرکت کنه به ایپی ۱۹۲.۱۶۸.۱.۱۳۸ که روی خودش هست؟

مهم نیست نت داره یا نداره هر سایتی رو که باز کرد کاربر ریدایرکت بشه به این ادرس

خیر.
البته بعضی مودمها firmware فری و اوپن‌سورس دارن. مثلا Asus DSL-N14U که یه نسخه‌ی minify شده از debian روشه. همچین مودمهایی رو شاید بشه یه کاریشون کرد.

البته اگه میخواید همیشه این اتفاق بیفته، نه فقط وقتهای خاص یا بعد از ۱ ساعت استفاده یا همچین چیزی، میشه یه کار دیگه انجام داد.
فرض کنید مودم شما روی 192.168.1.1 هست و یه کامپیوتر (raspberry یا هرچی) روی 192.168.1.2 دارید.
روی اون کامپیوتر، یه DNS Server ران کنید که به ریکوئستهای مربوط به هر دامنه‌ای، پاسخ 192.168.1.2 بده! بعد توی مودم ست کنید که DNS Server ها به جای اینکه روی 8.8.8.8 یا هرچیز دیگه‌ای ست باشن، روی 192.168.1.2 ست بشن.
اینطوری (مگر اینکه کاربر DNS serverهای خودش رو ست کرده باشه و از مودم نگیره) هر ریکوئستی که قراره زده بشه اول DNSش چک میشه که خب از 192.168.1.2 میگیریم، بعد اون هم جواب همه‌ی domain lookupها رو 192.168.1.2 میده یعنی localhost خودش!

این ۳ تا مشکل داره. اولا اینکه یه جورایی همیشگیه و نمیشه تغییرش داد. و وقتی یه بروزر یه بار یه DNS‌رو ریکوئست کنه، اونو کش میکنه تا یه مدت. پس عوض کردنش و تست کردنش یه کم سخته.
دوما اگه کاربر یه ip بزنه، میتونه اون ip‌ رو ببینه چون دیگه نیازی به dns lookup نیست.
سوما اینکه فقط وقتی جواب میده که network manager کاربر، ریکوئستهای dns‌رو به مودم بزنه. نه اینکه خودش کانفیگ شده باشه تا از 8.8.8.8‌ یا 1.1.1.1 یا یه چیز دیگه استفاده کنه.

این چجوریه؟

و اینم چجوره؟

منم همون راه DNS server به ذهنم رسید

واقعا توضیحش زیاد و سخته و نمیتونم دقیق بگم مگر اینکه همین الآن درحال درست کردنش باشم.
ولی کلیات اینطوریه:
از مودم، کابل شبکه رو وصل کنید به raspberrypi. بعد یه دانگل وایفای به یکی از پورتهای rasp وصل کنید.
network manager رسپ رو کانفیگ کنید که اولا به اینترنت وصل بشه (خیلی معمولی از طریق کابل) بعد دانگل وایفای رو از داخل همون تنظیمات network manager تبدیل کنید به یه hotspot
از اینجا به بعد هیچ کسی نباید به وایفای مودم وصل بشه، هیچ کسی نباید با کابل به مودم وصل بشه (بجز رسپ) چون اگه وصل بشن، کل سیستم رو bypass میکنن و مستقیم به اینترنت وصل میشن. ما میخوایم اینترنتمون از داخل RaspBerryPi عبور کنه که بتونیم روش کنترل داشته باشیم.
حالا باید با دستکاری routing table، ترافیک رو اونطور که میخوایم هدایت کنیم. این کار سختیه و نمونه‌کدی که میدم مطمئن نیستم درست کار کنه چون اونقدر حرفه‌ای نیستم که بدون تست کردن بتونم این کامندها رو بزنم.

ip route add default gw 127.0.0.1

این کل ترافیک رو میفرسته به 127.0.0.1 اینکه دقیقا چیکار میکنه رو باید توی man ip و man ip route بخونید.
خیلیوقته که routing table رو دستکاری نکردم، اونموقع که باهاش کار میکردم هم برای ردکردن ترافیک از pptp بود، یه کم قضیه فرق میکرد. پس ممکنه چیزی که نوشتم اشتباه باشه.

این نیاز به کامپیوتر اضافه نداره. ولی نیاز به یه نرم‌افزار DNS Server داره. نمیدونم چطوری میشه درستش کرد و یا اینکه لایبرری‌ای براش توی یه زبان وجود داره که کار رو راحت کنه یا نه.
ولی کل قضیه اینطوری میشه که روی سیستم خودتون (اگه همیشه روشنه، اگه نیست یه raspberrypi لازمه) یه DNS Server ران کنید. یه نرم‌افزار که روی پورت 53 و پروتکل UDP باشه و به ریکوئستهای DNS که بهش زده میشه پاسخ بده.
قطعا نرم‌افزارهاش هست، ولی نمیشناسمشون و نمیدونم که قابلیت کاستومایز شدن دارن یا نه. بگذریم.
وقتی یه کامپیوتر میخواد یه محتوای یه دامنه‌ای رو ببینه، یه ریکوئست به یه DNS Server میزنه که ممکنه گوگل باشه 8.8.8.8 یا کلادفلر 1.1.1.1 یا اوپن‌دی‌ان‌اس 208.67.222.222 یا همین نرم‌افزاری که روی سیستم خودتون درست میکنید و مثلا آدرسش میشه 192.168.1.5
این نرم‌افزار نشسته پشت پورت 53 و وقتی بهش میگیم «example.com کجاست؟» بهمون میگه «فلان ip-address»
پس منطقا میتونیم طوری تنظیمش کنیم که هر ریکوئستی اومد برای هر دامنه‌ای، بگه «127.0.0.1» یا یه ip دیگه.

فقط بدیش اینه که اگه یکی از کاربرهایی که به مودم‌ما وصل میشه از یه dns server دیگه استفاده کنه، اونوقت جواب درست رو میگیره و میره به example.comی که خودش میخواست.

بخشید نمیشه بهم بگید چه نرم افزاریه و چجوری باید ستاپش رو انجام بدم چون اطلاعاتم خیلی کمه

خیر! چون همچین چیزی که میخواید یا وجود نداره یا من نمیشناسمش.
اصولا کافی‌شاپ‌ها و اماکن عمومی که از این سیستم‌ها استفاده میکنن، سفارش میدن یه نفر براشون درست میکنه. یا شایدم یه نرم‌افزاری باشه که من نمیشناسم و تا حالا ندیدم.
خودم هم تئوریش رو میدونم، تا حالا انجامش ندادم.

یچیزایی دیدم مثل bind9 و dnsmasq ولی درست توی اینترنت اموشش ندادن

اینا ابزارهایی هستن که برای درست کردن این مدل سیستم‌ها باید ازشون استفاده کنیم. نرم‌افزار کامل نیستن.
من با Bind9 کار کردم. DNS Server هست. ولی اگه میخواید تغییرات زیاد توش بدید، باید یه نرم‌افزار بنویسید که اینکار رو انجام بده. (کنترل پنلهایی مثل Cpanel و Direct Admin از bind9 استفاده میکنن و براش فایلهای کانفیگ رو میسازن و ویرایش میکنن)