Modyfikacja Default Gateway dla DHCP
|
rob_7 |
Dodano 14-05-2014 22:22
|
User
Posty: 63
Dołączył: 11/01/2012 19:18
|
Witam wszystkich.
Mam Tomato na routerze Netgear które rozdaje z DHCP adresy w mojej sieci. Pytanie proste: Czy da się wymusić żeby DHCP przydzielało bramę domyslną na inny ip niż serwer dhcp?
==========================================
freshtomato-RT-N18U-K26ARM-2024.3-AIO-64K-NOSMP
|
|
|
|
shibby |
Dodano 15-05-2014 12:20
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
jeżeli twój netgear nie robi za router (bramę), tylko działa jako bridge (WAN disabled) to wtedy DHPC przydziela taką bramę jaka jest wpisana w pole Gateway sekcji LAN.
Jeżeli natomiast twój netgear robi za router, to jaki jest powód wypychania klientom innej bramy domyślnej niż ma router?
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
rob_7 |
Dodano 15-05-2014 18:10
|
User
Posty: 63
Dołączył: 11/01/2012 19:18
|
Router na WAN ma podpięty modem 3G i do tego właśnie wyjścia dostają namiar wszyscy klienci. Sieć mam rozpiętą na 2 budynki mieszkalne połączone transparentnym mostem WiFi point-to-point. W drugim domu jest prosty router TP-Link z wyłączonym DHCP i klienci do niego podpięci dostają IP z mojego Netgear-a. Ale w drugim budynku jest także stare łącze radiowe, które działa jak działa, ale nie ma limitu transferu. Ten AP jest wyciągnięty powyżej mojej sieci, bo z AP jest kabel do WAN TP-Linka.
No i teraz ja bym chciał, żeby Netgear domyślnie wskazywał jako bramę tego TP-Linka a on z kolei przez AP i radiówkę na świat. Łebki sobie będą oglądać Youtube itp. A z kolei ja świadomie w niektórych urządzeniach będę miał bramę ustawioną na Netgear-a i modem 3G.
Nam nadzieję że w miarę zrozumiale to opisałem
==========================================
freshtomato-RT-N18U-K26ARM-2024.3-AIO-64K-NOSMP
|
|
|
|
lookaka |
Dodano 16-05-2014 13:42
|
User
Posty: 94
Dołączył: 04/10/2007 20:05
|
Administration/Scripts/Firewall:
modprobe ipt_ROUTE
iptables -A FORWARD -t mangle -s "adres_łebka" -j ROUTE --gw "adres_innej_bramy" #Twój_komentarz
Efekt będzie taki, że "łebek" mimo, że dostanie IP z Twojego routera to na świat będzie wychodził przez inną bramę.
Przykładowe założenia:
Adres Twojego DHCP/bramy: 192.168.1.1
Adres routera z wolnym łączem: 192.168.1.100
Adres "łebka": 192.168.1.20
Wtedy skrypt wyglądałby tak:
modprobe ipt_ROUTE
iptables -A FORWARD -t mangle -s 192.168.1.20 -j ROUTE --gw 192.168.1.100 #Twój_komentarz
Możesz zamiast "adres_łebka" użyć zakresu adresów lub adresu/maski dla określenia większej grupy przekierowywanych hostów w jednej linii skryptu.
Ewentualnie jeśli "łebków" jest kilku możesz wypisać dla każdego osobną linię "IPTABLES -A(...)"
Wszystko powyżej pod warunkiem, że dobrze Cię zrozumiałem
Pozdrawiam |
|
|
|
hermes-80 |
Dodano 16-05-2014 13:59
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
A może coś w tym stylu: http://rpc.one.pl/index.php/lista-art...-przyklady
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
Kontrolny |
Dodano 16-05-2014 14:20
|
Super User
Posty: 560
Dołączył: 22/12/2012 16:16
|
Nie wiem, jaką kartę SIM masz wsadzoną w modem 3G, ale np. w iPlusie abonamentowym są obecnie taryfy, a których przeglądanie zwykłych stron i przeglądanie youtube jest bez limitu. Limit dotyczy tylko połączeń typu FTP, VPN, szyfrowanych, P2P itp.
--
Netgear R6300 v1 OFW :-o
Netgear WNR3500L v2 × 3
Tomato Firmware 1.28.0000 MIPSR2-121 K26 USB AIO
ReadyNAS Duo v1
|
|
|
|
rob_7 |
Dodano 17-05-2014 09:45
|
User
Posty: 63
Dołączył: 11/01/2012 19:18
|
Cytat lookaka napisał(a):
Administration/Scripts/Firewall:
modprobe ipt_ROUTE
iptables -A FORWARD -t mangle -s "adres_łebka" -j ROUTE --gw "adres_innej_bramy" #Twój_komentarz
Efekt będzie taki, że "łebek" mimo, że dostanie IP z Twojego routera to na świat będzie wychodził przez inną bramę.
Przykładowe założenia:
Adres Twojego DHCP/bramy: 192.168.1.1
Adres routera z wolnym łączem: 192.168.1.100
Adres "łebka": 192.168.1.20
Wtedy skrypt wyglądałby tak:
modprobe ipt_ROUTE
iptables -A FORWARD -t mangle -s 192.168.1.20 -j ROUTE --gw 192.168.1.100 #Twój_komentarz
Możesz zamiast "adres_łebka" użyć zakresu adresów lub adresu/maski dla określenia większej grupy przekierowywanych hostów w jednej linii skryptu.
Ewentualnie jeśli "łebków" jest kilku możesz wypisać dla każdego osobną linię "IPTABLES -A(...)"
Wszystko powyżej pod warunkiem, że dobrze Cię zrozumiałem
Pozdrawiam
Dobrze mi się wydaje, że w tym przypadku jeśli zrobię wpis w iptables dla wszystkich adresów rozdzielanych przez DHCP to mimo podania adresu na sztywno w konfiguracji karty i tak będzie mi kierował na bramę z iptables? Wtedy chęć podpięcia się pod modem 3G wiązałaby się z podaniem z łapy adresy spoza zasięgu DHCP?
==========================================
freshtomato-RT-N18U-K26ARM-2024.3-AIO-64K-NOSMP
|
|
|
|
lookaka |
Dodano 18-05-2014 03:41
|
User
Posty: 94
Dołączył: 04/10/2007 20:05
|
Znów niewiem czy dobrze rozumiem ale wywołany spróbuję odpowiedzieć
Na początek dla jasności:
- jeśli router z Tomato ma adres 192.168.1.1 to...
- możemy przy jego pomocy automatycznie przydzielać adresy od 2 do 254, i teraz...
- tzw. PULA (Basic/Network - LAN - DHCP Server - IP Address Range) to ograniczenie dla hostów aby pobierały adresy z wycinka wszystkich możliwych adresów (2-254) i pozwalamy np. na pobieranie tylko od 110 do 140)
- Static DHCP (Basic/ Static DHCP) - tutaj już możemy zaszaleć czyli przydzielić hostom każdy adres od 2 do 254 ale polecam w tym miejscu wstępną selekcję hostów czyli w Static DHCP nadajesz adresy NIE Z PULI - te się same nadadzą hostom o których zapomnisz lub których nie znasz - o korzyściach takiego rozwiązania na końcu)
Teraz na temat:
- jasne, że zakres adresów ujętych w skrypcie wychodzi przez wskazaną, inną bramę (w przykładzie *.1.100)
- ta brama (1.100) to router z wyłączonym DHCP - użyteczny tylko dla hostów, które tam specjalnie przekierujesz skryptem umieszczonym na routerze *.1.1)
- jasne, że adresy nie ujęte w skrypcie wychodzą przez domyślną bramę (w przykładzie *.1.1)
Czyli - tak! - wszystkie adresy z zakresu DHCP (przy założeniu, że cała przydzielana pula jest przekierowywana) lecą przez wskazaną w IPTABLES bramę (1.100)
I ponownie - tak! - jeśli chcesz wychodzić przez domyślną bramę (*.1.1) musisz posiadać adres spoza puli (bo przecież pula jest przekierowana) ALE... nie musisz podawać "z łapy" adresu spoza DHCP ponieważ w Static DHCP możesz "kulturalnie" przydzielić tym hostom inne adresy niż te ze zdefiniowanej puli. Nie biegasz wtedy po komputerach zmieniając ustawienia TCP na ręczne tylko robisz wszystko w routerze z Tomato (Basic/Static DHCP)
Dla jasności przykład:
- pula DHCP czyli "IP Address Range" np. od 1.110 do 1.140 (tu się łapią wszyscy nie ujęci w Static DHCP*)
- Static DHCP:
MAC XX.XX.XX.XX.XX.X0. -> 192.168.1.10
MAC XX.XX.XX.XX.XX.X1. -> 192.168.1.11
...
MAC XX.XX.XX.XX.XX.X2. -> 192.168.1.141
MAC XX.XX.XX.XX.XX.X3. -> 192.168.1.142
itd.
*)
Sam używam i zachęcam do rozwiązania które pozwala na wstępną selekcję hostów:
- masz wtedy grupę znanych hostów, którą się zająłeś "specjalnie" czyli dopisałeś do Static DHCP (ale adresy, które im przydzieliłeś są specjalnie spoza puli)
- masz też drugą grupę np. przypadkowych, nie opisanych stacji - i ta grupa dostaje adresy z puli "IP Address Range" (Basic/Network)
Możesz to wykorzystać na różne sposoby... np.:
- dla tych "przypadkowych" (110-140) dać właśnie inną bramę (wolniejsze lub szybsze łącze) lub ustalić im prędkość nawet jeśli wychodzą prze router z Tomato (do wykorzystania np. skrypt Robsona)
Powyższe zastosowanie Static DHCP i "IP Address Range" do rozróżniania hostów pewnie stosuję nie tylko ja więc zachęcam do eksperymentów
Pozdrawiam. |
|
|
|
rob_7 |
Dodano 18-05-2014 12:54
|
User
Posty: 63
Dołączył: 11/01/2012 19:18
|
No i to rozwiązanie mi się podoba, faktycznie stosuje teraz obydwa rozwiązania, ale static SHCP u mnie zawiera się w IP Address Range. Od dziś się to zmieni
Dzięki wielkie za pomoc!!
Połączony z 18 maj 2014 14:57:14:
Wrzuciłem coś takiego w logi i niestety ani mój komp nie wskazuje na inną bramę, anie nie widzę żadnego wpisu w IPTABLES
!#/bin/sh
modprobe ipt_ROUTE
iptables -A FORWARD -t mangle -s 192.168.109.20 -j ROUTE --gw 192.168.109.38 #test przekierowania
sleep 10
mkdir /tmp/mnt/storage
#pendrive opt i log
mount UUID="a1ba8270-aaa9-479e-bdd6-5b78b056a3f7" /opt
Edytowany przez rob_7 dnia 18-05-2014 14:57
==========================================
freshtomato-RT-N18U-K26ARM-2024.3-AIO-64K-NOSMP
|
|
|
|
lookaka |
Dodano 18-05-2014 22:01
|
User
Posty: 94
Dołączył: 04/10/2007 20:05
|
Dla jasności - po wpisaniu w Tomato skryptu w Administration/Scripts/Firewall musisz jakoś sprawić aby skrypt z tej zakładki się wykonał (albo klikasz w QoS i robisz Save lub z konsoli service qos restart albo restartujesz router - opcja najbardziej czasochłonna i niekonieczna)
Cytat Wrzuciłem coś takiego w logi i niestety ani mój komp nie wskazuje na inną bramę
Jeśli masz na myśli konfigurację TCP na Twoim kompie to słusznie, że nie wskazuje na inną bramę bo według tego co "myśli" Twój komp, ma on jedyną słuszną bramę - Tomato; a to, że później Twoje pakiety są kierowane od Tomato na inną bramę to już inna rzecz.
Cytat ani nie widzę żadnego wpisu w IPTABLES
iptables -n -t mangle --list
Po wydaniu powyższego polecenia ja znajduję mój wpis w sekcji
Chain FORWARD (policy ACCEPT)
U Ciebie powinna to być linia mniej więcej taka:
ROUTE 0 -- 192.168.109.20 0.0.0.0/0 ROUTE gw:192.168.109.38
Oczywiście dobrym testem jest sprawdzenie jak Cię widać na zewnątrz chociażby pod tym linkiem:
http://whatismyipaddress.com/
Zobacz do którego Twojego łącza należy adres tam prezentowany. |
|
|
|
rob_7 |
Dodano 19-05-2014 15:06
|
User
Posty: 63
Dołączył: 11/01/2012 19:18
|
Test zrobiłem bardzo prosty, bo dodałem wpis do firewall i zrestartowałem router. Następnie odpiąłem model 3g i sieci nie było, więc to całkiem dobry znak że nie przekierowuje na drugą bramę.
Poszukam dziś wieczorem tego wpisu w iptables.
==========================================
freshtomato-RT-N18U-K26ARM-2024.3-AIO-64K-NOSMP
|
|
|
|
lookaka |
Dodano 19-05-2014 15:37
|
User
Posty: 94
Dołączył: 04/10/2007 20:05
|
Cytat Test zrobiłem bardzo prosty, bo dodałem wpis do firewall i zrestartowałem router.
- rozumiem, że mowa o routerze z Tomato w którym jest wpisany omawiany skrypt?
Cytat Następnie odpiąłem model 3g i sieci nie było,
- gdzie tej sieci nie było?
- i czy masz na myśli, że nie było sieci czy że nie było dostępu do internetu na Twoim kompie (192.168.109.20)?
Cytat więc to całkiem dobry znak że nie przekierowuje na drugą bramę.
Według mnie wprost przeciwnie - jeśli w poprzednim zdaniu miałeś na myśli, że po restarcie Tomato nie było internetu na Twoim kompie (192.168.109.20) po odpięciu modemu 3G (czyli tego na który Cię Tomato przekierowuje) to moim zdaniem jest to dobry znak ale świadczący o tym, że Tomato Cię przekierowuje na drugą bramę. Gdyby nie przekierowywał to internet miałbyś z Tomato... a jeśli przekierowuje to poniekąd jest OK - nie masz internetu bo testowo wyłączyłeś drugą bramę na którą jesteś kierowany skryptem...
No chyba, że ja mylę Twoje urządzenia poniżej napiszę co mi się wydaje, że wiem:
- gdy piszesz router masz na myśli Netgeara z Tomato będącego serwerem DHCP z adresem 192.168.109.* (nie napisałeś chyba jaki ma adres) - i na nim odpalasz skrypt,
- gdy pisałeś "mode(l)m 3G" miałeś na myśli router z modemem 3G (nazywany tu drugą bramą) który ma adres 192.168.109.38 oraz wyłączony serwer DHCP,
edit:
Co do testów - sprawdź jeszcze jedną (dwie) rzeczy:
1. Stan BEZ SKRYPTU w Tomato (po restarcie dla pewności)
- puść z Twojego komputera tracert (np. tracert wp.pl)
Powinieneś mieć
- w pierwszym skoku Twój router z Tomato
- w drugim skoku będzie adres który Tomato ma na WANie czyli najpewniej jakiś publiczny,
1. Stan ZE SKRYPTEM w Tomato (po restarcie dla pewności)
- znów tracert wp.pl
Powinno być:
- w pierwszym skoku Twój router z Tomato,
- w drugim skoku powinien być lokalny adres "drugiej bramy" czyli 192.168.109.38
- w trzecim skoku dopiero jakiś publiczny uzyskany przez modem 3G,
Edytowany przez lookaka dnia 19-05-2014 15:48
|
|
|
|
rob_7 |
Dodano 19-05-2014 16:22
|
User
Posty: 63
Dołączył: 11/01/2012 19:18
|
Jest prawie tak jak myślisz:
1. Netgear z Tomato będąceg serwerem DHCP z adresem 192.168.109.15 - i na nim odpalam skrypt
2. Do Netgear jest podpięty modem 3G (pod USB bezpośrednio, dongiel) i on jest jako WAN przez który nie chce wychodzić
3. 192.168.109.38 to adres routera radiówki bez DHCP przez którą chce wychodzić
Jak dodam wpis:
modprobe ipt_ROUTE
iptables -A FORWARD -t mangle -s 192.168.109.20 -j ROUTE --gw 192.168.109.38 #test przekierowania
gdzie 192.168.109.20 to mój laptop.
Tracert daje:
1. 192.168.109.15
2. adres który dostaje tomato na WAN (czyli adres który dostaje modem 3G) drugim skokiem nie jest adres 192.168.109.38
==========================================
freshtomato-RT-N18U-K26ARM-2024.3-AIO-64K-NOSMP
|
|
|
|
lookaka |
Dodano 19-05-2014 16:55
|
User
Posty: 94
Dołączył: 04/10/2007 20:05
|
Teraz jasność :)
Narazie taki pomysł na szybko - może zamiast IPTABLES -A zrób IPTABLES -I - może wstawienie reguły na początku, zamiast dodanie na końcu, coś zmieni... |
|
|
|
rob_7 |
Dodano 19-05-2014 18:44
|
User
Posty: 63
Dołączył: 11/01/2012 19:18
|
Wykonałem z konsoli:
modprobe ipt_ROUTE
iptables -A FORWARD -t mangle -s 192.168.109.20 -j ROUTE --gw 192.168.109.38 #test przekierowania
I pojawił się wpis w iptables
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ROUTE all -- 192.168.109.20 0.0.0.0/0 ROUTE gw:192.168.109.38
Ale niestety tracert dalej pokazuje
PS C:\Users\robert> tracert www.wp.pl
Tracing route to www.wp.pl [212.77.100.101]
over a maximum of 30 hops:
1 1 ms 1 ms 2 ms 192.168.109.15
2 30 ms 41 ms 415 ms www.wp.pl [212.77.100.101]
Trace complete.
==========================================
freshtomato-RT-N18U-K26ARM-2024.3-AIO-64K-NOSMP
|
|
|
|
lookaka |
Dodano 19-05-2014 20:03
|
User
Posty: 94
Dołączył: 04/10/2007 20:05
|
Może Twój ruch rzeczywiście się łapie na jakąś inną regułę najpierw...
Spróbuj parametr iptables -I zamiast -A - przesuniesz regułę wcześniej - a nuż o to chodzi bo skoro jak już wiemy reguła się "przyjmuje" a nie działa to może o kolejność chodzi... |
|
|
|
rob_7 |
Dodano 19-05-2014 20:30
|
User
Posty: 63
Dołączył: 11/01/2012 19:18
|
Niestety dalej nic
Tracing route to www.wp.pl [212.77.100.101]
over a maximum of 30 hops:
1 1 ms 1 ms 1 ms 192.168.109.15
2 79 ms 37 ms 37 ms 10.9.216.201
3 52 ms 45 ms 47 ms 10.9.216.206
4 * * * Request timed out.
5 43 ms 67 ms 46 ms 10.9.217.13
6 * * 35 ms 10.9.219.1
7 53 ms 37 ms 47 ms 10.9.219.222
8 45 ms 37 ms 38 ms 213.158.195.53
9 35 ms 48 ms 48 ms rou20909cx-1-0-0.net.t-mobile.pl [213.158.198.158]
10 54 ms 57 ms 67 ms rou20909cw-1-2-0.net.t-mobile.pl [213.158.198.137]
11 54 ms 47 ms 48 ms wp.tpix.pl [195.149.232.110]
12 67 ms 107 ms 137 ms rtr4.rtr-int-1.adm.wp-sa.pl [212.77.96.73]
13 70 ms 47 ms 68 ms www.wp.pl [212.77.100.101]
Trace complete.
==========================================
freshtomato-RT-N18U-K26ARM-2024.3-AIO-64K-NOSMP
|
|
|
|
lookaka |
Dodano 20-05-2014 13:15
|
User
Posty: 94
Dołączył: 04/10/2007 20:05
|
Chwilowo nie mam pomysłu co dalej...
Poleciłem Ci takie rozwiązanie bo mam je sprawdzone (działa w kilku routerach) - wszystkie co prawda na WRT54GL z Tomato 1.28 z Polarcloud ale to pewnie nie ma większego znaczenia... (a może jednak ma ale nie wiem co specyficznego mogło by być w Twoim sofcie co by zakłócało działanie tego skryptu - może ktoś z czytających wątek zna różnicę albo będzie w stanie na podobnym sofcie jak Twój sprawdzić działanie takiego skryptu) |
|
|
|
rob_7 |
Dodano 27-05-2014 11:18
|
User
Posty: 63
Dołączył: 11/01/2012 19:18
|
Jakieś nowe pomysły się może komuś wykluły w międzyczasie?
==========================================
freshtomato-RT-N18U-K26ARM-2024.3-AIO-64K-NOSMP
|
|
|