![Завершить прослушивание порта для определенного IP-адреса](https://rvso.com/image/1520711/%D0%97%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D1%82%D1%8C%20%D0%BF%D1%80%D0%BE%D1%81%D0%BB%D1%83%D1%88%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BF%D0%BE%D1%80%D1%82%D0%B0%20%D0%B4%D0%BB%D1%8F%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE%20IP-%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%B0.png)
У меня есть SIP-сервер с несколькими сетевыми интерфейсами. (виртуальный) Когда я выполняю команду, netstat -nlput
он показывает все прослушиваемые IP-адреса и порты, как показано ниже.
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
Я хочу закрыть порт 5060, который прослушивает 172.20.112.117:5060. Но есть еще один набор IP-адресов, также перечисляющих тот же порт с тем же PID. Я не хочу их убирать. Только IP-адрес 172.20.112.117 нужно освободить от порта 5060. Есть ли способ сделать это?
решение1
Настройте процесс таким образом, чтобы он привязывался только к правильным адресам вместо 0.0.0.0
. Если процессFreeswitchвам следует взглянуть на конфигурацию. ИзСписок рассылки(хотя и датировано):
Чувак, прямо из конфигурации по умолчанию:
<!-- 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"/>
В качестве альтернативы изВики.