logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak skonfigurować podział zadań między WiFi a LAN dla HTTP i P2P?

k0niu 22 Mar 2007 21:44 4508 10
  • #1 3708478
    k0niu
    Poziom 23  
    Posty: 825
    Ocena: 38
    Mam u siebie w domu sieć LAN założoną jakiś czas temu, kiedy to jeszcze nie było opcji darmowej radiówki z Rzeszowie. Jako, że mieszkam na 10 piętrze sygnał jest silny i mam możliwość wyboru spośród kilku HotSpot'ów, ale nie o to chodzi - mianowicie w tym komputerze o którym chcę teraz powiedzieć, mam internet z dwóch źródeł - dostawca kablowy - płacę abonament, bez ograniczenia portów i sieć darmowa - radiowa - ograniczenia portów, ale za to dostęp 24h (bo drugi komp chodzi raczej sporadycznie)

    Pytanie polega na tym, czy jest możliwość, aby na przykład http było obsługiwane przez wifi, a p2p przez LAN ??
  • #2 3709516
    miraz_dwp
    Poziom 13  
    Posty: 80
    Pomógł: 2
    wszystko można, postaw jakiś prosty serwerek, który w zależności od zapytania skieruje je na odpowiednie łącze, podłącz do niego kablówkę i wifi, udostępnij połączenie po domu np po kablu i sprawa załatwiona.

    ewentualnie może poczytaj o load balancing'u i routerach sprzętowych.
    Przykład:
    http://www.draytek.pl/?k=produkty&n=79

    pzdr
  • #3 3709947
    k0niu
    Poziom 23  
    Posty: 825
    Ocena: 38
    a czy jest możliwość zrobienia tego z poziomu komputera a nie serwera?? chodzi mi o brak kosztów i możliwie małe obciążenie systemu.
  • #4 3710328
    miraz_dwp
    Poziom 13  
    Posty: 80
    Pomógł: 2
    jasne że jest, ale na linuxie. więc jak myślę to rozwiązanie odpada. zobacz sobie router, link wyżej. w sumie to chyba najtańszy pomysł na sieć w domu, poza tym plusy - nie obciążasz pracą jednego kompa i na obydwu kiedy chcesz masz neta niezależnie, a kto wie czemu i trzeciego nie podpiąć do tego... ;)

    pzdr
  • #5 3710497
    k0niu
    Poziom 23  
    Posty: 825
    Ocena: 38
    linux.....

    Nie orientuje się ktoś jak zrobić coś takiego w Ubuntu ??
  • #6 3710516
    gothye
    Poziom 33  
    Posty: 2421
    Pomógł: 183
    Ocena: 60
    ubuntu to tez linux :D

    W poniższym artykule pragnę opisać sposób podłączenia do serwera 2 niezależnych łacz
    i podział w taki sposób aby na jednym były strony www, komunikatory itd. a na 2 reszta
    ruchu czyli p2p, ftp (to co najbardziej zapycha łacze).
    Na początku trzeba skompilować jądro zaznaczając opcje(szczerze powiedziawszy
    najlepiej zaznaczyc prawie wszystkie, ale na stałe, a nie jako moduły):

    <*> Netlink device emulation
    TCP/IP networking
    IP: multicasting
    IP: advanced router
    IP: policy routing
    IP: use netfilter MARK value as routing key
    IP: fast network address translation
    IP: equal cost multipath
    IP: use TOS value as routing key
    IP: verbose route monitoring
    IP: kernel level autoconfiguration
    <*> IP: tunneling
    <*> IP: GRE tunnels over IP
    <*> DECnet Support
    DECnet: SIOCGIFCONF support
    DECnet: router support (EXPERIMENTAL)
    DECnet: use FWMARK value as routing key (EXPERIMENTAL)

    w QoS and/or fair queueing ---> tez przydało by się zaznaczyć najlepiej wszystko :)
    Następnie trzeba zainstalować programik iproute2 :) nie będe opisywał tego procesu bo
    każdy powinien dać sobie z tym radę
    Gdy juz iproute2 i kernel są, gotowe należy do jakiegos pliku startowego dopisać:

    /etc/iproute2/rt_tables:

    200 N1
    201 N2

    i do jakiegoś pliku startowego (np. /etc/rc.d/rc.local) skrypt:

    #!/bin/bash
    echo "Ładuję zmienne"
    IF0=eth0-siec lokalna
    IF1=eth1-1 lacze
    IF2=eth2-2 lacze
    IP1=IP_1_LACZA
    IP2=IP_2_LACZA
    P1=GATEWAY_1_LACZA
    P2=GATEWAY_2_LACZA
    P0_NET=192.168.1.0/24
    P1_NET=adres_sieci/prefix
    P2_NET=adres_sieci/prefix
    ip route add $P1_NET dev $IF1 src $IP1 table N1
    ip route add $P2_NET dev $IF2 src $IP2 table N2
    ip route add $P1_NET dev $IF1 src $IP1
    ip route add $P2_NET dev $IF2 src $IP2
    ip route add default via $P1
    ip rule add from $IP2 table N2
    ip rule add from $IP1 table N1
    ip route add $P0_NET dev $IF0 table N1
    ip route add $P2_NET dev $IF2 table N1
    ip route add 127.0.0.0/8 dev lo table N1
    ip route add $P0_NET dev $IF0 table N2
    ip route add $P1_NET dev $IF1 table N2
    ip route add 127.0.0.0/8 dev lo table N2
    ip route add default via $P1 table N1
    ip route add default via $P2 table N2
    ip route flush cache
    


    Po takim zabiegu należy zrobić reboot.
    Następnie sprawdzić wystukując komendy:
    ip route show i ip rule show
    jeśli wygląda to tak:

    83.16.170.120/30 dev eth1 proto kernel scope link src 83.16.170.122
    83.16.22.168/29 dev eth2 proto kernel scope link src 83.16.22.170
    192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.1
    127.0.0.0/8 dev lo scope link
    default via 83.16.170.121 dev eth1 metric 1
    
    i tak:
    0: from all lookup local
    32764: from 83.17.170.122 lookup N1
    32765: from 83.16.22.170 lookup N2
    32766: from all lookup main
    32767: from all lookup default
    Znaczy ze wszystko jest ok i można przejść do dalszej konfiguracji :)
    Instalujemy najpierw proxy (squid). Może być z paczki.
    .. dopisujemy do pliku (najczęściej /etc/squid/squid.conf)
    tcp_outgoing_address IP_LACZA_NA_KTORYM_MA_DZIALAC_SQUID
    udp_outgoing_address IP_LACZA_NA_KTORYM_MA_DZIALAC_SQUID
    Można rownież ograniczyć zakres portów które ma obsługiwać squid:
    acl SSL_ports port 443 563 1550
    acl Safe_ports port 80 443
    
    Zapisujemy zmiany i odpalamy squid.
    Nastepnie nalezy zrobic transparent proxy dla np. www
    iptables -t nat -A PREROUTING -i eth0 -p tcp ! -d 192.168.1.0/24 --dport 80 -j DNAT --
    to 192.168.1.1:8080
    
    Co sprawi ze wszystkie połączenia z sieci lokalnej na porcie 80 beda "przeżucane" na
    proxy a tym samym na 2 łącze :).
    I to chyba na tyle :) Do transparent proxy mozna dopisać inne usługi (ja miałem problem
    z https ftp i poczta).
  • #7 3710586
    k0niu
    Poziom 23  
    Posty: 825
    Ocena: 38
    problem pojawia się taki - łącze wifi to RESMAN, wymaga podania numeru pin przy każdym połączeniu, i nie może na nim być odpalone p2p, a drugie łącze to jest LAN na którym może chodzić wszystko, ale za to jest dostępne raczej nieregularnie i żadko, tak wiec chciałbym zrobić coś w stylu, aby na LAN chodziło wszystko poza http i komunikatorami, ale tylko jak jest dostępne i do tego aby nie chodziło z pełną prędkością, tylko na przykład 256 Kb (polowa tego łącza) , w innym wypadku, aby wszystko było obsługiwane przez wifi (oczywiscie poza p2p). I jeszcze czy jest możliwość zrobienia tego pod środowiskiem dla ludzi leniwych i idących na łatwiznę, na przykład za pomocą jakiegoś programu. (czyt. Łindołs)
  • #8 3711194
    mbo
    VIP Zasłużony dla elektroda
    Posty: 19691
    Pomógł: 2333
    Ocena: 845
    Jest możliwe - poczytaj w starych postach o sposobie z użyciem serwera proxy i statycznego routingu.
  • #9 3713087
    k0niu
    Poziom 23  
    Posty: 825
    Ocena: 38
    a moze jakiś link do postu ?? wiem ze jest cos takieg jak opcja szukaj, ale juz probowalem :)
  • #10 3714851
    mapek_sz
    Poziom 21  
    Posty: 490
    Pomógł: 20
    Ocena: 10
    Kolega Gothey dobrze ci napisał. Mozna dołozyc skrypt w bashu któren sprawdza któro połączenie jest aktywne i uruchamia odpowiednią usługe. Ja osobiście to bym zrobił na kolejkach dla portów i filtrach...ale to już inna bajka.
    Jak ci sie nudzi i masz dużo wolnego czasu to zrób to na windzie. Bedziesz miał przy czym grzebać. Na linuxie zrobisz i zapomniesz o tym.
    Fakt że troche więcej pracy...ale święty spokój.
    pozdrawiam
  • #11 3715052
    gothye
    Poziom 33  
    Posty: 2421
    Pomógł: 183
    Ocena: 60
    skrypt podany przezemnie i tak musisz zaaplikować aby zbudować tablice routingu zeby system wiedział do kąd kierować ruch markowany przez iptables potem robisz sobie podział według usług ale jak na stacje dla osoby początkującej bedzie sukcesem stworzenie samej tablei routingu i markowanie pakietów ;)

    w windowsach jest jeszcze dosowy netsh (bardzo rozbudowane narzedzie do kontroli ruchu w windows ),ale pozostawiam Tobie lekture dokumentacji ,osobiscie wingrozów nielubie i omijam szerokim łukiem :D

