Saya ingin mengarahkan semua lalu lintas dari port 443 ke port internal 8080. Saya menggunakan konfigurasi ini untuk iptables:
iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp \
--dport 443 -j REDIRECT --to-ports 8080
Ini berfungsi untuk semua klien eksternal. Tetapi jika saya mencoba mengakses port 443 dari maschine yang sama saya akan mendapatkan koneksi yang ditolak kesalahan.
wget https://localhost
Bagaimana saya bisa memperpanjang aturan iptables untuk mengarahkan lalu lintas lokal juga?
Jawaban:
PREROUTING tidak digunakan oleh antarmuka loopback, Anda juga perlu menambahkan aturan OUTPUT:
sumber
Untuk mengarahkan paket dari localhost ke komputer lain aturannya:
akan berfungsi, TETAPI Anda juga perlu mengaktifkan opsi ini di kernel:
Tanpa pengaturan kernel itu tidak akan berfungsi.
sumber
Bagaimana dengan ini?
sumber
Anda bilang Anda mendapat koneksi ditolak kesalahan. Ini berarti bahwa tidak ada proses lokal mendengarkan pada port yang Anda coba sambungkan! Untuk memeriksa proses mendengarkan, gunakan perintah:
Setelah menerapkan aturan tersebut, Anda harus memiliki proses mendengarkan pada port 8080 untuk terhubung.
Tampaknya Anda harus memiliki aturan berikut sebagai gantinya:
Ingat bahwa Anda mengirim dari localhost. Jadi, Anda perlu mengarahkan ulang paket output.
sumber