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/.
Wracam do mojego problemu z nadzieją, że ktoś mi pomoże.
Na Ubuntu 6.06 uruchomiłem skrypt "kolejka" w pliku upier...list podstawiałem różne konfiguracje dla userów.
Wszystko chodziło dobrze, jednak skrypt pisany był pod łącze 512 i karty 10Mbit.
Zacząłem przerabiać skrypt dla swoich potrzeb.
Ja mam 2M łącze i podzieliłem je na 6 komputerów.
I coś spieprzyłem, nie pomogły też próby odpalenia oryginalnego skryptu.
"kolejka" działała razem ze skryptem "add_host" ten działa bez zarzutów.
A od paru dni przy próbie odpalenia kolejki dostaję komunikat:
[color=red]iptables: chain already exist[/color]
[color=green]firewall wygląda tak:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT
iptables -A INPUT -s 0/0 -d 192.168.0.1 -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -s 0/0 -d 192.168.0.1 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 0/0 -d 192.168.0.1 -p udp --dport 22 -j ACCEPT
iptables -A FORWARD -s 0/0 -d 192.168.0.1 -p udp --dport 22 -j ACCEPT
iptables -A INPUT -s 0/0 -d 192.168.0.1 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 0/0 -d 192.168.0.1 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 0/0 -d 192.168.0.1 -p udp --dport 80 -j ACCEPT
iptables -A FORWARD -s 0/0 -d 192.168.0.1 -p udp --dport 80 -j ACCEPT
# iwonnnka - chata
iptables -t nat -A POSTROUTING -s 192.168.0.2 -j MASQUERADE
iptables -A FORWARD -m mac --mac-source xx:42:f8 -j ACCEPT
# piaaachu - Nigdzie
iptables -t nat -A POSTROUTING -s 192.168.0.3 -j MASQUERADE
iptables -A FORWARD -m mac --mac-source xx:64:cf -j ACCEPT
# olenaaka - Ngdzie
iptables -t nat -A POSTROUTING -s 192.168.0.4 -j MASQUERADE
iptables -A FORWARD -m mac --mac-source xx :87:33 -j ACCEPT
# Jaaaacek - wyzej
iptables -t nat -A POSTROUTING -s 192.168.0.5 -j MASQUERADE
iptables -A FORWARD -m mac --mac-source xx:dd:86 -j ACCEPT
[/color]
No i ta nieszczęsna koleja:
[color=green]
#!/usr/bin/perl
#
# Kolejkowanie ver 0.000000000001 beta
# create by BiExi
#
# $debugowanie = 0;
$cid = 5;
$handl = 320;
$zrodlo = 600;
open (PLIK_SHIT, "/home/piachu/firewall/upierdalacz.list") or die "open $alert_file: $!n";
{
sleep 1;
if (seek(PLIK_SHIT,0,1))
{
# - — ---[ ruch przychodzacy ]--- — -
system "tc qdisc del dev eth1 root handle 1:0 htb";
system "tc qdisc add dev eth1 root handle 1:0 htb";
system "tc class add dev eth1 parent 1:0 classid 1:1 htb rate 10mbit ceil 11mbit quantum 768";
system "tc class add dev eth1 parent 1:1 classid 1:2 htb rate 2000kbit ceil 2000kbit quantum 170";
system "tc class add dev eth1 parent 1:1 classid 1:3 htb rate 9000kbit ceil 9000kbit quantum 768";
system "tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip src 192.168.0.1 flowid 1:3";
system "tc qdisc add dev eth1 parent 1:3 handle 299:0 sfq perturb 10";
# - — ---[ ruch wychodzacy ]--- — -
system "tc qdisc del dev eth0 root handle 1:0 htb";
system "tc qdisc add dev eth0 root handle 1:0 htb";
system "tc class add dev eth0 parent 1:0 classid 1:1 htb rate 9000kbit ceil 9000kbit quantum 768";
system "tc class add dev eth0 parent 1:1 classid 1:2 htb rate 2300kbit ceil 2300kbit quantum 204";
system "tc qdisc add dev eth0 parent 1:2 handle 2:0 sfq perturb 10";
system "tc filter add dev eth0 protocol ip preference 1 parent 1:0 handle 2000 fw flowid 1:2";
system "iptables -t mangle -N UPIERDALACZ_ETH0";
system "iptables -t mangle -D POSTROUTING -o eth0 -j UPIERDALACZ_ETH0";
system "iptables -t mangle -I POSTROUTING -o eth0 -j UPIERDALACZ_ETH0";
while (<PLIK_SHIT>)
{
chop;
next if (/^s*$/); # wyjazd z pustymi liniami
next if (/^#/); # wyjazd z #
if (/(d+.d+.d+.d+) ; (d+) ; (d+) ; (d+) ; (S+)/)
{
print "| Kolejka na eth1 RUCH PRZYCHODZACY dla IP:$1 rate: $2kbit cail: $3kbitn";
system "tc class add dev eth1 parent 1:2 classid 1:$cid htb rate $2kbit ceil $3kbit quantum 3 burst 3k";
system "tc filter add dev eth1 protocol ip preference 2 parent 1:0 u32 match ip dst $1 flowid 1:$cid";
system "tc qdisc add dev eth1 parent 1:$cid handle $handl:0 sfq perturb 10";
print "| Kolejka na eth1 RUCH WYCHODZACY dla IP:$1 rate: $4kbit cail: $4kbitn";
system "tc class add dev eth0 parent 1:2 classid 1:$cid htb rate $4kbit ceil $4kbit quantum 3 burst 3k";
system "tc qdisc add dev eth0 parent 1:$cid handle $handl:0 sfq perturb 10";
system "tc filter add dev eth0 protocol ip preference 2 parent 1:0 handle $zrodlo fw flowid 1:$cid";
system "iptables -t mangle -D UPIERDALACZ_ETH0 -p tcp -s $1 -j MARK --set-mark $zrodlo >>/dev/null";
system "iptables -t mangle -A UPIERDALACZ_ETH0 -p tcp -s $1 -j MARK --set-mark $zrodlo";
$cid = $cid + 1;
$handl = $handl + 1;
$zrodlo = $zrodlo + 1;
}
} # end while
} # end if seek
} # end for
close PLIK_SHIT;
system "iptables -t mangle -A UPIERDALACZ_ETH0 -m mark --mark 0 -j MARK --set-mark 2000";[/color]
Chciałem to przerobić dla łącza 2Mbit i coś pochrzaniłem, teraz nawet w wersji pierwotnej by BiExi http://www.dug.net.pl/texty/htb.php nie chodzi,
A wcześniej ładnie podawał komunikaty o tym co komu przydzielił,
iptables wygląda tak:
[color=green]# Generated by iptables-save v1.3.3 on Wed Apr 25 22:09:19 2007
*mangle
:PREROUTING ACCEPT [124414:68899399]
:INPUT ACCEPT [1646:770983]
:FORWARD ACCEPT [122768:68128416]
:OUTPUT ACCEPT [1051:134731]
:POSTROUTING ACCEPT [123895:68278163]
:UPIERDALACZ_ETH0 - [0:0]
-A POSTROUTING -o eth0 -j UPIERDALACZ_ETH0
-A UPIERDALACZ_ETH0 -m mark --mark 0x0 -j MARK --set-mark 0x7d0
-A UPIERDALACZ_ETH0 -m mark --mark 0x0 -j MARK --set-mark 0x7d0
-A UPIERDALACZ_ETH0 -m mark --mark 0x0 -j MARK --set-mark 0x7d0
COMMIT
# Completed on Wed Apr 25 22:09:19 2007
# Generated by iptables-save v1.3.3 on Wed Apr 25 22:09:19 2007
*nat
:PREROUTING ACCEPT [4181:255113]
:POSTROUTING ACCEPT [199:17324]
:OUTPUT ACCEPT [199:17324]
-A POSTROUTING -s 192.168.0.2 -j MASQUERADE
-A POSTROUTING -s 192.168.0.3 -j MASQUERADE
-A POSTROUTING -s 192.168.0.4 -j MASQUERADE
-A POSTROUTING -s 192.168.0.5 -j MASQUERADE
-A POSTROUTING -s 192.168.0.6 -j MASQUERADE
-A POSTROUTING -s 192.168.0.7 -j MASQUERADE
-A POSTROUTING -s 192.168.0.8 -j MASQUERADE
-A POSTROUTING -s 192.168.0.9 -j MASQUERADE
COMMIT
# Completed on Wed Apr 25 22:09:19 2007
# Generated by iptables-save v1.3.3 on Wed Apr 25 22:09:19 2007
*filter
:INPUT DROP [797:86121]
:FORWARD DROP [1:48]
:OUTPUT ACCEPT [291:30594]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -d 192.168.0.1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -d 192.168.0.1 -p udp -m udp --dport 22 -j ACCEPT
-A INPUT -d 192.168.0.1 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -d 192.168.0.1 -p udp -m udp --dport 80 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o lo -j ACCEPT
-A FORWARD -d 192.168.0.1 -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -d 192.168.0.1 -p udp -m udp --dport 22 -j ACCEPT
-A FORWARD -d 192.168.0.1 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -d 192.168.0.1 -p udp -m udp --dport 80 -j ACCEPT
-A FORWARD -m mac --mac-source xx:42:F8 -j ACCEPT
-A FORWARD -m mac --mac-source xx:64:CF -j ACCEPT
-A FORWARD -m mac --mac-source xx:87:33 -j ACCEPT
-A FORWARD -m mac --mac-source xx:DD:86 -j ACCEPT
-A FORWARD -m mac --mac-source xx:AA:69:6F -j ACCEPT
-A FORWARD -m mac --mac-source xx:06:98 -j ACCEPT
-A FORWARD -m mac --mac-source xx:1D:E0:77 -j ACCEPT
-A FORWARD -m mac --mac-source xx:5F:2B -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Wed Apr 25 22:09:19 2007[/color]
MAC'i są obcięte przezmnie
Oryginalne skrypty są tu:
[color=blue]Udostepnianie: http://www.dug.net.pl/texty/masq.php
i kolejka http://www.dug.net.pl/texty/htb.php [/color]
A może polecicie mi jakieś gotowe inne proste rozwiązanie aby to jakoś się bujało. Dopuki się tego nie nauczę i poznam musi to jakoś działac oparte na pomysłach innych ludzi.
Pod Łindołem nie było problemów, ale nie mam zamiaru wracać do MS. Więc od paru miesięcy zawzięcie staram się poznać i zrozumieć Linuksa.
Pozdrawiam
Krzysztof
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00008 | SET NAMES latin2 |
0.00052 | 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.15.144.162' WHERE u.id=1 |
0.00070 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.15.144.162', 1738507484) |
0.00026 | SELECT * FROM punbb_online WHERE logged<1738507184 |
0.00066 | DELETE FROM punbb_online WHERE ident='3.23.103.14' |
0.00077 | DELETE FROM punbb_online WHERE ident='3.232.102.111' |
0.00094 | DELETE FROM punbb_online WHERE ident='35.171.117.160' |
0.00108 | 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=7836 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00777 | 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=7836 ORDER BY p.id LIMIT 0,25 |
0.00078 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=7836 |
Total query time: 0.0137 s |