2016-04-07 19 views
0

bi'şey için aynı kaynak bağlantı noktasını zorlamak için nasıl. her bir işlemcinin bir soketi (IP, Port) kullanarak harici bir IP adresine gönderilmesi gerekir. Yalnızca 5060 numaralı bağlantı noktasını kullanmalıyım (bir SIP sunucusunu simüle ederken). sorun soketi (aynı kaynak bağlantı noktasını kullanan paralel lifler daha sonra imkansız) kullanılarak bu yüzden bu sorunu çözmek ne zaman sadece bir iplik çıkış bölümüne 5060 her kullanabilmesidir. Birkaç ipliğinin eş zamanlı olarak (farklı bir yuvada her biri) çalıştıran her bir parçacığı tarafından kullanılan kaynak noktasını değiştirmek için Linux iptables kullanabilir eğer acaba ==> makineden aktarılan tüm paketler, aynı kaynak bağlantı noktası ile vardır 5060.Firewall-Iptables-Linux: Birçok processus tarafından bestelenen tcl dili ile bir uygulama geliştirirken tüm giden paketler

Herhangi bir öneri veya bilgi kabul edilir. (Bu durumda somut bir örneğe ihtiyacım var) Şimdiden çok teşekkür ederiz.

+0

IMHO yazılı olarak bu soruyu konuşurken konu dışı olan özel bir arayüze bu bağlamak istiyorum ama FWIW ise Her bir iş parçacığının aynı kaynak bağlantı noktasını kullanmamasının neden bir sebebi olduğunu düşünmüyorum. – Alnitak

cevap

1

Neden bu birden çok iş parçacığı kullanamıyorum? bu durumda, başvurunuz tasarım sadece bir dişin gerektiğini o kusurludur - sadece tek bir iş parçacığı tarafından yapılabilir gelen bağlantılar için bir liman, bağlanma sırasında bu sadece bir sorun olacağını - Giden paketler herhangi çekişme olmamalıdır bağlantıları kabul etmek ve işçilere teslim etmek.

Bu iptables kural, belirli bir bağlantı noktasına giden tüm paketleri yönlendirmek gerektiğini ... sorulan soruyu cevaplamak için.

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

Eğer

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

Ya sadece belirli bir hedefe

iptables -I OUTPUT -s www.xxx.yyy.zzz -j REDIRECT --to-port 5060