Назад | Перейти на главную страницу

Маршрутизатор не передает * некоторые * запросы

Где-то вчера мой ящик Asterisk перестал разговаривать с моим провайдером VoIP. Я определил, что это маршрутизатор, так как у меня есть зеркальный маршрутизатор в режиме ожидания на случай, если он вызовет проблемы - что и произошло.

Маршрутизатор работает под управлением Ubuntu 10.04, ядро: 2.6.32-39-server.

Я сократил количество iptables до минимума в надежде, что это может быть проблемой:

*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -o eth0 -j LOG  --log-level 7 --log-prefix BANDWIDTH_OUT:
-A FORWARD -i eth0 -j LOG  --log-level 7 --log-prefix BANDWIDTH_IN:
-A OUTPUT -o eth0 -j LOG  --log-level 7 --log-prefix BANDWIDTH_OUT:
-A INPUT -i eth0 -j LOG  --log-level 7 --log-prefix BANDWIDTH_IN:
-A FORWARD -m state -i eth0 -o eth1 --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j ACCEPT
-A INPUT -p tcp -m tcp -i eth0 --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp -i eth0 --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp -i eth0 --dport 8080 -j ACCEPT
-A INPUT -p tcp -m tcp -i eth0 --dport 10000 -j ACCEPT
-A INPUT -m state -i eth0 --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A FORWARD -p udp -m udp --dport 4569 -j ACCEPT
COMMIT
# Completed

*mangle
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed
*nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
-A PREROUTING -p udp -m udp --dport 4569 -j DNAT  --to 192.168.1.23:4569
-A PREROUTING -p tcp -m tcp --dport 5930 -j DNAT  --to 192.168.1.130:5900
-A PREROUTING -p tcp -m tcp --dport 30 -j DNAT  --to 192.168.1.130:22
-A PREROUTING -p tcp -m tcp --dport 10001 -j DNAT  --to 192.168.1.130:10000
-A PREROUTING -p tcp -m tcp --dport 8000 -j DNAT  --to 192.168.1.130:8000
-A PREROUTING -p udp -m udp --dport 10001:20000 -j DNAT  --to 192.168.2.3:10001-20000
COMMIT
# Completed

Я даже:

apt-get purge iptables

&

apt-get install iptables

Я пытался подключиться к провайдеру VoIP с другого компьютера с помощью Zoiper, и он тоже был заблокирован:

745 65.421743   174.34.146.162  192.168.1.105   ICMP    98  Destination unreachable (Port unreachable)

Я также могу пропинговать IP и получить успешный ответ:

root@pbx:~ $ ping atlanta.voip.ms
PING atlanta.voip.ms (174.34.146.162) 56(84) bytes of data.
64 bytes from 174.34.146.162.rdns.ubiquityservers.com (174.34.146.162): icmp_seq=1 ttl=54 time=26.1 ms
64 bytes from 174.34.146.162.rdns.ubiquityservers.com (174.34.146.162): icmp_seq=2 ttl=54 time=28.8 ms
64 bytes from 174.34.146.162.rdns.ubiquityservers.com (174.34.146.162): icmp_seq=3 ttl=54 time=25.7 ms
64 bytes from 174.34.146.162.rdns.ubiquityservers.com (174.34.146.162): icmp_seq=4 ttl=54 time=27.9 ms
64 bytes from 174.34.146.162.rdns.ubiquityservers.com (174.34.146.162): icmp_seq=5 ttl=54 time=23.9 ms

--- atlanta.voip.ms ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4002ms
rtt min/avg/max/mdev = 23.934/26.542/28.848/1.734 ms

Используя другую сеть, я смог успешно подключиться к провайдеру VoIP, а также когда я поменял маршрутизатор для резервного копирования.

Все остальное, что я проверил, похоже, проходит нормально. Я могу подключиться к УАТС извне сети и почти ко всему, к чему мне нужно подключиться. Просто кажется, что маршрутизатор невзлюбил все, что связано с VOIP.

Если вы используете SIP VoIP-телефонию, вы должны использовать это iptables команда:

iptables -A FORWARD -p udp --dport 5060 -j ACCEPT

Это для SIP-сообщений. Вам также понадобятся несколько портов для голосовых пакетов:

iptables -A FORWARD -p udp --sport 1024: --dport 1024: -j ACCEPT