Redirect permintaan ke IP / port eksternal saya ke IP / port eksternal yang berbeda?

14

Apakah mungkin untuk mengalihkan koneksi ke IP / port tertentu ke IP / port eksternal?

Contoh:

  • Server A memiliki IP eksternal xxx.xxx.xxx.xxx
  • Server B memiliki IP eksternal yyy.yyy.yyy.yyy
  • Pengguna mengirimkan permintaan ke server A pada port 2106, saya ingin mengarahkannya ke server B di port 2106.
Prix
sumber
2
Bisakah Anda menguraikan? Apakah mesin "A" gateway multihomed? Jika ya, iptables mungkin bisa digunakan. Contoh: iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 2106 -j DNAT --untuk yyyy: 2106 iptables -A INPUT -p tcp -m state --state NEW --dport 2106 -i eth1 - j MENERIMA
kikuk bodoh
@ kikuk bodoh terima kasih saya sudah menyelesaikannya dan memposting apa yang saya lakukan di bawah ini.
Prix

Jawaban:

22

Masalah terpecahkan:

sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport port -j DNAT --to-destination ip:port
iptables -t nat -A POSTROUTING -j MASQUERADE

Di mana ip dan port adalah server target saya ingin mengarahkan port server saat ini.

Prix
sumber
Ini tidak bekerja untuk saya. Secara khusus, baris terakhir itu menyebabkan semua lalu lintas dari mesin saya ke dirinya sendiri tampaknya datang dari luar, dan masalah serupa.
singpolyma
@Prix tidak akan mengarahkan semua lalu lintas ke port yang ditentukan (2106) ke yyy.yyy.yyy.yyy: port? Bagaimana jika saya ingin mengarahkan lalu lintas yang hanya ke xxx.xxx.xxx.xxx:port?
Jezor