Arahkan IP ke instance aplikasi

1

Saya hanya ingin tahu bagaimana cara menunjuk alamat IP statis yang telah saya beli ke contoh aplikasi di server saya, menggunakan IP yang berbeda dari yang saat ini saya arahkan ke server utama saya?

Ini membuat saya bingung sepenuhnya, saya tahu dua perintah yang terkait tetapi saya tidak tahu bagaimana memaksa mereka untuk mengarahkan IP ke port tertentu di localhost saya. Saya pikir mereka ARP dan rute. Saya bisa saja salah total.

Yang ingin saya lakukan adalah mengarahkan alamat IP yang berbeda ke contoh Java yang berbeda.

Saya juga menggunakan CentOS 5.9

Conner Stephen McCabe
sumber
iptables NAT, penerusan port
goldilocks
Mau berkembang sama sekali?
Conner Stephen McCabe

Jawaban:

3

Alamat IP tidak mengarah ke port atau aplikasi. Mereka menunjuk ke mesin (virtual), atau wadah, atau konteks.

Aplikasi mendengarkan pada port, yang dapat (tergantung pada apa yang dilewatinya bind) pada semua alamat IP pada mesin, atau pada satu alamat IP. Jadi hal terbaik yang harus dilakukan adalah meminta aplikasi Anda untuk memanggil bind dengan IP yang benar. Anda dapat memiliki dua program berbeda mendengarkan pada port 80 (misalnya) selama mereka mendengarkan pada alamat IP yang berbeda. Banyak program memungkinkan Anda menentukan IP untuk didengarkan, karena terkadang menggunakan sintaks di 10.0.0.1:1234mana 10.0.0.1 adalah IP dan port 1234. Ketika Anda meninggalkan IP, mereka default ke 0.0.0.0 yang merupakan semua alamat pada mesin.

Jika aplikasi Anda tidak bisa melakukan itu, Anda bisa — seperti yang ditunjukkan goldilocks — mengatasinya menggunakan NAT. Pada dasarnya, Anda memiliki setiap aplikasi mendengarkan pada port yang berbeda, katakanlah 8080 dan 8081. Kemudian Anda mengatur aturan NAT untuk mengarahkan ulang port 80:

iptables -t nat -A PREROUTING -d 10.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 8080
iptables -t nat -A PREROUTING -d 10.0.0.2 -p tcp --dport 80 -j DNAT --to-destination 8081

Anda dapat menambahkan aturan firewall tambahan untuk memblokir akses langsung ke port 8080 dan 8081, tentu saja.

Anda juga dapat menggunakan ipv untuk melakukan ini. Atau server proxy. Mungkin ada beberapa cara lagi.

derobert
sumber
Terima kasih banyak derobert, ini sangat informatif, sangat menghargainya :)
Conner Stephen McCabe