Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam,
Mam problem z kolejkowaniem za pomocą ipfw na bridge. Moje configi:
loader.conf
zfs_load="YES" kern.geom.label.gptid.enable="0" net.inet.ip.fw.default_to_accept="1" dummynet_load="YES" if_bridge_load="YES" ipfw_load="YES"
sysctl.conf
net.inet.ip.dummynet.hash_size=4096 net.link.bridge.ipfw=1 net.link.ether.ipfw=1 net.inet.ip.fw.one_pass=1
rc.conf
hostname="freebsd" keymap="pl_PL.ISO8859-2.kbd" cloned_interfaces="bridge0" ifconfig_bridge0="addm em0 addm em1 SYNCDHCP" ifconfig_em0="up" ifconfig_em1="up" sshd_enable="YES" # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable dumpdev="AUTO" zfs_enable="YES" firewall_enable="YES" firewall_type="open"
Wszystko jest ok dopóki nie odpale skryptu do ipfw, który ma nastepującą zawartość:
IPF="ipfw" $IPF -f flush $IPF table all -f flush $IPF add 50 check-state $IPF add 130 pipe 7 ip from any to 'table(5)' in $IPF pipe 7 config bw 256Kbit/s mask dst-ip 0x000000ff $IPF add 8000 allow all from any to any
po odpaleniu skryptu wywala kernel panic i leci restart maszyny... Nie ważne czy jest to GENERIC kerenl czy CUSTOM... Kernel mam najnowszy z svn dla 10.1, przekompilowałem GENERIC z dodatkowymi opcjami:
options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT options DUMMYNET options HZ=1000
Czy ktoś mi powie co jest nie tak?
Offline
'table(5)' ?
Offline
Yampress można deko jaśniej? bo nie kumam ;)
Offline
Nie pamietam już ipf. Nic nie pomogę. :(
Nawet jakiś czas temu wywaliłem notatki o tym.
Ten zapis table(5) skąd go wziąłeś? co nim chcesz zrobić? Nie definiujesz nic co jest w tej tabeli
a stany keep state?
Offline
Sprobuj wywalic ta linijke
$IPF add 130 pipe 7 ip from any to 'table(5)' in
i sprawdz co sie bedzie dzialo. Jak pojdzie to wiesz gdzie jest problem.
Offline
dobra z kernel panic sobie poradziłem, wyrzuciłem opcję:
net.link.ether.ipfw=1
one_pass dałem na 0 i mój skrypt wygląda następująco:
#!/bin/sh IPF="ipfw" $IPF -f flush $IPF -f pipe flush $IPF add 50 check-state $IPF pipe 7 config bw 256Kbit/s mask dst-ip 0x000000ff $IPF add 130 pipe 7 ip from any to 192.168.0.0/24 $IPF add 8000 allow all from any to any
jak widać poniżej pakiety latają, więc dlaczego nie przycina łącza każdemu ip do 256kbit?
root@hawks:~ # ipfw show 00050 0 0 check-state 00130 87 7576 pipe 7 ip from any to 192.168.0.0/24 08000 102 14924 allow ip from any to any 65535 337 33808 allow ip from any to any root@hawks:~ # ipfw pipe 7 show 00007: 256.000 Kbit/s 0 ms burst 0 q131079 50 sl. 0 flows (1 buckets) sched 65543 weight 0 lmax 0 pri 0 droptail sched 65543 type FIFO flags 0x1 4096 buckets 2 active mask: 0x00 0x00000000/0x0000 -> 0x000000ff/0x0000 BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp 15 ip 0.0.0.0/0 0.0.0.15/0 54 5968 0 0 0 18 ip 0.0.0.0/0 0.0.0.18/0 73 4792 0 0 0
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00119 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.9.80' WHERE u.id=1 |
0.00072 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.9.80', 1733341302) |
0.00054 | SELECT * FROM punbb_online WHERE logged<1733341002 |
0.00068 | DELETE FROM punbb_online WHERE ident='18.191.212.146' |
0.00053 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27051 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00219 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27051 ORDER BY p.id LIMIT 0,25 |
0.00075 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27051 |
Total query time: 0.0068 s |