Traffic Shaper Rules und Firewall Time shedules

Started by NicholasRush, May 03, 2020, 02:59:24 PM

Previous topic - Next topic
Hallo zusammen,

mir ist aufgefallen, dass der Traffic Shaper seit Version 20.1 unter "Status" leider keine Umfassenden Informationen mehr anzeigt. Vorher war das ja die 1:1 Ausgabe des Shellkommandos.

Zudem habe ich einige Firewall Regeln, welche Zeitabhängig gelten sollen. So gibt es z.B. eine Zeitabhängige Regel welche meinem Freifunk Router erlaubt von 8 - 20 Uhr ins Internet zu kommen und ab 20 Uhr soll dann auch die aufgebaute UDP Verbindung zur Supernode getrennt werden. Dies passiert aber leider meistens erst 4 Stunden später. An den Zeiteinstellungen kann es auch nicht liegen, die sind auf meine Ortszeit eingestellt.

Meine Vermutung ist, dass mit dem pfctl Command etwas nicht stimmt.

Gruß
NR

Hi NR,

"20.1" müsstest du präzisieren. Ich denke du meist 20.1.5? Das alte Kommando kann man über die Kommandozeile abrufen. Die GUI zeigt dort jetzt aufgearbeitete Daten.

Der Scheduler greift nur alle 15 Minuten und lässt im schlimmsten Fall bestehende Verbindungen bestehen. Am einfachsten kann man das mit einem Ping testen: der alte Ping läuft weiter, ein neuer wird blockiert wenn alles richtig eingestellt ist und das Zeitfenster abgelaufen ist.


Grüsse
Franco

May 03, 2020, 05:31:50 PM #2 Last Edit: May 03, 2020, 06:57:06 PM by NicholasRush
Hi franco,

installiert ist 20.1.6. Bei dem Shaper werden leider die Rules und Flows gar nicht angezeigt, es passiert leider auch nichts wenn man die beiden Kontrollkästchen anhakt und den Aktualisieren Button daneben drückt.

Das Problem mit dem Scheduler ist genau das, dass er die bestehenden Verbindungen nicht beendet. Doch genau so müsste es normalerweise passieren. Es gibt dazu auch auf der Firewall Einstellungsseite eine Einstellung. Die Default Einstellung ist, dass alle bestehenden Verbindungen beendet werden sollen. Hakt man diesen an sollen bestehende Verbindungen von der Scheduling Regeln unangetastet bleiben und nur neue Verbindungen betreffen.

Gruß
NR

Gibt die API Daten aus? Bitte folgende URL prüfen:

https://xxxxx/api/trafficshaper/service/statistics

Ad sagte es könnte auch ein JavaScript Problem sein. Gibt es Output in der Dev Console? Was sagt ein anderer Browser dazu?

(Scheduler klären wir später.)


Grüsse
Franco

Ja die API gibt Daten aus. Die Json Datei habe ich als Anhang angehängt.

Ich habe Chrome und Firefox im Inkognito Modus getestet, bei beiden funktioniert es leider nicht.

Gruß
NR

Siehst du das auch so? https://imgur.com/a/xkMvNWY

Laut Ad haben die Regeln einfach keine Treffer, d.h. höchstwahrscheinlich nicht korrekt konfiguriert.


Grüsse
Franco

Quote from: franco on May 05, 2020, 10:48:00 AM
Siehst du das auch so? https://imgur.com/a/xkMvNWY

Laut Ad haben die Regeln einfach keine Treffer, d.h. höchstwahrscheinlich nicht korrekt konfiguriert.


Grüsse
Franco
Sieht bei mir genauso aus. Die ipfw.rules werden aber genauso geschrieben wie vorher:


#======================================================================================
# flush ruleset
#======================================================================================
flush

#======================================================================================
# define dummynet pipes
#======================================================================================
pipe 10000 config bw 10Mbit/s type  wf2q+
pipe 10001 config bw 12Mbit/s type  wf2q+
pipe 10002 config bw 63Mbit/s type  wf2q+
pipe 10003 config bw 20Mbit/s type  wf2q+
pipe 10004 config bw 2Mbit/s type  wf2q+

#======================================================================================
# define dummynet queues
#======================================================================================
queue 10000 config pipe 10000 weight 3
queue 10002 config pipe 10000 weight 9
queue 10003 config pipe 10001 mask src-ip 0xffffffff  weight 8 pie

queue 10004 config pipe 10002 mask dst-ip 0xffffffff  weight 8 pie

queue 10005 config pipe 10001 weight 12 codel  target 1  interval 3  noecn
queue 10006 config pipe 10002 weight 12 codel  target 1  interval 3  noecn


#======================================================================================
# general purpose rules 1...1000
#======================================================================================
add 100 allow pfsync from any to any
add 110 allow carp from any to any
# layer 2: pass ARP
add 120 pass layer2 mac-type arp,rarp
# OPNsense requires for WPA
add 130 pass layer2 mac-type 0x888e,0x88c7
# PPP Over Ethernet Session Stage/Discovery Stage
add 140 pass layer2 mac-type 0x8863,0x8864
# layer 2: block anything else non-IP(v4/v6)
add 150 deny layer2 not mac-type ip,ipv6

