Töten Sie einen Überwachungsport für eine bestimmte IP-Adresse

781
Daz

Ich habe einen SIP-Server mit mehreren Netzwerkschnittstellen. (virtuell) Wenn ich den Befehl ausführt netstat -nlput, werden alle zuhörenden IP-Adressen und Ports wie folgt angezeigt.

root@DUO-CALLSERVER004:/etc/init.d# netstat -nlput Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 723/rpcbind tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 21036/freeswitch tcp 0 0 172.20.112.238:8021 0.0.0.0:* LISTEN 21036/freeswitch tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1835/sshd tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 1868/nrpe tcp 0 0 172.20.112.118:5060 0.0.0.0:* LISTEN 21036/freeswitch tcp 0 0 172.20.112.117:5060 0.0.0.0:* LISTEN 21036/freeswitch tcp 0 0 172.20.112.114:5060 0.0.0.0:* LISTEN 21036/freeswitch tcp 0 0 172.20.112.112:5060 0.0.0.0:* LISTEN 21036/freeswitch tcp 0 0 172.20.112.110:5060 0.0.0.0:* LISTEN 21036/freeswitch tcp 0 0 172.20.112.238:5060 0.0.0.0:* LISTEN 21036/freeswitch tcp 0 0 172.20.112.111:5060 0.0.0.0:* LISTEN 21036/freeswitch tcp 0 0 172.20.112.116:5060 0.0.0.0:* LISTEN 21036/freeswitch tcp 0 0 172.20.112.115:5060 0.0.0.0:* LISTEN 21036/freeswitch tcp 0 0 192.168.52.108:5060 0.0.0.0:* LISTEN 21036/freeswitch tcp6 0 0 :::111 :::* LISTEN 723/rpcbind tcp6 0 0 :::22 :::* LISTEN 1835/sshd tcp6 0 0 :::5666 :::* LISTEN 1868/nrpe udp 0 0 172.20.112.118:5060 0.0.0.0:* 21036/freeswitch udp 0 0 172.20.112.117:5060 0.0.0.0:* 21036/freeswitch udp 0 0 172.20.112.114:5060 0.0.0.0:* 21036/freeswitch udp 0 0 172.20.112.112:5060 0.0.0.0:* 21036/freeswitch udp 0 0 172.20.112.110:5060 0.0.0.0:* 21036/freeswitch udp 0 0 172.20.112.238:5060 0.0.0.0:* 21036/freeswitch udp 0 0 172.20.112.111:5060 0.0.0.0:* 21036/freeswitch udp 0 0 172.20.112.116:5060 0.0.0.0:* 21036/freeswitch udp 0 0 172.20.112.115:5060 0.0.0.0:* 21036/freeswitch udp 0 0 192.168.52.108:5060 0.0.0.0:* 21036/freeswitch udp 0 0 0.0.0.0:111 0.0.0.0:* 723/rpcbind udp 0 0 0.0.0.0:731 0.0.0.0:* 723/rpcbind udp6 0 0 :::111 :::* 723/rpcbind udp6 0 0 :::731 :::* 723/rpcbind 

Was ich möchte, ist den Port 5060 zu töten, der 172.20.112.117:5060 hört. Eine andere Gruppe von IPs listet jedoch denselben Port mit derselben PID auf. Ich will das nicht töten. Nur die IP-Adresse 172.20.112.117 muss vom 5060-Port freigegeben werden. Gibt es dafür eine Methode?

0
Hängt davon ab, ob verschiedene Prozesse an die verschiedenen IP-Adressen gebunden sind oder nicht. Verwenden Sie "lsof", um herauszufinden, welcher Prozess auf "172.20.112.117: 5060" gehört. Wenn andere Ports nicht abgehört werden, beenden Sie sie. dirkt vor 7 Jahren 0
... die bequemerweise bereits in der Spalte "PID / Program" der netstat-Ausgabe angezeigt wird. grawity vor 7 Jahren 0

1 Antwort auf die Frage

0
Seth

Konfigurieren Sie den Prozess so, dass er nur an die richtigen Adressen bindet 0.0.0.0. Wenn es sich um Freeswitch handelt, sollten Sie sich die Konfiguration ansehen. Aus der Mailing-Liste (obwohl datiert):

Dude, direkt aus der Standardkonfiguration:

<!-- bind_server_ip Can be an ip address, a dns name, or "auto". This determines an ip address available on this host to bind. If you are separating RTP and SIP traffic, you will want to have use different addresses where this variable appears. Used by: sofia.conf.xml dingaling.conf.xml --> <X-PRE-PROCESS cmd="set" data="bind_server_ip=auto"/> 

Alternativ aus dem Wiki .

Es ist interessant, dass jeder IP ein Listener zugewiesen wird. Bei der Bindung an 0.0.0.0/all-Interfaces liegt die Bindung normalerweise bei 0.0.0.0 pro netstat. Muss eine VOIP-Sache sein. Frank Thomas vor 7 Jahren 0
Es ist nur meine Annahme. Es könnte falsch sein, da die Konfiguration "auto" sagt, könnte es sein, was sie einrücken. Ich habe mich nicht wirklich mit den Einzelheiten dieser Software beschäftigt. Seth vor 7 Jahren 0
@FrankThomas: Wahrscheinlich wegen der Symmetrie mit UDP - und bei UDP wird das immer noch häufig durchgeführt, da ältere Betriebssysteme Ihnen nicht sagen können, an welche Adresse ein Paket gesendet wurde. Daher konnten Sie die Antwort nicht richtig senden. ntpd und krb5-kdc tun dies zumindest. grawity vor 7 Jahren 1