Saat ini saya memiliki kotak NAS yang berjalan di bawah port 80. Untuk mengakses NAS dari luar, saya memetakan port 8080 ke port 80 pada NAS sebagai berikut:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 10.32.25.2:80
Ini bekerja seperti pesona. Namun, ini hanya berfungsi jika saya mengakses situs web dari luar jaringan (di tempat kerja, di rumah yang berbeda, dll). Jadi ketika saya mengetik mywebsite.com:8080
, IPTables melakukan pekerjaan dengan benar dan semuanya bekerja dengan baik.
Sekarang, masalah yang saya miliki adalah, bagaimana saya bisa mengarahkan ulang port ini dari bagian dalam jaringan? Nama domain saya mywebsite.com
menunjuk ke router saya (server linux saya) dari dalam (10.32.25.1) tetapi saya ingin mengarahkan port 8080 ke port 80 pada 10.32.25.2 dari dalam.
Ada petunjuk?
Edit # 1
Mencoba membantu memfasilitasi pertanyaan ini, saya menyatukan diagram ini. Jangan ragu untuk memperbarui jika itu tidak benar atau salah mengartikan apa yang Anda cari.
iptables
| .---------------.
.-,( ),-. v port 80 |
.-( )-. port 8080________ | |
( internet )------------>[_...__...°]------------->| NAS |
'-( ).-' 10.32.25.2 ^ 10.32.25.1 | |
'-.( ).-' | | |
| '---------------'
|
|
__ _
[__]|=|
/::/|_|
10.32.25.1:8080
pengalihan ke 10.32.25.2:80
. Aturan saya di atas berfungsi dari luar, tetapi tidak dari dalam jaringan saya. Jadi jika saya di kantor, saya dapat mengakses NAS saya dari situs web: com: 8080 dan itu benar-benar transparan. Dari rumah saya, website.com:8080 arahkan ke 10.32.25.1 karena itu adalah router saya alias server Linux. Saya ingin mengarahkan kembali port 8080 ke NAS juga pada port 80 tetapi sekali lagi, secara transparan.
eth0 10.32.25.2
, sehingga kita dapat menulis penggunaan iptables berdasarkan antarmuka masuk