Gå til innhold

TorS

Medlemmer
  • Innlegg

    150
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av TorS

  1. Dette er noe du gjør en gang, ja, for å få tak i Drakefire Amulet, noe som gjør at du kan komme inn til Onyxia's Lair.

     

    Men det er ikke nok med bare å eskortere en fyr...

    - Først må du ta en quest i Burning Steppes, som eventuelt leder til å finne Marshal Windsor i Blackrock Depths.

    - Så må du få tak i et random drop av mobs i Blackrock Depths

    - Deretter må du snakke med Windsor igjen, for så å drepe to bosser i Blackrock Depths

    - Nå kommer vi til eskorteringsbiten, der du må hjelpe han ut av Blackrock.

    - Enda en eskorteringsquest følger, der du skal eskortere han gjennom hele Stormwind, og hjelpe til da alle vaktene rundt kongen blir til svinbarske drager.

    - Deretter fører questlinja deg til Winterspring, der du må løpe gjennom ei hule full av drager for å få en ny quest

    - Denne questen krever at du må drepe generalen i Blackrock Spire

    - Etter du har gjort dette, må du gjennom den samme hula som i stad, for å levere questen, og da skal du få Drakefire Amulet, som gjør at du skal kunne komme inn til Onyxia.

  2. Molten Core er det bare å valse rett inn i.. Du må riktignok gjennom Blackrock Depths første gangen, men du kan gjøre en quest så du blir teleportert rett inn dit neste gang.

     

    Når det gjelder Onyxia er det en ganske lang quest-rekke, som blant annet innebærer å eskortere en fyr ut fra Blackrock Depths, gå gjennom ei hule befolket av 60+ level drager, og drepe generalen i Blackrock Spire... Enjoy ;)

  3. Da prøvde jeg meg på litt inngående trafikkontroll, men det gikk ikke så bra...

    Den andre delen av scriptet jeg pasta i første post handler om inngeånde trafikkontroll, men det krevest tydeligvis en device som jeg ikke har, imq0. Jeg får da feilmelding da jeg prøver å kjøre scriptet om at denne ikke eksisterer.

     

    Fra det jeg har skjønt rundt på nettet er dette en virtuell device, og jeg fant ei side jeg i teorien skulle kunne laste ned det jeg trengte, men der fungerte ikke linken.

     

    IMQ-Device: http://luxik.cdi.cz/~patrick/imq/

     

    Det jeg lurer på da er om jeg faktisk behøver dette for å begrense inngående trafikk, eller om det er mulig på samme måten som å begrense utgående trafikk? Jeg er en nybegynner innen tc, og setter pris på om noen kunne ha forklart meg dette.

     

    EDIT:

    Only one qdisc may be the

    root. Alternatives are "ingress" (for when a packet comes in) and "parent

    CLASS" (which is specifying the parent of this qdisc)

     

    Betyr dette at jeg kan begrense download ved å lage en ingress til en device?

  4. Jeg tenkte på det alternativet, og skal se nærmere på det snart... Er det isåfall noen måte å begrense downloadhastigheten uten å kaste vekk så mange gode pakker? Kan du gjøre det uten å måtte la routeren droppe pakker til halvparten av den egentlige båndbredda eller noe? Kan jeg lure de jeg laster ned fra til at jeg har en litt tregere linje ved å holde tilbake svarpakker eller noe?

  5. Vi har gått til anskaffelse av IPTelefoni, men er også interesserte i å bruke telefonlinja til andre ting. På grunn av en begrenset upload-hastighet, tenkte jeg at det burde gå å sette opp en router med trafikk kontroll for å prioritere telefonen når den var i bruk. Planen var da å kunne laste ned selv om telefonen ringte og enda få til å snakke der. Routeren skulle i teorien da gjøre så telefonen tok all den båndbredda den behøvde, og resten ble fordelt jevnt blant de andre prosessene som behøvde det. Jeg sitter på en 1024/128 ADSL-linje, så ip-telefonien skal i teorien ta opp store deler av uploaden når den er i bruk...

     

    Jeg fulgte en howto om båndbreddebegrensning, men det virker ikke helt som planlagt. Jeg skjønner ikke helt hva jeg har gjort feil, så jeg håper noen av dere kan hjelpe meg med problemet.

     

    Jeg satte opp en router bak adsl-modemet vårt som skulle styre all trafikk inn og ut. Jeg satte den opp til å forwarde all trafikk innenfra, og det skulle være ganske greit. I howtoen jeg refererer til ovenfor fant jeg et script som skulle gjøre det jeg vil.

    #!/bin/bash
    #
    # myshaper - DSL/Cable modem outbound traffic shaper and prioritizer.
    #            Based on the ADSL/Cable wondershaper (www.lartc.org)
    #
    # Written by Dan Singletary (8/7/02)
    #
    # NOTE!! - This script assumes your kernel has been patched with the
    #          appropriate HTB queue and IMQ patches available here:
    #          (subnote: future kernels may not require patching)
    #
    #       http://luxik.cdi.cz/~devik/qos/htb/
    #       http://luxik.cdi.cz/~patrick/imq/
    #
    # Configuration options for myshaper:
    #  DEV    - set to ethX that connects to DSL/Cable Modem
    #  RATEUP - set this to slightly lower than your
    #           outbound bandwidth on the DSL/Cable Modem.
    #           I have a 1500/128 DSL line and setting
    #           RATEUP=90 works well for my 128kbps upstream.
    #           However, your mileage may vary.
    #  RATEDN - set this to slightly lower than your
    #           inbound bandwidth on the DSL/Cable Modem.
    #
    #
    #  Theory on using imq to "shape" inbound traffic:
    #
    #     It's impossible to directly limit the rate of data that will
    #  be sent to you by other hosts on the internet.  In order to shape
    #  the inbound traffic rate, we have to rely on the congestion avoidance
    #  algorithms in TCP.  Because of this, WE CAN ONLY ATTEMPT TO SHAPE
    #  INBOUND TRAFFIC ON TCP CONNECTIONS.  This means that any traffic that
    #  is not tcp should be placed in the high-prio class, since dropping
    #  a non-tcp packet will most likely result in a retransmit which will
    #  do nothing but unnecessarily consume bandwidth.  
    #     We attempt to shape inbound TCP traffic by dropping tcp packets
    #  when they overflow the HTB queue which will only pass them on at
    #  a certain rate (RATEDN) which is slightly lower than the actual
    #  capability of the inbound device.  By dropping TCP packets that
    #  are over-rate, we are simulating the same packets getting dropped
    #  due to a queue-overflow on our ISP's side.  The advantage of this
    #  is that our ISP's queue will never fill because TCP will slow it's
    #  transmission rate in response to the dropped packets in the assumption
    #  that it has filled the ISP's queue, when in reality it has not.
    #     The advantage of using a priority-based queuing discipline is
    #  that we can specifically choose NOT to drop certain types of packets
    #  that we place in the higher priority buckets (ssh, telnet, etc).  This
    #  is because packets will always be dequeued from the lowest priority class
    #  with the stipulation that packets will still be dequeued from every
    #  class fairly at a minimum rate (in this script, each bucket will deliver
    #  at least it's fair share of 1/7 of the bandwidth).  
    #
    #  Reiterating main points:
    #   * Dropping a tcp packet on a connection will lead to a slower rate
    #     of reception for that connection due to the congestion avoidance algorithm.
    #   * We gain nothing from dropping non-TCP packets.  In fact, if they
    #     were important they would probably be retransmitted anyways so we want to
    #     try to never drop these packets.  This means that saturated TCP connections
    #     will not negatively effect protocols that don't have a built-in retransmit like TCP.
    #   * Slowing down incoming TCP connections such that the total inbound rate is less
    #     than the true capability of the device (ADSL/Cable Modem) SHOULD result in little
    #     to no packets being queued on the ISP's side (DSLAM, cable concentrator, etc).  Since
    #     these ISP queues have been observed to queue 4 seconds of data at 1500Kbps or 6 megabits
    #     of data, having no packets queued there will mean lower latency.
    #
    #  Caveats (questions posed before testing):
    #   * Will limiting inbound traffic in this fashion result in poor bulk TCP performance?
    #     - Preliminary answer is no!  Seems that by prioritizing ACK packets (small <64b)
    #       we maximize throughput by not wasting bandwidth on retransmitted packets
    #       that we already have.
    #   
    
    # NOTE: The following configuration works well for my 
    # setup: 1.5M/128K ADSL via Pacific Bell Internet (SBC Global Services)
    
    DEV=eth0
    RATEUP=90
    RATEDN=700  # Note that this is significantly lower than the capacity of 1500.
               # Because of this, you may not want to bother limiting inbound traffic
               # until a better implementation such as TCP window manipulation can be used.
    
    # 
    # End Configuration Options
    #
    
    if [ "$1" = "status" ]
    then
           echo "[qdisc]"
           tc -s qdisc show dev $DEV
           tc -s qdisc show dev imq0
           echo "[class]"
           tc -s class show dev $DEV
           tc -s class show dev imq0
           echo "[filter]"
           tc -s filter show dev $DEV
           tc -s filter show dev imq0
           echo "[iptables]"
           iptables -t mangle -L MYSHAPER-OUT -v -x 2> /dev/null
           iptables -t mangle -L MYSHAPER-IN -v -x 2> /dev/null
           exit
    fi
    
    # Reset everything to a known state (cleared)
    tc qdisc del dev $DEV root    2> /dev/null > /dev/null
    tc qdisc del dev imq0 root 2> /dev/null > /dev/null
    iptables -t mangle -D POSTROUTING -o $DEV -j MYSHAPER-OUT 2> /dev/null > /dev/null
    iptables -t mangle -F MYSHAPER-OUT 2> /dev/null > /dev/null
    iptables -t mangle -X MYSHAPER-OUT 2> /dev/null > /dev/null
    iptables -t mangle -D PREROUTING -i $DEV -j MYSHAPER-IN 2> /dev/null > /dev/null
    iptables -t mangle -F MYSHAPER-IN 2> /dev/null > /dev/null
    iptables -t mangle -X MYSHAPER-IN 2> /dev/null > /dev/null
    ip link set imq0 down 2> /dev/null > /dev/null
    rmmod imq 2> /dev/null > /dev/null
    
    if [ "$1" = "stop" ] 
    then 
           echo "Shaping removed on $DEV."
           exit
    fi
    
    ###########################################################
    #
    # Outbound Shaping (limits total bandwidth to RATEUP)
    
    # set queue size to give latency of about 2 seconds on low-prio packets
    ip link set dev $DEV qlen 30
    
    # changes mtu on the outbound device.  Lowering the mtu will result
    # in lower latency but will also cause slightly lower throughput due 
    # to IP and TCP protocol overhead.
    ip link set dev $DEV mtu 1000
    
    # add HTB root qdisc
    tc qdisc add dev $DEV root handle 1: htb default 26
    
    # add main rate limit classes
    tc class add dev $DEV parent 1: classid 1:1 htb rate ${RATEUP}kbit
    
    # add leaf classes - We grant each class at LEAST it's "fair share" of bandwidth.
    #                    this way no class will ever be starved by another class.  Each
    #                    class is also permitted to consume all of the available bandwidth
    #                    if no other classes are in use.
    tc class add dev $DEV parent 1:1 classid 1:20 htb rate $[$RATEUP/7]kbit ceil ${RATEUP}kbit prio 0
    tc class add dev $DEV parent 1:1 classid 1:21 htb rate $[$RATEUP/7]kbit ceil ${RATEUP}kbit prio 1
    tc class add dev $DEV parent 1:1 classid 1:22 htb rate $[$RATEUP/7]kbit ceil ${RATEUP}kbit prio 2
    tc class add dev $DEV parent 1:1 classid 1:23 htb rate $[$RATEUP/7]kbit ceil ${RATEUP}kbit prio 3
    tc class add dev $DEV parent 1:1 classid 1:24 htb rate $[$RATEUP/7]kbit ceil ${RATEUP}kbit prio 4
    tc class add dev $DEV parent 1:1 classid 1:25 htb rate $[$RATEUP/7]kbit ceil ${RATEUP}kbit prio 5
    tc class add dev $DEV parent 1:1 classid 1:26 htb rate $[$RATEUP/7]kbit ceil ${RATEUP}kbit prio 6
    
    # attach qdisc to leaf classes - here we at SFQ to each priority class.  SFQ insures that
    #                                within each class connections will be treated (almost) fairly.
    tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10
    tc qdisc add dev $DEV parent 1:21 handle 21: sfq perturb 10
    tc qdisc add dev $DEV parent 1:22 handle 22: sfq perturb 10
    tc qdisc add dev $DEV parent 1:23 handle 23: sfq perturb 10
    tc qdisc add dev $DEV parent 1:24 handle 24: sfq perturb 10
    tc qdisc add dev $DEV parent 1:25 handle 25: sfq perturb 10
    tc qdisc add dev $DEV parent 1:26 handle 26: sfq perturb 10
    
    # filter traffic into classes by fwmark - here we direct traffic into priority class according to
    #                                         the fwmark set on the packet (we set fwmark with iptables
    #                                         later).  Note that above we've set the default priority
    #                                         class to 1:26 so unmarked packets (or packets marked with
    #                                         unfamiliar IDs) will be defaulted to the lowest priority
    #                                         class.
    tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20
    tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21
    tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 22 fw flowid 1:22
    tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 23 fw flowid 1:23
    tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 24 fw flowid 1:24
    tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 25 fw flowid 1:25
    tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 26 fw flowid 1:26
    
    # add MYSHAPER-OUT chain to the mangle table in iptables - this sets up the table we'll use
    #                                                      to filter and mark packets.
    iptables -t mangle -N MYSHAPER-OUT
    iptables -t mangle -I POSTROUTING -o $DEV -j MYSHAPER-OUT
    
    # add fwmark entries to classify different types of traffic - Set fwmark from 20-26 according to
    #                                                             desired class. 20 is highest prio.
    iptables -t mangle -A MYSHAPER-OUT -p tcp --sport 0:1024 -j MARK --set-mark 23 # Default for low port traffic 
    iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 0:1024 -j MARK --set-mark 23 # "" 
    iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 20 -j MARK --set-mark 26     # ftp-data port, low prio
    iptables -t mangle -A MYSHAPER-OUT -p tcp --dport 5190 -j MARK --set-mark 23   # aol instant messenger
    iptables -t mangle -A MYSHAPER-OUT -p icmp -j MARK --set-mark 20               # ICMP (ping) - high prio, impress friends
    iptables -t mangle -A MYSHAPER-OUT -p udp -j MARK --set-mark 21                # DNS name resolution (small packets)
    iptables -t mangle -A MYSHAPER-OUT -p tcp --dport ssh -j MARK --set-mark 22    # secure shell
    iptables -t mangle -A MYSHAPER-OUT -p tcp --sport ssh -j MARK --set-mark 22    # secure shell
    iptables -t mangle -A MYSHAPER-OUT -p tcp --dport telnet -j MARK --set-mark 22 # telnet (ew...)
    iptables -t mangle -A MYSHAPER-OUT -p tcp --sport telnet -j MARK --set-mark 22 # telnet (ew...)
    iptables -t mangle -A MYSHAPER-OUT -p ipv6-crypt -j MARK --set-mark 24         # IPSec - we don't know what the payload is though...
    iptables -t mangle -A MYSHAPER-OUT -p tcp --sport http -j MARK --set-mark 25   # Local web server
    iptables -t mangle -A MYSHAPER-OUT -p tcp -m length --length :64 -j MARK --set-mark 21 # small packets (probably just ACKs)
    iptables -t mangle -A MYSHAPER-OUT -m mark --mark 0 -j MARK --set-mark 26      # redundant- mark any unmarked packets as 26 (low prio)
    
    # Done with outbound shaping
    #
    ####################################################
    

     

    Jeg modifiserte scriptet så det skulle markere pakker som kom fra telefonens addresse som 20, og endret litt på prioriteringen ellers. Det virker som om telefonen får litt mer båndbredde, men det er tydeligvis ikke nok, for det er fortsatt veldig hakkete å snakke i den hvis noen laster ned.

     

    Jeg vet jeg ikke begrenser downloaden, men jeg mener at det er uploaden som er problemet. Høres det jeg har gjort her helt galt ut? Er jeg inne på noe, men mangler bare den siste finishen for at det virkelig skal fungere? Eller må jeg trå til og begrense downloaden og, for at dette skal ha en sjanse til å virke?

  6. Det kommer litt an på hvilket operativsystem du kjører på dem ;)

    Men du må bruke et program som gjør deg i stand til å fjernstyre pcene, som f.eks. VNC. Du må også forwarde porter fra modemet/routeren din til de aktuelle pcene.

     

    Når det gjelder hvilken addresse maskinene dine får spiller det ikke så stor rolle, bare de er på samme subnett som resten av nettverket ditt, og at de holder seg innenfor de private ip-addressene, f.eks. 192.168.x.x som du allerede har.

  7. skal prøve meg frem litt mer, men finnes det enn lettere måte. Vil bare få det til som f.eks her.  Sånn at bare teksten loades hver gang.  Ikke bilde osm er på toppen og menyen.

    Det er nå php og include han har brukt der...

    Jeg har ikke lest hele artikkelen til jorgis, men jeg regner med at det står godt forklart der, bare du investerer litt tid på prosjektet, og setter deg ned for å lese den.

     

    Det er også mulig å bruke frames til det forsåvidt, men det er ikke den anbefalte metoden. Det er vel flere grunner til det, men de finner du sikkert mange andre steder her, så jeg skal ikke liste opp noe her ;)

  8. Jeg kan vel iallfall peke deg i riktig retning :)

     

    bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]])

    For å sende en mail må du altså bruke mail funksjonen.

     

    Du kan hente det brukerene skriver i formen ved å bruke f.eks. $_POST['etternavn'] eller $_POST['Email']. Da kan du legge inn disse variablene i mail-funksjonen for å få den til å vise hva du vil. Mer har jeg ikke tid til akkurat nå, men lykke til på veien ;)

  9. Du kan legge til noen nyheter på forsiden, som du kan oppdatere via nettleseren. Så du og andre som driver siden kan logge seg inn og legge inn nyheter. Det kan du prøve å få til. Gjerne da i sammenheng med en database, hvis du har tilgang til det, for det er alltid kjekt å kunne.

     

    Kanskje du kan lage en kalender der det kommer informasjon om ting dere gjør? Som selvsagt skal kunne oppdateres ved å logge inn på siden :)

  10. Hvis du bruker passive mode må du huske på at de kobler seg til serveren på en tilfeldig port over 1024, dersom du ikke spesifiserer noe annet til selve serveren. Jeg kjører fint en ftp-server med passive mode, der jeg har satt at den skal bruke porter mellom 1500 og 1550, og forwarder disse portene til serveren. Når det gjelder aktiv mode, så brukes vel port 20 som data-port, så da må du forwarde den til serveren...

  11. Fungerer ftp til andre sider da?

    Bruker du aktiv eller passiv ftp?

    Du har ingen brannmur internt på maskina som sperrer for noen ftp-trafikk?

     

    FTP bruker port 20 for dataoverføring med passiv ftp, og noen tilfeldige porter over 1024 for overføring ved passiv ftp. Port 21 er alltid kontrollporten, men det ser ikke ut som om du sperrer noen av dem (Ved å se gjennom bildet ditt raskt ;))

  12. Hvis du har en switch mellom dem må du bruke to vanlige kabler, ellers holder det med en krysset kabel fra nettverkskort til nettverkskort.

     

    Du trenger heller ikke DHCP for to maskiner, det er lettere å sette addressene manuelt. Du kan f.eks. sette den ene som 192.168.0.1 og den andre som 192.168.0.2 med 255.255.255.0 som nettverksmaske.

  13. Htmlen din var riktig, men det var noe smårusk i php'en, selv om du har fått med deg det viktigste ;)

     

    Du kan gjøre det med if/else, som du har prøvd på:

    if ($ovelse == "femtifri")
      $wr = 2129;
    elseif ($ovelse == "hundrefri")
      $wr = 4700;

    Det jeg endret på her, var gåseøynene rundt femtifri og hundrefri, og jeg gjorde den andre if-setningen om til elseif. Det fungerer vel forsåvidt med flere individuelle if-setninger, men dette mener jeg vil bli den riktigste måten. Grunnen til at jeg satt på gåseøyne var at "femtifri" er tekst. Hadde du sjekket om det var et tall, kunne du gjort det uten gåseøyne.

     

    En annen, og kanskje lettere mulighet er å bruke en switch-setning:

    switch ($ovelse) {
     case "femtifri":
         $wr = 2129;
         break;
      case "hundrefri:
         $wr = 4700;
         break;
    }

     

    Den er egentlig lik det forrige eksempelet, bare at du slipper å skrive så mye for hvert alternativ. Særlig når du har mange alternativer lønner det seg med switch fremfor if ;)

×
×
  • Opprett ny...