# allow traffic send from localhost
add 200 skipto 60000 ipv6 from ::1 to any
add 201 skipto 60000 ipv4 from 127.0.0.0/8 to any
add 202 skipto 60000 ipv6 from any to ::1
add 203 skipto 60000 ipv4 from any to 127.0.0.0/8

#======================================================================================
# Allow traffic to this host
#======================================================================================



#======================================================================================
# redirect non-authenticated clients to captive portal @ local port 8000 + zoneid
#======================================================================================


#======================================================================================
# accept traffic from all interfaces not used by captive portal
#======================================================================================
# let the responses from the captive portal web server back out
add 6000 skipto 60000 tcp from any to any out
# forward unauthorized traffic from captiveportal interfaces to block rule
# send all the rest to the traffic shaper rules
add 6199 skipto 60000 all from any to any


#======================================================================================
# 30000 .... 49999 reserved for captive portal accounting rules
#======================================================================================


#======================================================================================
# traffic shaping section, authorized traffic
#======================================================================================
add 60000 return via any

add 60001 queue 10000 ip from 192.168.25.80 to 192.168.27.152 src-port  any dst-port any    via ovpns2 // 50f651c5-430e-4b51-b112-59cac967d1f3 opt1: Q_UP-OpenVPN site-to-site 10Mbit-Nas_to_NAS
add 60002 queue 10002 ip from any to any src-port  any dst-port any    via ovpns2 // 191571d9-6638-4bf7-a7b1-a14f078a0a26 opt1: Q_UP-OpenVPN site-to-site 10Mbit-any
add 60003 queue 10005 tcp from 192.168.25.3 to 192.168.31.1 src-port  5060 dst-port 5060 out   via igb1 // 2e0bc68d-652b-4577-bbf9-cfde513505f5 wan: Q_WAN-PipeUp-12Mbps-VOIP
add 60004 queue 10005 udp from 192.168.25.3 to 192.168.31.1 src-port  5060 dst-port 5060 out   via igb1 // d566b5ac-c0f7-4e62-9c8b-a1c7de0186da wan: Q_WAN-PipeUp-12Mbps-VOIP
add 60005 queue 10005 udp from 192.168.25.3 to 192.168.31.1 src-port  7078-7109 dst-port 10000-11000 out   via igb1 // aa43f31d-28c8-49b6-8c33-1fe2ef0629ed wan: Q_WAN-PipeUp-12Mbps-VOIP
add 60006 queue 10006 tcp from 192.168.31.1 to 192.168.25.3 src-port  5060 dst-port 5060 in   via igb1 // c1c3c469-5978-4a2c-8b64-c3a0a2f6df38 wan: Q_WAN-PipeDown-63Mbps-VOIP
add 60007 queue 10006 udp from 192.168.31.1 to 192.168.25.3 src-port  5060 dst-port 5060 in   via igb1 // 9f58a09b-7910-4a30-a3a9-0086f2301455 wan: Q_WAN-PipeDown-63Mbps-VOIP
add 60008 queue 10006 udp from 192.168.31.1 to 192.168.25.3 src-port  10000-11000 dst-port 7078-7109 in   via igb1 // c608f365-02c0-46a1-8882-3cd43e361536 wan: Q_WAN-PipeDown-63Mbps-VOIP
add 60009 queue 10003 ip from 192.168.25.0/24 to any src-port  any dst-port any    via igb1 // dd7d88d5-3c75-4309-a2ab-baaf461c2365 wan: Q_WAN-PipeUp-12Mbps
add 60010 queue 10004 ip from any to 192.168.25.0/24 src-port  any dst-port any    via igb1 // eb4c2079-afa9-4f44-86a6-60c81ada17e4 wan: Q_WAN-PipeDown-63Mbps
add 60011 pipe 10003 ip from any to any src-port  any dst-port any recv igb1     xmit igb2 // fc9b34e7-9260-4254-86c8-fab2e0dacd3b wan -> opt2: Transit-Freifunk-Download
add 60012 pipe 10004 ip from any to any src-port  any dst-port any xmit igb1     recv igb2 // 3da54e19-e172-4ba1-8522-cc9c0b54d245 opt2 -> wan: Transit-Freifunk-Upload



# pass authorized
add 65533 pass ip from any to any

# block all unmatched
add 65534 deny all from any to any

Da leider hier weiter nichts mehr kam, habe ich auf einer Test-VM mal geschaut, ob meine Regeln fehlerhaft sind oder es tatsächlich ein Bug ist, der verhindert das meine Regeln angezeigt werden.

Bezogen auf meine weiter oben geposteten Regeln, reicht es aus Transit-Freifunk, sowie die Openvpn-Pipes,Ques und Rules zu deaktivieren und beim WAN Interface werden dann meine Rules und Flows angezeigt.

Meine Vermutung ist, dass es in der PHP-Datei die, die API-Ausgabe bereit stellt einen Buffer Overflow gibt, sofern es zu viele Regeln gibt.

Gibt es denn schon etwas neues bzgl. der Time shedules?

Viele Grüße
NR