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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-04-26 19:56:39

  piachu2 - Użytkownik

piachu2
Użytkownik
Zarejestrowany: 2007-04-21

BiExi i inni mądrzy - pomocy

Cześc!

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 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:
iptables: chain already exist
Próby: iptables -F iptables -X i inne nic nie dają.

Walczę od paru dni, czytam prawie wszystko o iptables.
Mam coraz większy mętlik w głowie,
i widzę jak jestem ciemny w tym zakresie (zresztą jak każdy wychowanek Microsoftu).
Za bardzo nie mogę eksperymentować bo by mnie ludziska (żona i córka) pobili, że sieć nie działa.

Proszę o jakąś pomoc.

Pozdrawiam
Krzysztof

Offline

 

#2  2007-04-27 00:29:01

  Libo - Użytkownik

Libo
Użytkownik
Skąd: Żory
Zarejestrowany: 2004-10-25

Re: BiExi i inni mądrzy - pomocy

troche niejasno opisales swoj problem, na dodatek nie wkleiles tego co "uruchanmiasz". ponadto musisz zrozumiec ze iptables NIE jest narzedziem do kolejkowania, a jedynie moze ulatwic ci "rozróżnianie" pakietow. do kolejkowanie wykorzystujesz  traffic control ( popularne tc ).

wklej swoje kolejki (czyli polecenia zaczynajace sie od tc ) i reguły firewall ( czyli te z iptables) i potem mozemy je dalej analizowac.


Nie ma nie idzie... jest nie umiem.

Offline

 

#3  2007-04-27 09:50:00

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: BiExi i inni mądrzy - pomocy

ja proponuje zrobic tak, wywalic skrypt z init.d i reset kompa, nastepnie uruchomic z palca kolejkowanie a pozniej pomalu zmieniac wartosci najpierw dla lan a pozniej dla wyjsciowego interfejsu


LRU #480459

Offline

 

#4  2007-04-27 16:50:57

  piachu2 - Użytkownik

piachu2
Użytkownik
Zarejestrowany: 2007-04-21

Re: BiExi i inni mądrzy - pomocy

Za mało informacji - to prawda, przepraszam.
Dlatego zwracałem się do BiExi bo to jej skrypty.

Udostepnianie: http://www.dug.net.pl/texty/masq.php
i kolejka  http://www.dug.net.pl/texty/htb.php

Na końcu tekstu są  pliki które rozpakowałem i uruchomiłem.

Jak wróce z roboty to podeślę więcej informacji.
Dzięki

Offline

 

#5  2007-04-27 20:21:26

  piachu2 - Użytkownik

piachu2
Użytkownik
Zarejestrowany: 2007-04-21

Re: BiExi i inni mądrzy - pomocy

Wracam do mojego problemu.
firewall:
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


No i ta nieszczęsna koleja:

#!/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";


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, mam tylko komunikat:
iptables: Chain already exists
A wcześniej ładnie podawał komunikaty o tym co komu przydzielił,

iptables wygląda tak:

# 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 ACCEP
T
-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


MAC'i są obcięte przezmnie

Pozdrawiam
Krzysztof

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)