Menulis ulang permintaan HTTP keluar pada DD-WRT

1

Saya menjalankan router DD-WRT (v24SP2-MULTI (11/04/12) std) di jaringan rumah saya dan ingin menulis ulang semua permintaan HTTP keluar. Secara khusus, saya ingin semua permintaan yang dibuat untuk xxx.example.org ditulis ulang sebagai permintaan untuk zzz.example.org di tingkat router.

Sekarang, saya menyadari betapa rumitnya untuk melakukan ini, jadi saya sudah mencoba untuk mengatasi ini pada tingkat yang lebih sederhana dengan menggunakan DNSMasq untuk menetapkan alamat absolut untuk domain dengan menggunakan direktif alamat seperti: address=/xxx.example.org/1.2.3.4

Meskipun ini berfungsi, masalah jelas yang saya miliki adalah bahwa alamat IP dapat berubah. Saya akan puas jika saya dapat memberitahu DNSMasq untuk melakukan pencarian untuk domain yang berbeda daripada harus memberikan alamat absolut, tetapi saya tidak melihat itu mungkin menurut halaman manual.

Pertanyaan saya adalah: Menggunakan router DD-WRT, dapatkah saya memiliki semua permintaan HTTP internal ke eksternal untuk domain tertentu benar-benar meninggalkan router ke domain yang berbeda?

DDWRT Di Seattle
sumber

Jawaban:

0

Jika Anda mengubah hanya resolusi IP, itu adalah solusi setengah karena header HTTP masih akan berisi informasi tentang permintaan asli.

Apa yang dapat Anda lakukan adalah menginstal pada proxy proxy kecil (misalnya Privoxy ) dan kemudian menulis ulang URL di sana (menggunakan REDIRECT dan CLIENT-HEADER-FILTER jika kita berbicara tentang Privoxy).

Kemudian Anda bisa mengarahkan browser ke Privoxy atau akhirnya menggunakan iptables untuk melakukan proxy transparan sehingga klien bahkan tidak perlu mengetahuinya. (misalnya lihat di sini untuk ide tentang cara melakukannya)

fede.evol
sumber
Terima kasih atas rekomendasi ini. Sepertinya saya memiliki banyak bacaan yang harus dilakukan sebelum saya bahkan dapat mulai menginstal Privoxy. Masalahnya adalah browser akan mendapatkan respons 302 setiap kali, yang akan sedikit memperlambat total waktu permintaan. Bukan masalah besar sekalipun.
DDWRT Di Seattle
0

Jika Anda ingin menulis ulang semua permintaan HTTP keluar di router, cara "praktik terbaik" untuk melakukan ini adalah dengan menginstal proxy transparan] 1 pada router. Anda perlu mengatur redirector dasar (atau di sini ) di bawah cumi-cumi untuk membuatnya berfungsi.

Saya menunjukkan bahwa, tergantung pada apa yang Anda coba lakukan, jika Anda dapat menggunakan alamat IP daripada nama host, Anda harus dapat mencapai ini dengan aturan IPTABLES tunggal untuk menulis ulang alamat target (DNAT) menggunakan sesuatu seperti iptables -t nat -A PREROUTING -p tcp --dport 80 -i (INTERNALIF) -s old.ip.addr.ess -j DNAT --untuk new.ip.addr.ess

davidgo
sumber