Portál AbcLinuxu, 7. května 2025 01:17
# iptables-save | wc -l
" mi vrátí 1208 a při zaplém shaperu 3770
tak to již není optimální.
Jsem shopen to asi vyřešit upgradem železa za něco pořádného (z obstarožních důvodů běží stále na 8*@3,7Ghz, 32GB RAM a navíc je shaper virtualizován (kvůli možnosti migrace na jiný stroj v případě HW problémů).
Měl bych více dotazů:
Řešení dotazu:
# nov/28/2020 10:28:32 by RouterOS 6.47.8 # software id = N4XT-6Y5V # # model = RBD52G-5HacD2HnD # serial number = CB380B1ED510 /queue simple add max-limit=100M/100M name=QoS_Global target=bridge1 add limit-at=10M/10M max-limit=20M/20M name=QoS_1_Telefony packet-marks=QoS_Telefony parent=QoS_Global priority=1/1 queue=pcq-upload-default/pcq-download-default target=bridge1 total-priority=1 add limit-at=10M/10M max-limit=100M/100M name=QoS_4 packet-marks=QoS_4 parent=QoS_Global priority=4/4 queue=pcq-upload-default/pcq-download-default target=bridge1 total-priority=4 add limit-at=10M/10M max-limit=100M/100M name=QoS_6 packet-marks=QoS_6 parent=QoS_Global priority=6/6 queue=pcq-upload-default/pcq-download-default target=bridge1 add limit-at=1M/1M max-limit=90M/100M name=QoS_8_Ostatni parent=QoS_Global queue=pcq-upload-default/pcq-download-default target=bridge1 # nov/28/2020 10:33:46 by RouterOS 6.47.8 # software id = N4XT-6Y5V # # model = RBD52G-5HacD2HnD # serial number = CB380B1ED510 /ip firewall mangle add action=mark-connection chain=forward comment="VoIP odorik" dst-address-list=odorik.cz new-connection-mark=QoS_Telefony out-interface-list=WAN passthrough=yes add action=mark-connection chain=forward comment="WoWIFI vodafone" dst-address-list=WoWIFI new-connection-mark=QoS_Telefony out-interface-list=WAN passthrough=yes add action=mark-packet chain=forward connection-mark=QoS_Telefony new-packet-mark=QoS_Telefony passthrough=no add action=mark-connection chain=postrouting comment=virtual.soban.cz dst-address=37.157.199.90 new-connection-mark=QoS_4 out-interface-list=WAN passthrough=yes add action=mark-connection chain=prerouting in-interface-list=WAN new-connection-mark=QoS_4 passthrough=yes src-address=37.157.199.90 add action=mark-connection chain=postrouting comment="Spoj do zlatych hor" new-connection-mark=QoS_4 out-interface=<l2tp-Bezrucova> passthrough=yes add action=mark-connection chain=prerouting in-interface=<l2tp-Bezrucova> new-connection-mark=QoS_4 passthrough=yes add action=mark-connection chain=postrouting comment="he.net spoj" dst-address=216.66.86.122 new-connection-mark=QoS_4 out-interface-list=WAN passthrough=yes add action=mark-connection chain=prerouting in-interface-list=WAN new-connection-mark=QoS_4 passthrough=yes src-address=216.66.86.122 add action=mark-connection chain=prerouting dst-port=500,1701,4500 in-interface-list=WAN new-connection-mark=QoS_4 packet-mark=no-mark passthrough=yes protocol=udp add action=mark-packet chain=postrouting connection-mark=QoS_4 new-packet-mark=QoS_4 passthrough=no add action=mark-connection chain=postrouting comment="Internet sluzby" dst-port=22,53,80,143,443,465,587,993 new-connection-mark=QoS_6 out-interface-list=WAN packet-mark=no-mark passthrough=yes \ protocol=tcp add action=mark-connection chain=postrouting dst-port=53 new-connection-mark=QoS_6 out-interface-list=WAN packet-mark=no-mark passthrough=yes protocol=udp add action=mark-packet chain=postrouting connection-mark=QoS_6 new-packet-mark=QoS_6 passthrough=no # nov/28/2020 10:34:38 by RouterOS 6.47.8 # software id = N4XT-6Y5V # # model = RBD52G-5HacD2HnD # serial number = CB380B1ED510 /ipv6 firewall mangle add action=mark-connection chain=postrouting comment="IPv6 Bezrucova O2" dst-address=2a00:1028:83cc:46e6::/64 new-connection-mark=QoS_4 out-interface-list=WAN passthrough=yes add action=mark-connection chain=prerouting in-interface-list=WAN new-connection-mark=QoS_4 passthrough=yes src-address=2a00:1028:83cc:46e6::/64 add action=mark-connection chain=postrouting comment=virtual.soban.cz dst-address=2a02:2b88:2:1::/64 new-connection-mark=QoS_4 out-interface-list=WAN passthrough=yes add action=mark-connection chain=prerouting in-interface-list=WAN new-connection-mark=QoS_4 passthrough=yes src-address=2a02:2b88:2:1::/64 add action=mark-packet chain=postrouting connection-mark=QoS_4 new-packet-mark=QoS_4 passthrough=no add action=mark-connection chain=postrouting comment="internet sluzby" dst-port=22,53,80,143,443,465,587,993 new-connection-mark=QoS_6 out-interface-list=WAN packet-mark=no-mark passthrough=yes \ protocol=tcp add action=mark-connection chain=postrouting dst-port=53 new-connection-mark=QoS_6 out-interface-list=WAN packet-mark=no-mark passthrough=yes protocol=udp add action=mark-packet chain=postrouting connection-mark=QoS_6 new-packet-mark=QoS_6 passthrough=no
i7 980, 8GB ram, +
03:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
a 15min loadAvg 0,04...
Takže největší problém bude nejspíš s implementací kvm virtio ethernet driverem.
Takto mi to zatím stačí. I tak se podívám během zimních večerů na možnost to vše řešit přes microtik (zatím bych musel upravit generování z administrace atd).
Zbývá mi jedna otázka s podporou ipv6.
Prometheus čte konfiguraci z /etc/prometheus/hosts ve tvaru "192.168.8.65 client-91 #via-prometheus-60000-120000",
na čež z toho vygeneruje cca:
shaper ~ # iptables-save | grep 192.168.8.65
-A forw_192_168_8_64_29 -s 192.168.8.65/32 -o eth1 -j CLASSIFY --set-class 0001:2281
-A forw_192_168_8_64_29 -s 192.168.8.65/32 -o eth1 -j ACCEPT
-A post_192_168_8_64_29 -d 192.168.8.65/32 -o eth0 -j CLASSIFY --set-class 0001:2281
-A post_192_168_8_64_29 -d 192.168.8.65/32 -o eth0 -j ACCEPT
-A INPUT -s 192.168.8.65/32 -j ACCEPT
-A FORWARD -d 192.168.8.65/32 -j ACCEPT
-A FORWARD -s 192.168.8.65/32 -j ACCEPT
-A OUTPUT -d 192.168.8.65/32 -j ACCEPT
shaper ~ # tc qdisc show | grep 2281
qdisc sfq 2281: dev eth0 parent 1:2281 limit 127p quantum 1514b depth 127 divisor 1024 perturb 5sec
qdisc sfq 2281: dev eth1 parent 1:2281 limit 127p quantum 1514b depth 127 divisor 1024 perturb 5sec
S ipv6 jsem schopen do /etc/prometheus/hosts napsat subnet napr "2001:db8:2::0/64"
ale vystup se jiz generuje spatne
-A post_2001:db8:2::0/64 -d 2001:db8:2::0/64/29 -o eth0 -j post_2001:db8:2::0/64
-A post_2001:db8:2::0/64 -d 2001:db8:2::0/64/29 -o eth0 -j post_common
-A forw_2001:db8:2::0/64 -s 2001:db8:2::0 -o eth1 -j forw_2001:db8:2::0/64
-A forw_2001:db8:2::0/64 -s 2001:db8:2::0/64/29 -o eth1 -j forw_common
-A post_2001:db8:2::0/64 -d 2001:db8:2::0/64/32 -o eth0 -j CLASSIFY --set-class 1:2282
-A post_2001:db8:2::0/64 -d 2001:db8:2::0/64/32 -o eth0 -j ACCEPT
-A forw_2001:db8:2::0/64 -s 2001:db8:2::0/64/32 -o eth1 -j CLASSIFY --set-class 1:2282
-A forw_2001:db8:2::0/64 -s 2001:db8:2::0/64/32 -o eth1 -j ACCEPT
qdisc sfq 2282: dev eth0 parent 1:2282 limit 127p quantum 1514b depth 127 divisor 1024 perturb 5sec
qdisc sfq 2282: dev eth1 parent 1:2282 limit 127p quantum 1514b depth 127 divisor 1024 perturb 5sec
Asi by nebyl problem to "/64/29" opravit pres sed nez to pujde do iptables, ale neprijde mi to moc systemove reseni.
našel jsem, že to někdo i zkoušel ale jen na /128 https://github.com/Arachne-Labs/Prometheus-QoS/commit/64b2d1255780905c78973df33145c93ee5613c9c
Nezná někdo nějakého nástupce prometheuse, případně jak toto řešit?
Děkuji
root@igw:~# iptables -L |wc -l 88 root@igw:~# iptables -L -t mangle --lin -v Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 1694M 2982G CLASSIFY all -- eth0 any anywhere anywhere CLASSIFY set 1:9999 2 1237M 378G CLASSIFY all -- eth2 any anywhere anywhere CLASSIFY set 1:9999 3 1694M 2982G SET all -- eth0 any anywhere anywhere map-set qos dst map-prio 4 1237M 378G SET all -- eth2 any anywhere anywhere map-set qos src map-prio
Jde nějak upravit aby jádro využívalo více procesorových jader pro síťování?To se neděje? Jsem myslel že celé to odstraňování Big Kernel Locku bylo přesně aby fungovalo tohle.
Spíš je otázka jak moc je to funkční u virtio. Nějaké lehká dokumentace k tomu je, ale víc jsem hledat nezkoušel.Jde nějak upravit aby jádro využívalo více procesorových jader pro síťování?To se neděje? Jsem myslel že celé to odstraňování Big Kernel Locku bylo přesně aby fungovalo tohle.
RATE=500Kbit CEIL=50000Kbit BURST=128k LEAF=sfq PRIO=4 PERTURB=10 RULE=1.2.3.4 RULEIPv6=::1:2:3:4Pokud chces resit i upload, vypada to podobne, jen tady je presne to misto, kde potrebujes pouzit MARK, protoze v okamzik, kdy to shapujes, uz ses za NATem = srcIP uz je ta verejna. Ale je to jeden mark per uzivatel, coz by navic IMO slo posefovat mozna i jedinym pravidlem, pokud budes markovat trebas casti IPcka. --- Dete s tim guuglem dopice!
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.