В академических целях так скать... Вопрос в следующем: почему я могу, скажем, позвонить на тестовый extension 1000@demo в астериске и услышать приятный голос, если таблица INPUT выглядит так (на сервере, где установлен asterisk):
root@mx:~# iptables --line-numbers -vnL INPUT
Chain INPUT (policy DROP 689 packets, 136K bytes)
num pkts bytes target prot opt in out source destination
1 72884 4197K fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
2 2930K 310M allowed all -- * * 0.0.0.0/0 0.0.0.0/0
3 473K 29M tcp_allowed all -- * * 0.0.0.0/0 0.0.0.0/0
4 4437 384K udp_allowed all -- * * 0.0.0.0/0 0.0.0.0/0
root@mx:~# iptables --line-numbers -vnL udp_allowed
Chain udp_allowed (1 references)
num pkts bytes target prot opt in out source destination
1 10 6903 ACCEPT udp -- * * a.b.c.d 0.0.0.0/0 udp dpt:5060
А как же RTP и порты с 10000-20000. Они ведь «закрыты». Да, нет
root@mx:~# tcpdump -i eth0 host a.b.c.d and not port 22 -nnn -c 30
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
21:31:36.970168 IP a.b.c.d.5060 > e.f.g.h.5060: SIP, length: 2
21:31:38.178520 IP a.b.c.d.5060 > e.f.g.h.5060: SIP, length: 1136
21:31:38.179763 IP e.f.g.h.5060 > a.b.c.d.5060: SIP, length: 604
21:31:38.254658 IP a.b.c.d.5060 > e.f.g.h.5060: SIP, length: 382
21:31:38.996031 IP a.b.c.d.5060 > e.f.g.h.5060: SIP, length: 1302
21:31:38.996912 IP e.f.g.h.5060 > a.b.c.d.5060: SIP, length: 544
21:31:39.997638 IP e.f.g.h.5060 > a.b.c.d.5060: SIP, length: 917
21:31:40.072986 IP a.b.c.d.5065 > e.f.g.h.11627: UDP, length 1
21:31:40.083025 IP a.b.c.d.5060 > e.f.g.h.5060: SIP, length: 593
21:31:40.083132 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 1
21:31:40.207751 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.226420 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.253031 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.263320 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.281597 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.431432 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.445943 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.452439 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.458892 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.486597 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.506960 IP e.f.g.h.11626 > a.b.c.d.5064: UDP, length 172
21:31:40.517349 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.523973 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.528833 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.534508 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.540590 IP e.f.g.h.11626 > a.b.c.d.5064: UDP, length 172
21:31:40.549433 IP e.f.g.h.11626 > a.b.c.d.5064: UDP, length 172
21:31:40.569699 IP e.f.g.h.11626 > a.b.c.d.5064: UDP, length 172
21:31:40.570685 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
21:31:40.577345 IP a.b.c.d.5064 > e.f.g.h.11626: UDP, length 172
30 packets captured
33 packets received by filter
0 packets dropped by kernel
Неужели conntrack? Так ведь udp stateless. Ну ладно, от греха подальше
root@mx:~# iptables -vnL PREROUTING -t raw
Chain PREROUTING (policy ACCEPT 2701 packets, 273K bytes)
pkts bytes target prot opt in out source destination
852 169K LOG udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpts:10000:20000 LOG flags 0 level 4 prefix `RAW RTP: '
676 134K NOTRACK udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpts:10000:20000
Всё равно звоню. Что я просмотрел? Пока одним глазом смотрю RFC :)
root@mx:~# iptables --line-numbers -vnL allowed
Chain allowed (1 references)
num pkts bytes target prot opt in out source destination
1 64569 5299K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
2 2359K 273M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
3 34830 3335K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 8
root@mx:~# iptables --line-numbers -vnL tcp_allowed
Chain tcp_allowed (1 references)
num pkts bytes target prot opt in out source destination
1 81244 4870K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW
2 56 2976 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
3 41 2140 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:993
4 382K 23M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:10050