Podsumowanie tematu

✨ Dyskusja dotyczy konfiguracji podziału ruchu sieciowego między dwa źródła internetu w domu: łącze kablowe (LAN) bez ograniczeń portów oraz radiowa sieć WiFi z ograniczeniami portów i wymogiem podawania PIN-u. Celem jest kierowanie ruchu HTTP i komunikatorów przez WiFi, a ruchu P2P i FTP przez LAN, z dodatkową kontrolą przepustowości LAN (np. ograniczenie do 256 Kb/s) oraz automatycznym przełączaniem na WiFi, gdy LAN jest niedostępne. Proponowane rozwiązania obejmują użycie serwera proxy z routingiem statycznym, load balancing na routerze sprzętowym (np. DrayTek), a także konfigurację na poziomie systemu operacyjnego Linux (Ubuntu) z wykorzystaniem zaawansowanych funkcji jądra, takich jak policy routing, iptables z markowaniem pakietów oraz kolejki QoS. Wskazano, że realizacja tego na Windows jest możliwa, ale bardziej skomplikowana i mniej wygodna, z narzędziem netsh do kontroli ruchu. Podkreślono, że rozwiązanie sprzętowe jest bardziej stabilne i nie obciąża komputera. Wskazano również na konieczność kompilacji jądra Linux z odpowiednimi opcjami sieciowymi oraz możliwość automatyzacji za pomocą skryptów bash monitorujących dostępność łączy i uruchamiających odpowiednie usługi.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA