nftables und sip/voip

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
elmurruk
Beiträge: 15
Registriert: 10.03.2013 19:49:19

nftables und sip/voip

Beitrag von elmurruk » 09.08.2017 12:01:51

Hallo,

habe gerade das Problem, das ich das Connection-Tracking mit nftables in Bezug auf sip nicht hinbekomme. :cry:

Umgebung: Internes Netz mit SIP-Telefonen (externer Provider), Debian 9 Firewall mit NAT (Masquerade)
Problem: Anrufe sind möglich, Telefone klingeln, aber es ist nichts zu hören. (Typisches ct-Problem)

Die Module nf_nat_sip und nf_conntrack_sip sind geladen.
Die notwendige Ports wurden aus der alten IPTables-Firewall entnommen.

Laut dem nft-Wiki kann hierfür ein "ct-helper" verwendet werden, ich verstehe aber nicht, wie dieser in die Config eingebaut werde soll. :?

EDIT: Habe eben erst gesehen, das für die ct-helper Module nft 0.8 und Kernel 4.12 (Debian Stable 0.7 und 4.9) notwendig sind. 8O Gibt es hierfür einen Workaround? Oder kann es wirklich sein, das SIP+Firewall mit Debian 9 nicht möglich ist???

Meine aktuelle Firewall-Config sieht (gekürzt) so aus (SIP-Forward ist ganz unten):

Code: Alles auswählen

#!/usr/sbin/nft -f

flush ruleset

# Interfaces
define lan_iface = ens192
define inet_iface = ens224

# SIP-Ports
define int2ext_udp_sip = { 3478, 5004, 5060, 5160, 5104-5120, 10000 }

# Nat
table ip nat {
        chain prerouting {
                type nat hook prerouting priority 0;
				...
        }
        chain postrouting {
                type nat hook postrouting priority 100;
                oifname $inet_iface masquerade
        }
}
table inet filter {
	chain input {
		type filter hook input priority 0; policy drop;
		...
	}
	chain output {
		type filter hook output priority 0; policy drop;
		...
	}
	chain forward {
			type filter hook forward priority 0; policy drop;
			...
			# SIP
			iifname $lan_iface oifname $inet_iface udp dport $int2ext_udp_sip accept
	}
}
Hat jemand vielleicht zufällig ein Beispiel, dass er posten könnte? Würde mir echt weiter hefen!
Vielen Dank!

Gruß,
Marc

Antworten