Безопасно ли открывать
Порты SIP и VoIP постоянно сканируют боты, которые ищут слабые пароли, чтобы звонить за ваш счёт. По возможности разрешите на фаерволе только IP-адреса оператора, используйте длинные пароли SIP, fail2ban и отключите SIP ALG на роутере.
Как открыть порт 3478
Открыть всем
# Linux iptables iptables -A INPUT -p tcp --dport 3478 -j ACCEPT iptables -A INPUT -p udp --dport 3478 -j ACCEPT # Ubuntu ufw ufw allow 3478/tcp ufw allow 3478/udp # firewalld firewall-cmd --permanent --add-port=3478/tcp && firewall-cmd --reload firewall-cmd --permanent --add-port=3478/udp && firewall-cmd --reload # MikroTik /ip firewall filter add chain=input protocol=tcp dst-port=3478 action=accept place-before=0 comment="port 3478" /ip firewall filter add chain=input protocol=udp dst-port=3478 action=accept place-before=0 comment="port 3478" # Windows (PowerShell) New-NetFirewallRule -DisplayName "Port 3478 TCP" -Direction Inbound -Protocol TCP -LocalPort 3478 -Action Allow New-NetFirewallRule -DisplayName "Port 3478 UDP" -Direction Inbound -Protocol UDP -LocalPort 3478 -Action Allow
Только для своих адресов
# allow only one address or network (replace 203.0.113.0/24) iptables -A INPUT -p tcp --dport 3478 -s 203.0.113.0/24 -j ACCEPT iptables -A INPUT -p udp --dport 3478 -s 203.0.113.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 3478 -j DROP iptables -A INPUT -p udp --dport 3478 -j DROP ufw allow from 203.0.113.0/24 to any port 3478 proto tcp ufw allow from 203.0.113.0/24 to any port 3478 proto udp /ip firewall filter add chain=input protocol=tcp dst-port=3478 src-address=203.0.113.0/24 action=accept /ip firewall filter add chain=input protocol=udp dst-port=3478 src-address=203.0.113.0/24 action=accept /ip firewall filter add chain=input protocol=tcp dst-port=3478 action=drop /ip firewall filter add chain=input protocol=udp dst-port=3478 action=drop
Если сервер за роутером, нужен ещё проброс порта (dst-nat) на роутере. За CGNAT провайдера (адрес 100.64.0.0/10 на WAN) проброс не поможет — нужен белый IP или VPN.
Кто слушает порт
Проверка на сервере
# what listens on the port ss -lntup | grep ':3478 ' netstat -ano | findstr :3478 # Windows lsof -i :3478 # macOS # test from another machine nc -vz example.com 3478