Я пытался прочитать много документов по запуску системы VoIP за маршрутизатором с NAT, выходу в Интернет, а затем обратно через выделенное соединение для сервера VoIP. Я ничего не добился в своих исследованиях.
Я унаследовал настройку, в которой все оборудование сервера VoIP находится в собственной сети с выделенным ADSL-соединением. Телефоны из любой точки Интернета работают! Моя проблема в том, от внутри моей сети.
Я пробовал обычные шаги по устранению неполадок: перезагрузка маршрутизатора, отключение брандмауэра, изменение портов, к которым я подключаю IP-телефоны, но ничего из этого не работает.
Мы используем серверы Linux в качестве маршрутизаторов, и iptables
как наш брандмауэр. По умолчанию политики отбрасывают пакеты, которые не совпадают, но проблема сохраняется, даже когда я говорю им ПРИНЯТЬ. Запуск tcpdump -ni eth1 host 192.168.0.89
выводит следующее, когда телефон пытается подключиться:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
13:45:24.487637 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46
13:45:33.285767 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46
13:45:43.333432 ARP, Request who-has 192.168.0.89 tell 0.0.0.0, length 46
13:45:49.331224 ARP, Reply 192.168.0.89 is-at 00:15:b7:48:04:cd, length 46
13:45:49.337216 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46
13:45:49.341575 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46
13:45:49.444252 ARP, Request who-has 192.168.0.89 tell 192.168.0.89, length 46
13:45:49.612308 ARP, Request who-has 192.168.0.3 tell 192.168.0.89, length 46
13:45:49.612319 ARP, Reply 192.168.0.3 is-at 00:22:b0:70:9a:eb, length 28
13:45:49.613504 IP 192.168.0.89.50138 > xxx.xxx.xxx.xxx.1719: UDP, length 125
13:45:49.631597 IP xxx.xxx.xxx.xxx > 192.168.0.89: ICMP host 216.57.190.87 unreachable - admin prohibited filter, length 36
В xxx.xxx.xxx.xxx
- это общедоступный IP-адрес сервера VoIP (отличный от интернет-провайдера нашей основной сети). Если я пропущу свой сервер и подключу телефон непосредственно к нашему Интернет-соединению (у нас есть /24
подсеть), он очень быстро подключается. Если он находится за одним из наших серверов, он остановится на этой части рукопожатия. Я пробовал на разных шлюзах, эффект тот же.
Изнутри своей сети я могу подключиться к системе управления по протоколу RDP, проверить связь с сервером и т.д. Я просто не могу подключить свои телефоны. Когда я сбрасываю iptables
из, поэтому все настроено на ACCEPT
, он по-прежнему не подключается.
Где я могу посмотреть дальше, чтобы эти телефоны заработали? Раньше они работали, но теперь нет; возврат к старой конфигурации невозможен, так как резервные копии хранятся всего около 3 месяцев.
Эта проблема была устранена внутренне. Наш уполномоченный государством интернет-провайдер «не мог обрабатывать трафик в стиле SIP и RTP», поэтому я создал новую VLAN. Порты на коммутаторах позволяли TAGGED трафику либо в man LAN VLAN, либо в VoIP VLAN, а немаркированный порт - в телефонную систему.
На каждом VoIP-телефоне я мог бы отдельно пометить голосовой трафик и компьютерный трафик.