Firewall-Iptables-Linux : cara memaksa port sumber yang sama untuk semua paket keluar

Saya sedang mengembangkan aplikasi dengan bahasa tcl yang disusun oleh beberapa prosesus. setiap prosesus harus mengirim data menggunakan soket (IP, Port) ke alamat IP eksternal. Saya sebaiknya hanya menggunakan port 5060 (karena saya sedang mensimulasikan server SIP). Masalahnya adalah hanya satu thread yang dapat menggunakan port 5060 setiap kali menggunakan soket (thread paralel menggunakan port sumber yang sama tidak mungkin dilakukan) jadi saya harus menyelesaikan ini. Saya ingin tahu apakah saya dapat menggunakan linux iptables untuk mengubah port sumber yang digunakan oleh setiap thread ketika beberapa thread berjalan secara bersamaan (masing-masing pada soket yang berbeda) ==>semua paket yang dikirimkan dari mesin menggunakan port sumber yang sama 5060.

Setiap saran atau informasi dipersilakan. (Saya butuh contoh konkrit jika demikian) Terima kasih banyak sebelumnya.


person Abdelkarim Bezi    schedule 07.04.2016    source sumber
comment
IMHO pertanyaan ini seperti yang tertulis di luar topik, tetapi FWIW menurut saya tidak ada alasan mengapa Anda tidak dapat membuat setiap utas menggunakan port sumber yang sama.   -  person Alnitak    schedule 07.04.2016


Jawaban (1)


Mengapa Anda tidak bisa menggunakan ini dari banyak thread? Paket keluar tidak boleh memiliki perselisihan apa pun - ini hanya akan menjadi masalah ketika mengikat ke port untuk koneksi masuk, yang hanya dapat dilakukan oleh satu thread - jika ini masalahnya, desain aplikasi Anda cacat karena hanya satu thread yang harus menerima koneksi, dan menyerahkannya kepada pekerja.

Untuk menjawab pertanyaan yang diajukan... Aturan iptables ini harus mengarahkan semua paket keluar ke port tertentu.

iptables -I OUTPUT -j REDIRECT --to-port 5060

Jika Anda ingin mengikat ini ke antarmuka tertentu

iptables -I OUTPUT -i eth0 -j REDIRECT --to-port 5060

Atau hanya ketika berbicara dengan tujuan tertentu

iptables -I OUTPUT -s www.xxx.yyy.zzz -j REDIRECT --to-port 5060
person Matt Clark    schedule 07.04.2016